以下是近期学习的一些知识点总结

函数传入多个参数:

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))