以下是近期学习的一些知识点总结
函数传入多个参数:
def app(ls,*args):
for item in args:
ls.append(item)
ls = []
app(ls, 1, 2)
print(ls)
ls2 = []
app(ls2, 1, 2, 3)
print(ls2)
类似于C++,py中函数允许传入多个参数,然后通过循环调用他们并进行处理
传值处理:
python中的引用传值及其调用:
对于不可变类型的参数,比如数字字符或者元祖,那么函数传参的时候采用的就是相当于值传递的传参方式
我们不能直接修改原始对象
对于可变类型的参数,如列表字典等,传参方式就是引用传递
python中值的交换: a,b= b,a
python中的迭代器:
ls = ['j', 'i', 'k', 'l']
lst_iter = iter(lst) #返回一个迭代器
print(lst_iter.__next__()) #输出j
print(lst_iter.__next__()) #输出i
传递函数作为参数:
def func_seq(func, ls):
return [func(i) for i in ls] #通过循环调用指定函数操作指定对象
def sqrt(num):
return num**2
def to_str(num):
return str(num)
def plus(num):
return num+1
输出如下:
print(func_seq(sqrt,ls))
print(func_seq(to_str,ls))
print(func_seq(plus,ls))
lambda式函数:
sqrt = lambda x:x **2 //这就是一个函数了
lambda arg1,args,....argN: 表达式
如:
func = lambda x,y:x+y
map函数: map(函数名,可迭代对象)
plus = lambda x:x+1
list(map(plus., ls))