由于公司的服务器端用的是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函数来提供索引.
#遍历数组这里 range(obj1,obj2)为内建函数。obj1不提供默认为0,obj2不提供默认为1,返回一个从obj1到obj2的数组
a = [1,2,3]
for(item in a):
print item
#另外一个例子
for eachNum in range(3)
print eachNum - 可以多元赋值
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学习笔记(2) (2009-9-4 18:1:2)
最新评论:
- 2009-9-3 13:22:4,孤狗 : 总结的很精辟。我最近也在学python,读了你的博客,发现自己在学习过程中有遗漏的知识点,受益匪浅。希望续集快点放出!
- 2009-8-30 22:41:13,程路 : 换主题了,不错
也在关注Python,GAE提供有免费的Python空间,也不错~呵呵