python语法
shell,php,python关于定义变量和使用变量上不同:
定义 | 使用 | |
shell | var=0(等号左右不能有空格) | echo $var |
php | $var = 0 | echo $var |
python | var= 0 | print var |
参考的概念:(类似指针)
shoplist = ['apple', 'mango', 'carrot', 'banana'] mylist = shoplist # mylist is just another name pointing to the same object! mylist = shoplist[:] # make a copy by doing a full slice
python中特殊的方法:
名称 | 说明 |
---|---|
__init__(self,...) | 这个方法在新建对象恰好要被返回使用之前被调用。 |
__del__(self) | 恰好在对象要被删除之前调用。 |
__str__(self) | 在我们对对象使用print 语句或是使用str() 的时候调用。 |
__lt__(self,other) | 当使用 小于 运算符(<)的时候调用。类似地,对于所有的运算符(+,>等等)都有特殊的方法。 |
__getitem__(self,key) | 使用x[key] 索引操作符的时候调用。 |
__len__(self) | 对序列对象使用内建的len() 函数的时候调用。 |
列表综合:
#你有一个数的列表,而你想要得到一个对应的列表,使其中所有大于2的数都是原来的2倍。 listone = [2, 3, 4] listtwo = [2*i for i in listone if i > 2] print listtwo $ python list_comprehension.py [6, 8]
exec
语句用来执行储存在字符串或文件中的Python语句。
>>> exec 'print "Hello World"' Hello World
eval
语句用来计算存储在字符串中的有效Python表达式。
>>> eval('2*3') 6
lambad形式:
def make_repeater(n): return lambda s: s*n twice = make_repeater(2) print twice('word') print twice(5)
自省:
牛逼的getattr可以实现动态函数调用
posted on 2012-09-17 11:24 favourmeng 阅读(255) 评论(0) 编辑 收藏 举报