1、函数补充:
1)函数返回值return可以有多个
2)补充示例:
nums = [0,1,2,3,4,5,6,7,8] #如何将list里面的元素变为字符串类型
new_nums = [str(x) for x in nums]
print(new_nums)
3)函数即变量
2、内置函数
1)常用:
长度——len 类型——type
输入——input 输出——print
2)规则:非空即真,非0即真
示例:
print(all([1, 2, 0, 4])) ——False
print(any([0,1,2,3,4])) ——Ture
3)替换函数 replace():把新的子串取代旧的子串
语法:str.replace(old, new[, max])
参数
1.old -- 这是要进行更换的旧子串。
2.new -- 这是新的子串,将取代旧的子字符串。
3.max -- 如果这个可选参数max值给出,就只替代max个,除max个外若还有old值,也不替代。
返回值:把新的子串取代旧的子串后,形成的新的字符串。
注意:并不返回原字符串里,请赋给一个新的string。
4)拆分字符串:split()
通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)
语法:str.split(str="", num=string.count(str))[n]
参数:str默认为空格
num为分割次数
[n]表示取第n个分片,可不写则不取
返回值:分割后的字符串列表
5)查看对象可以调用的方法
6)eval函数:只能执行简单的python代码,定义数据类型和运算
code ='23*11'
print(eval(code))
exec函数和eval函数类似,也是执行动态语句,只不过eval函数只用于执行表达式求值,而exec函数主要用于执行语句块。
7)zip,就是让两个list一一对应,如果两个数组不是一样长度,以短的为准
8) lambda语句中:冒号前是参数,可以有多个,用逗号隔开;冒号后边是返回值。
示例:
g = lambda x : x*x
print(g(3))
g = lambda x,y : x+y
print(g(3,4))
9)filter 函数会对指定序列执行过滤操作,filter(function or None, sequence)
filter 函数会对序列参数 sequence 中的每个元素调用 function 函数,最后返回的结果包含调用结果为True的元素
示例:
#方法一
def is_Even(i):
if(i%2==0):
return True
else:
return False
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
l = filter(is_Even, l)
print(l) # 3.x 返回的是对象 filter object
l = list(l) # 3.x 须做类型转换
print(l)
输出结果:
<filter object at 0x0000022B954AD4A8>
[2, 4, 6, 8, 10]
#方法二
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
l = list(filter(lambda x : x%2==0, l)) # 结合lambda
print(l)
输出结果:
[2, 4, 6, 8, 10]
10)map 函数会对指定序列做映射操作,map(function or None, sequence)
map 函数会对序列参数 sequence 中的每个元素调用 function 函数,返回的结果为每一个元素调用function函数的返回值
示例:
#方法一
def sqr(i):
return i**2
l = [1,2,3]
l = map(sqr,l)
print(l) # 3.x 返回的是对象 map object
l = list(l)
print(l)
输出结果:
<map object at 0x00000257F564D588>
[1, 4, 9]
#方法二
l = [1,2,3]
l = list(map(lambda x : x**2, l)) # 结合lambda
print(l)