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 = 333
109 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 # import
135 __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')) # 返回97
14
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:22
32 }
33 sorted(a) # 返回回的是排过序的key
34 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中的值一一对应组成元组; 若两个列表数值个数不一致, 多出来的舍弃