1 #! usr/bin/env python
2 # -*- coding:utf-8 -*-
3
4 1、函数参数,引用
5 2、lambda表达式
6 3、python内置函数
7 4、递归
8 5、作业
9
10 1、lambda表达式
11 def f1():
12 return 123
13
14 print(f1())
15
16 f2 = lambda : 123
17 r = f2()
18 print(r)
19
20 def f3(a1, a2):
21 return a1 + a2
22
23 r3 = f3()
24 print(r3)
25
26 f4 = lambda a1,a2: a1 + a2
27 r4 = f4()
28 print(r4)
29
30 2、内置函数
31
32 abs(123) #取绝对值
33 print(all([0,1,2])) #循环参数,如果每个元素都为真,返回真,否则false
34 # 如何判断元素是否为真
35 # 假:0,none,"",[],(),{}----->>:0,none,空值为假
36 print(bool(0))
37 print(bool(-1))
38 print(bool(1))
39 print(bool([]))
40 print(bool(()))
41 print(bool({}))
42
43 print(any([{}, (), 0, None, 1])) # 循环参数,只要一个为真即为真
44 li = []
45 r = ascii(li) # 返回对应参数的类的__repr__方法的返回值
46 print(r)
47 # #
48 print(bin(10)) # 十进制数10转成二进制
49 print(hex(10)) # 十进制数14转换成十六进制
50 print(oct(8)) # 十进制数8转换成八进制
51 print(int(10)) # 十进制数10转换成十进制
52
53 # 进制之间转换
54 i = int('0b11', base=2) # 二进制0b11转换成十进制
55 print(i)
56
57 i = int('0o11', base=8) # 八进制0o11转换成十进制
58 print(i)
59
60 i = int('0xe', base=16) # 十六进制11转换成十进制
61 print(i)
62
63 i = chr(66) # 接收一个数字,返回对应的ASCII码中的对应值
64 print(i)
65
66 i = ord('t')
67 print(i)
68
69 r = callable('s') # 如果传入的参数可以被执行,返回True,否则False。比如函数加括号可以被执行
70 print(r)
71
72 # compile() #用来编译代码
73 dir([]) # 查看传入的对象有什么方法
74 # help([]) # 帮助
75 r = divmod(10, 3) # 返回两个参数的商和余数的元组,在分页中用
76 print(r)
77
78 ret = eval('1 + 3') # 将字符串转换成表达式,并返回结果。即eval可以执行一个字符串形式的表达式
79 ret1 = eval("a + 60", {'a': 99})
80 print(ret)
81 print(ret1)
82
83 exec("for i in range(10):print(i)") # 把参数当代码执行,但没有返回值
84
85 filter(函数, 可迭代对象) # 循环可迭代对象,将迭代对象的元素当做参数,传到函数中,如果函数返回true,则把该元素当做列表的元素返回#
86 def f1(x):
87 # if x > 22:
88 # return True
89 # else:
90 # return False
91 return x > 22
92
93
94 # ret = filter(f1, [11, 22, 33, 44])
95 # for i in ret:
96 # print(i)
97 ret = filter(lambda x: x > 22, [11, 22, 33, 44])
98 for i in ret:
99 print(i)
100
101
102 map(函数,可迭代对象) 循环迭代对象的每个元素传入函数中,并返回每个元素的返回值
103
104 def f2(x):
105 return x + 100
106
107 ret = map(f2, [1,2,3,4,5])
108 ret = map(lambda x: x + 100, [1,2,3,4,5])
109 print(ret)
110 print(type(ret))
111 for i in ret:
112 print(i)
113
114 # isinstance() # 判断对象是否由某个类创建的
115 li = []
116 i = isinstance(li, list)
117 print(i)
118
119 i = pow(2, 10) # 2的10次方
120 print(i)
121
122 r = round(3.33) # 四舍五入
123 print(r)
124
125 3、随机验证码
126
127
128 import random
129 temp = ''
130 for x in range(6):
131 xx = random.randrange(0, 4) # 生成0-3的随机数
132 if xx == 1 or xx == 3: # 如果等于1或者3,就生成数字,否则生成字母
133 i = random.randrange(0, 10)
134 temp += str(i)
135 else:
136 i = random.randrange(65, 91)
137 rad = chr(i)
138 temp += rad
139 print(temp)
140
141 4、文件操作
142 close() # 关闭文件句柄
143 flush() # 强制由内存刷新到硬盘
144 read() # 读取全部
145 readline() # 读取一行
146 readlines() # 一行一行的读取
147 seek() # 重置文件读取的指针
148 tell() # 返回当前指针
149 truncate() # 删除
150 write()