Python函数学习笔记

Python函数的一些知识总结笔记(如果有错误请见谅)

自己学python的时候留下的一些笔记。


#函数的基础知识
"""
一.函数的参数
1.默认参数可以不用赋值,直接调用函数,但是要在定义的时候赋初值,
2.收集参数,可以防止不知道需要多少个参数,
例如:
    def test(*params):
        print("参数长度是:",len(params));
        print("第二个参数是:",params[1]);

test(1,"qhj",3.14,5,6,7,8)
参数是:8
第二个参数是:qhj


如果要写成 :
    def test(*params,exp):
        print("...");
        
test(1,2,3,4,5,exp = 5);
这样才不会报错,或者使用默认参数 :
    def test(*params, exp = 0):
        
二.函数与过程
1.python所有函数都会返回东西,如果没有返回值,就返回none,
2.python可以返回多个值,那就是使用列表:
    def back():
        return [1,2,"qhj"]
这样就会返回一个列表
    
当然直接:
   def back():
       return 1,'qhj',3.14
这样会返回一个元组

三.函数与变量
1.python函数里依然是有局部变量。
2.python函数里面可以随便访问全局变量,但是在函数里面修改全局变量的时候,python会自动生成一个和全局变量名字相同,
但是“不一样”的局部变量。
3.如果想要在函数里面改变全局变量:
    count = 10
    def back():
        global count            #需要使用关键字
        count = 5
        print(count)

四.内嵌函数
1.函数嵌套的一个例子:
    def fun1():
        print("this is first function")
        def fun2():
            print("this is second function")
        fun2()
内部函数的作用域,都在外部函数内,比如只能在fun1()里调用fun2() 
2.闭包       
    defX():
        def funY():
            return x*y
        return FunY
调用的时候:
    funX(8)(5)
    40
3.内部函数调用外部函数的变量的时候
(1)可以将外部函数的变量变为列表,
(2)可以使用关键字:nonlocal x,  

五.匿名函数
1.使用lambda函数定义函数:
    lambda x : 2*x+1(前面时形参,后面是返回值)
这样会返回一个函数,例如:
    g = lambda x : 2*x+1
    g(5)
    输出11
2.过滤器
filter(function or None,可以迭代的变量),例如:
    filter(None, [1,0,false,True])
    list(filter(None, [1,0,false,True]))    
    [1,True](0,false被过滤了)

结合function:
    def odd(x)
        return x % 2
    temp = range(10)
    show = filter(odd, temp)
    list(show)
    [1, 3, 5, 7, 9]
所以过滤器就是:
    只返回那些,经过一个函数后,返回值是1的参数。(最后返回一个序列)
    filter(lambda x : x % 2,range(10))
3.map()
    map(lambda x : x *2,range(10))
    将会得到一个序列,也就是0,2,4,6,8......
 
六.递归
1.设置递归的深度:
    import sys
    sys.setrecursionlimit(1000)
"""


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值