1 # !/user/bin/python 2 # -*- coding: utf-8 -*- 3 4 # all, 全部为正数时返回真 5 print(all([0.,1,-5])) 6 7 8 # any, 只要有一个是正数,就返回真 9 print(any([0.,1,-5])) 10 11 12 # ascii, 把字符串转换成二进制 13 a = ascii([1,2,'开外挂']) 14 print(type(a), [a]) 15 16 17 # bin, 把数据转换成二进制 18 print(bin(10)) 19 20 21 # bool, 判断真假 22 print(bool([])) 23 24 25 # bytearray, 可修改的二进制字节格式 26 a = bytes('abcde',encoding='utf-8') 27 b = bytearray('abcde',encoding='utf-8') 28 b[0] 29 print(b[0]) 30 b[1] = 100 31 32 33 # callable, 可调用的 34 def abc(): 35 print('aa') 36 37 print(callable(abc())) 38 39 40 # chr, 把数字对应的ascii字符转译出来 41 print(chr(97)) # 返回a 42 43 44 # classmethod(function) 一个类方法,稍后讲 45 46 47 # compile 用于把代码进行编译的方法, 底层用得多 48 code = ''' 49 def abc(): 50 print('test) 51 ''' 52 py_obj = compile(code, 'err.log', 'exec') 53 exec(py_obj) 54 exec(code) # 这样等效于上面两行代码 55 56 57 # dir 查看字典里有什么方法 58 a = { } 59 dir(a) 60 61 62 # divmod 返回两个数相除的商和余数 63 divmod(1,5) 64 65 66 # eval 把字符串转换成字典 67 68 69 # filter 从一组数据中过滤了想要的 70 res = filter(lambda n:n>5, range(10)) # 按照函数lambda里的要求对小于10的数据进行过滤 71 for i in res: 72 print(i) 73 74 75 # map 对传入的值进行指定的处理并返回处理后的结果. 76 res = map(lambda n:n*n, range(10)) 77 for i in res: 78 print(i) 79 80 81 # reduce 累加 82 import functools 83 res = functools.reduce(lambda x,y:x+y, range(10)) 84 print(res) 85 86 87 # 匿名函数 88 def sayhi(n): 89 print(n) 90 91 sayhi(3) 92 93 ''' 94 如果上面的函数仅只调用一次,没有必要写一个方法, 就可以用匿名函数来实现 95 ''' 96 (lambda n:print(n))(5) # 给函数传参5 97 calc = lambda n:print(n) 98 calc(5) # 另一种传参方法 99 100 101 # frozenset 把集合变成不可变集合102 a = set([1,44,24,23,1,44,67,8,9,8,9])103 104 105 # globals() 返回当前程序里的所有变量和值, 以字典方式返回.106 print(globals())107 def test():108 local_var = 333109 print(locals())110 print(globals())111 112 test()113 print(globals()) # 只打印全局变量, 不打印局部变量. 只有locals()能打印出局部变量114 print(globals().get('local_var'))115 116 117 # 把字典进行排序, 并将结果以列表的形式打印出来118 a = {6:2, 8:0, 1:4, -5:6, 99:11, 4:22} # 按key排列119 print(sorted(a.items()))120 print(a)121 122 # 把字典按value来排序123 print(sorted(a.items(),key = lambda x:x[1]))124 print(a)125 126 127 # 把两个列表拼在一块,一一对应分别生成新的列表.若一个列表中的数据超过另一列表, 超出的部分会被舍弃.128 a = [1,2,3,4,5,6]129 b = ['a','b','c','d']130 for i in zip(a,b):131 print(i)132 133 134 # import135 __import__('decorator') # 如果不知道具体的包名,只知道字符串, 就可以用__import)__方式来导
1 # !/user/bin/python 2 # -*- coding: utf-8 -*- 3 4 # 八进制 5 oct(15) 6 7 8 # 求幂 9 pow(3,5)10 11 12 # 返回字母的unicode码表数值13 print(ord('a')) # 返回9714 15 16 # 把字符串转成一个对象 TODO 这个方法到底怎么用?17 repr('please')18 19 20 # 保留两位小数四舍五入21 round(1.3342)22 23 24 # 切片 TODO 怎么用?25 d = range(20)26 d[slice(2,5)] # 返回range[2,5]27 28 29 # sort, 对字典进行排序30 a = {31 6:2, 8:0, 1:4, -5:6, 99:11, 4:2232 }33 sorted(a) # 返回回的是排过序的key34 sorted(a.items()) # key和value对按照key排序, 以列表返回 (每一对键值对是一个小元组, 整体是一个列表)35 print(sorted(a.items()), key = lambda x:x[1]) # key和value对按照value排序, 以列表返回(每一对键值对是一个小元组, 整体是一个列表)36 37 38 # zip, 把两个列表组合起来39 a = [1,2,3,,4, 5,6]40 b = ['a','b','c','d']41 zip(a,b) # 返回一个内存地址, 要想打印其中的内容, 需要循环42 for i in zip(a, b)43 print(i) # 列表a中的值和列表b中的值一一对应组成元组; 若两个列表数值个数不一致, 多出来的舍弃