美文网首页
Python Basic day06

Python Basic day06

作者: AIturbo | 来源:发表于2019-02-03 07:44 被阅读0次

    1,掌握局部变量的特点(定义方式,作用范围)

    在函数内部定义, 只在函数内部起作用

    2,掌握全局变量的特点(定义方式,作用范围)

    在函数外部定义,在函数内部外部都起作用

    3,掌握函数中返回多个值

    Def fn():
          Xxxxx
          Return x1,  x2, x3
    

    一个函数中可以有多个return语句,但是只要有一个return语句被执行到,那么这个函数就会结束了,因此后面的return没有什么用处。

    4,(重点)return返回值详解

    1、return必须写在自定义函数内部
    2、一个自定义函数,如果没有写return,或者写了return后并没有写返回值,都表示最终这个函数返回了None
    3、函数可以返回多个值,返回值类型也可以是任意,但默认是元组
    return shang, yushu # return可以同时返回多个值,用逗号隔开,默认的数据类型是元组,
    但是也可以返回其他的数据类型:
    return [shang, yushu]
    return {"shang": shang, "yushu": yushu}
    return "hello"

    5,参数详解

    1、位置参数
        def fn(a, b):
            print("%s的年龄是%s" % (a, b))
        
        fn("python", 27)  # 位置参数, 实参和形参一一对应
                         不能调换位置
    
    2、默认参数,缺省参数
        def fn(a, b=27):  # 默认参数,又叫缺省参数, b如果接受不到实参,就使用默认的这个27
            print("%s的年龄是%s" % (a, b))
        
        fn("python", 28)
    
    3、关键字参数
        def fn(a, b):
            print("%s的年龄是%s" % (a, b))
    
        fn(a="python", b=27)  # 关键字参数  即使调换位置也能正常输出。
    
    4、注意:
        书写格式的要求:
        形参:普通参数写在默认参数前面
        实参:位置参数写在关键字参数前面
    
    5、不定长参数:
        *args    专门用来接收位置参数,作为元组,在函数内部访问args,就是访问这个元组,每一个位置参数作为元组的元素
        **kwargs  专门来接收关键字参数,作为字典,在函数内部访问kwargs,就是访问这个字典,每一个关键字参数作为字典的元素
    def sum_nums_3(a, *args, b=22, c=33, **kwargs):
       print(a)  # 100
       print(b)  # 1
       print(c)  # 2
       print(args)  # (200, 300, 400, 500, 600, 700)
       print(kwargs)  # {"mm": 800, "nn":900}
          
       sum_nums_3(100, 200, 300, 400, 500, 600, 700, b=1, c=2, mm=800, nn=900)
    

    6,(重点)引用

    a = 10   # 让符号a指向10的这个内存地址
    b = a   # 让符号b指向a所指向的那个内存地址
    id()   用来获取某个数据的内存地址
    一般用它查看两个变量的指向是不是一样,
    如果两个变量的id相同,说明这两个变量的指向一样
    如果两个变量的id不相同,说明这两个变量的指向不一样
    

    7,掌握元组的拆包

    a, b = (10, 20)

    8,掌握交换2个变量的值

    a,b = b, a

    9,掌握函数的默认(缺省)参数的使用

    调用函数时,缺省参数的值如果没有传入,则取默认值。
    def fn(a, b=27)
    注意:在形参中默认有值的参数,称之为缺省参数。
    带有默认值的参数一定要位于参数列表的最后面。

    10,掌握函数的可变(不定长)参数的使用

         Def fn(*args,  **kwargs):
              Print(args)
              Print(kwargs)
    

    11,global的使用

        a = 10
        def fn():
           global a   # 声明下边修改的这个a是全局变量a
           a = 100
           print(a)   # 如果只是访问这个变量(跟全局变量同名),访问到的是全局,如果是对这个a进行重新赋值 即a = 100, 这个变量就是局部变量,如果在函数内部想要修改全局变量a,需要加global a声明
    
        什么时候用global
        1、在函数内部修改全局变量的时候
        2、在函数内部定义全局变量的时候
    

    12,递归函数

    一个自定义函数,里面调用了函数本身,称这个调用是函数的递归调用,称这个函数为递归函数
    def fn(num):
        """这个函数是来求num的阶乘"""
        if num == 1:
            return 1
        else:
            ret = num * fn(num-1)
            return ret
    
    print(fn(4))
    

    相关文章

      网友评论

          本文标题:Python Basic day06

          本文链接:https://www.haomeiwen.com/subject/sqfysqtx.html