1、安装Python
Linux/BSD:很爽,不用考虑安装,因为大多Linux/BSD系统都已安装好了Python,判断是否安装$Python -V
Windows:到Python上下载就是了,最新版3.1,不过建议下载3.01。安装跟普通程序安装没区别。
在系统变量中Path中添加Python的安装路径(如:C:\Python30)
2、Python的3.x系列不再向下对2.x系列的兼容
今天下载了Python3.01,发现最简单的一个hello world程序都无法通过,原来在3.X中print语句被相应print函数替代了,类似的还有exec语句,改为exec()函数。
按照Python的创始人Rossum说法:一直以来,除非要打破向后兼容性,否则很多缺陷和错误都无法修复。因此,Python 3000将会作为第一个放弃向后兼容性的Python版本,目的就是要让Python向着最好的语言前进。
具体可以看http://www.infoq.com/cn/news/2009/03/Python-3.0
3、Python 3.0的新特性
Guido说Python 3.0最出色的特性便是,“对Unicode的更好的支持,对各种'垃圾'进行清理”。而其中对unicode的全面支持则是变革的一个主要方面。Guido写到:
所有的文本都是Unicode;然而,编码过的Unicode的会以二进制的数据来表示…… 基于这个哲学来修改的结果是,只使用Unicode的代码清爽了许多,编码和二进制数据都需要为此做出修改。这个修改是正面的,因为在2.x的世界里,大量的bug都是因为以编码的文本和未编码的文本混杂在一起而产生的。
尽管Python 2.x也支持Unicode,但是它是通过一个(旧有的)str类型和一个(新的)unicode类型来实现的。在Python 3.0之中,所有的字符串都是unicode的(str就是unicode字符串),并引入了一个叫做bytes的新类型来处理字节序列。
Python 3.0的其他修改包括:
- Print是一个函数 ─ print语句已经被一个print()函数所替代。通过关键字参数来替代旧有print语句绝大多数的特殊语法(可以在Python 2.6中通过from __future__ import print_function来进行试验)。更多请参阅PEP 3105 ─ 让print变为函数。
- 用迭代器来替代列表 ─ 一些知名的API将不再返回列表。而字典的dict.iterkeys()、dict.itervalues()和dict.iteritems()方法将会移除,而你可以使用.keys()、.values()和.items(),它们会返回更轻量级的、类似于集合的容器对象,而不是返回一个列表来复制键值。这样做的优点是,可以直接在键和条目上进行集合操作,而不需要再复制一次。
- 整型数 ─ 移除了含糊的除法符号('/'),而只返回浮点数。在以前的版本中,如果参数是int或者是long的话,就会返回相除后结果的向下取整(floor),而如果参数是float或者是complex的话,那么就会返回相除后结果的一个恰当的近似。在2.6版本中可以通过from __future__ import division来启用这项特性。更多请参阅PEP 238 ─ 修改除法操作符。
- 大量的语法修改
4、字符串
自然字串 r"Hello world
5、Python shell 技巧
tab键 可以实现命令补全
在windows环境下 按 alt + p、alt + n 可以实现命令历史的向前向后浏览。
6、Python中一切都是对象
在 Python 中万物皆对象。字符串是对象。列表是对象。函数是对象。甚至模块也是对象。
7、Python的代码块
Python语法中有个比较特别的地方就是python的代码块,Python代码块(“代码块”是指:函数、if 语句、for 循环、while 循环,等等)是通过缩进来定义的。开始缩进表示块的开始,取消缩进表示块的结束。不像其他语言有明显的括号,大括号或关键字(如begin...end) 来指示,这意味着空白是重要的,并且要一致。
8、字符串的格式化
Python的字符串的格式化跟 C 类似,它甚至不仅仅是格式化。它也是强制类型转换。Python 中的字符串格式化是一把瑞士军刀。它有丰富的选项,不同的格式化格式符和可选的修正符可用于不同的数据类型。
>>> print "A: %-.3f" % 1.5
A: -1.500
9、连接 list 与分割字符串
join 只能用于元素是字符串的 list;它不进行任何的强制类型转换。连接一个存在一个或多个非字符串元素的 list 将引发一个异常。
anystring.split(delimiter, num)
10、几个有用的特别的函数
type 函数返回任意对象的数据类型。整型、字符串、列表、字典、元组、函数、类、模块,甚至类型对象都可以作为参数被 type 函数接受。
str 将数据强制转换为字符串。每种数据类型都可以强制转换为字符串。
dir 函数返回任意对象的属性和方法列表,包括模块对象、函数对象、字符串对象、列表对象、字典对象
callable 函数,它接收任何对象作为参数,如果参数对象是可调用的,返回 True;否则返回 False。可调用对象包括函数、类方法,甚至类自身。
等等。
11、Python自省
自省是指代码可以查看内存中以对象形式存在的其它模块和函数,获取它们的信息,并对它们进行操作。用这种方法,你可以定义没有名称的函数,不按函数声明的参数顺序调用函数,甚至引用事先并不知道名称的函数。
12、
mapping-expression_r for element in source-list if filter-expression_r]
输出:['a', 'b', 'c', 'b', 'd', 'd']
13、and 和 or 执行布尔逻辑演算,但是它们并不返回布尔值,而是返回它们实际进行比较的值之一。
例:>>> 'a' and 'b'
'b'
14、有趣的lambda 函数
lambda 函数是一种风格问题。不一定非要使用它们;任何能够使用它们的地方,都可以定义一个单独的普通函数来进行替换。在一种情况lambda函数是很有用的,即在需要特殊封装的、非重用的代码上,这样避免了代码充斥着大量单行函数。
例:>>> ge = lambda x,y=3: x+y
15、ljust 用空格填充字符串以符合指定的长度
例:
>>> s = 'abc'
>>> s.ljust(10)
'abc
16、在Python中没有switch语句。你可以使用if..elif..else语句来完成同样的工作(在某些场合,使用字典会更加快捷。)
17、关于for循环
在C/C++中,如果你想要写for (int i = 0; i < 5; i++),那么用Python,你写成for i in range(0,5)。似乎Python的for循环更加简单、明白、不易出错。
18、global语句可以定义全局变量
19、获取帮助:help(print)
20、if __name__ == '__main__':
'模块自身运行'
else:
'模块被其他模块调用'
21、引用模块方法
方法一:import 模块名
方法二:from 模块名 import 模块中的成员
最好采用
22、del
23、当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 参考 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。
记住列表的赋值语句不创建拷贝。你得使用切片操作符来建立序列的拷贝。
24、
Phper/Pythoner技术联盟群:13734312.
转载请注明出处,并告知。
1526

被折叠的 条评论
为什么被折叠?



