Python常用内置函数
all(iterable)如果可迭代对象里面所有元素都是真值,则返回True
any(iterable)如果可迭代对象里面任意一个元素为真值,则返回True。若全为空(0)则返回False。
ascii(object)返回一个对象的文字的表现形式
bin()把数字转成二进制
bytearray()可修改字节二进制格式
chr 输入ascii码返回字符
ord 输入字符返回ascii码
compile()
code = "for i in range(10):print(i)"c=compile(code,'','exec')exec(c)
delattr(object,name)面向对象时讲
dir()里面有什么方法
divmod(a,b) a除以b并返回商和余数
eval()字符串编译成字典
匿名函数传送参数
(lambda n:print(n))(5)#把5传送进lambda这个匿名函数中
或者:
calc= lambda n:print(n)
calc(5) 匿名函数最多做三元运算
filter(function,iterable)将一组数据过滤出你想要的数据来,不需要的消除
import functoolsres functools.reduce(lambda x,y:x+y, range(10))print(res)#x为结果,y为加数。就是将y从0开始,然后坐x=x+y的操作。frozenset([1,2,3])不可变集合
hash()本函数返回对象的哈希值。返回的哈希值是使用一个整数表示,通常使用在字典里,以便实现快速查询键值。参数object输入是数字类型时,是根据数值来计算的,比如1和1.0计算出来是一样的哈希值,因此说这个函数是不区分不同的数值类型。
sorted(iterable[, cmp[, key[, reverse]]])
参数说明:
iterable — 可迭代对象。
cmp — 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key — 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse — 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
实例:
>>>a = [5,7,6,3,4,1,2]>>> b = sorted(a) # 保留原列表>>> a [5, 7, 6, 3, 4, 1, 2]>>> b[1, 2, 3, 4, 5, 6, 7] >>> L=[('b',2),('a',1),('c',3),('d',4)]>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # 利用cmp函数[('a', 1), ('b', 2), ('c', 3), ('d', 4)]>>> sorted(L, key=lambda x:x[1]) # 利用key[('a', 1), ('b', 2), ('c', 3), ('d', 4)] >>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]>>> sorted(students, key=lambda s: s[2]) # 按年龄排序[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] >>> sorted(students, key=lambda s: s[2], reverse=True) # 按降序[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)
zip(a,b)把a和b组合起来
json序列化
将东西写入文件:
info={#信息不写了}f=open("test.text","w")f.write(json.dumps(info))#json.dumps将info存为字符串,然后write函数是写入文件
再导入程序(即反序列化):
f = open("test.text","r")data = json.loads(f.read())print(data["age"])
文件路径
获取当前路径:__file__#这其实是当前文件的相对路径
将绝对路径动态的获取到系统变量中的方法:
import osimport sysprint(os.path.abspath(__file__))#获取当前文件的绝对地址print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))#获取当前文件所在目录地址BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.path.append(BASE_DIR)#这就完成了将绝对路径动态的获取到系统变量中
https://github.com/triaquae/py_training/tree/master/sample_code/day5-atm