由于公司的服务器端用的是Python,所以决定抽点时间熟悉一下,也好在以后的工作中能和其他同事有比较好的配合。
我主要是把Python和其他语言(特别是Javascript和c#,因为我熟悉)一些不一样的特性列出来。
首先说一下对Python的大体印象,Python和Javascript一样是解释性的语言,也是弱类型的语言。同时也是面向对象的一种语言,一切皆是对象:甚至字符串,变量,函数,都是对象。Python的设计也非常酷,用起来很灵活,习惯使用Javascript的人,一定会爱上Python
没有大括号,靠缩进来控制代码块的开始与结束。语句结束不用分号,但一行中有多个语句,用分号隔开。 // 运算符和 ** 运算符 //特殊的除法运算(千万别以为是注释代码的,Python的代码注释用#),运算符对整型和浮点型都会取整。如:2.0//3.0=0 **是就幂,如:2**3 表示2的3次方。不等号有两种写法 != 和<>逻辑操作符的关键字是 and or not 三引号(三个连续的单引号或者双引号)中的特殊字符自动转义Python中没有数组,只有列表,但其特性跟js中的数组一样,也就是长度可变的数组。 列表可以用引号(:)来获取元素 如:a = [0,1,2,3] a[1:4] =[1,2,3] a[:3]=[0,1,2] a[1:] = [1,2,3]for 循环就相当于c#中的foreach ,有一个range函数来提供索引. #遍历数组 a = [1,2,3] for(item in a): print item #另外一个例子 for eachNum in range(3) print eachNum 这里 range(obj1,obj2)为内建函数。obj1不提供默认为0,obj2不提供默认为1,返回一个从obj1到obj2的数组可以多元赋值 x,y= 1,2 等价于 x=1 y=2 x,y = y,x 交换x和y的值(很好很强大,哈哈)布尔值为False的对象有 None(相当于js中的null),False,所有值为0的数,空字符串''(注:'0'为True),空元组(),空列表[],空字典{}多个比较操作符可以在同一行中进行 3<4<5 等同于(3<4 and 4<5)用 is 来判断两个变量是否指向同一个对象。 a is b 等同于id(a) is id(b) id()是获取对象的内存编号。但是要注意的是 Python为了提高性能会对整型和字符串类型进行缓存。但对浮点型不会。 例如 a =2 ;b = 2; a is b 返回True,a=2.0;b=2.0 a is b 返回False逻辑操作符的优先级 not 高于 and 高于 or几个标准内建函数 type(obj) 获取obj的类型,类似Javascript中的type of str(obj) 将obj 转换为 字符串类型 repr(obj)是奖obj 序列化,转换为字符串,但是可以通过eval()还原,所以obj == eval(repr(obj))与Javascript一样,Python 不支持方法和函数的重载(弱类型语言的特点)字符串和列表、元组统称为序列,可以进行 in 、not in、+、*操作 obj in seq 判断obj 元素是否包含在seq中,在返回True,不在返回False + 操作符可以把两个序列连接起来。 [1,2,3] +[4,5,6] == [1,2,3,4,5,6] * 操作符把一个序列拷贝多分。 [1,2]* 2 == [1,2,1,2]列表的下标可以是负数,负数标识从结束点往左找。 [1,2,3][-2]==2今天先到这里,未完待续
Copyright playgoogle.com© 2008
继续阅读《Python学习笔记(1)》的全文内容...
Python学习笔记(2) (2009-9-4 18:1:2)