标签:实用 lis 匿名 可迭代对象 protect 常用 表示 合成 元祖
在python2中,除法运算通常是截断除法。什么是截断除法:
>>> 3/4 0 # 自动忽略小数项
要是想 得到正确结果 怎么办呢?
method1:
>>> 3. /4 0.75 # 3. 表示 3.0, 表示的是浮点数
method2:
>>> from __future__ import division # 导入这个语句后, “/”此后均执行 精确除法 >>> 3/4 0.75 #精确除非 / >>> 3//4 0 # 截断除法 //
而在python3版本后, “/” 表示的除法就直接为 准确除法, “//” 表示的是 截断除法。
python 不像 java 由关键字(public, 默认,prtected,private)来控制方法和属性的访问权限。python中属性和方法的访问限制通过下划线来控制。
“单下划线”修饰的变量叫做保护变量(类似于java中的protected),表示只能由该类对象和子类对象才能访问到的变量; “双下划线”修饰的变量叫做私有变量(类似于java中的private),表示仅有该类对象才能访问,子类对象不能访问。
_coef = 0 #保护变量, 类对象和子类对象访问 __coef = 0 #私有变量, 只能类对象访问
# 格式: lambda [arguments]: expression # 匿名函数
# 格式: map(func, seq1[, seq2,...])
#第一个参数接收一个函数名(func),后面的参数接收一个或多个可迭代的序列,返回一个map对象(python3版本) 或 一个集合(python2版本)。
#作用: 将func作用于seq每一个元素
例:
# 仅有一个seq >>> list(map(lambda a: a**2, [1,2,3,4,5])) [1, 4, 9, 16, 25]
# 有多个seq >>> list(map(lambda a, b: a+b, [1,2,3],[4,5,6])) [5, 7, 9] >>> list(map(lambda a, b: (a-b, a+b), [1,2,3],[4,5,6])) #还可以返回一个元祖 [(-3, 5), (-3, 7), (-3, 9)]
# 格式: zip([iterable, ...]) # 两个或多个可迭代对象
>>> list(zip([1,2,3],[4,5,6],[7,8,9]))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
#格式: enumerate(seq, [start=num]) #seq - 一个可迭代的对象; start - 下标起始位点 #作用: 将一个可迭代的对象组合成一个索引序列,同时列出数据和数据的下标,一般用于for循环中。
例:
>>> lis1 = [‘one‘, ‘two‘, ‘three‘, ‘four‘, ‘five‘, ‘six‘] >>> list(enumerate(lis1)) [(0, ‘one‘), (1, ‘two‘), (2, ‘three‘), (3, ‘four‘), (4, ‘five‘), (5, ‘six‘)] >>> list(enumerate(lis1, start=2)) [(2, ‘one‘), (3, ‘two‘), (4, ‘three‘), (5, ‘four‘), (6, ‘five‘), (7, ‘six‘)]
标签:实用 lis 匿名 可迭代对象 protect 常用 表示 合成 元祖
原文地址:http://www.cnblogs.com/lianyingteng/p/7708945.html