• python基础入门之十 —— 函数


    1、概述

    (1)定义:

    def 函数 (参数)
    代码1
    代码2
    .....

    (2)调用:

    函数名(参数)

    P.S:(1)在python 中,函数必须先定义后使用。

           (2)定义函数时代码不执行,调用时执行。

    # 演示
    def add_func(a, b):
        return a+b
    a = 1
    b = 2
    print(add_func(a, b))  # 3

    2、说明文档

    def add_func(a, b):
        """
        函数说明
        :param a:参数1
        :param b:参数2
        :return:返回值
        """
        return a+b
    help(add_func)

    (1)书写:函数名下一行,三引号内

    (2)查看:help()函数

    3、全局遍量和局部变量

    (1)局部变量:只在函数体内部的变量,函数结束即销毁

    (2)全局变量:函数体内外可用的变量

    a = 100  # 全局变量
    print(a)  # 输出全局变量a,100
    
    def function1():
        print(a)  # 输出全局变量a,100
    def function2():
        a = 200  # 局部变量,全局变量不变
        print(a)  # 输出局部变量a,200
    def function3():
        global a # 声明全局表量
        a =200  # 修改全局变量
        print(a)  # 输出全局变量a,200
    
    function1()
    function2()
    print(a)  # 输出全局变量a,100
    function3()
    print(a)  # 输出全局变量a,200

    4、多个返回值

    def return_num():
        return 1, 2   # 逗号隔开,默认返回元组返回
        # 另:return 后面可以直接书写元组,字典,列表
    
    print(return_num())  # (1, 2)

    5、函数的参数

    位置参数

    调用函数时根据函数定义的参数位置来传递参数

    def user(name,age,gender):
        print(f'您得名字{name},年龄{age},性别{gender}')
    user('tom',20,'')

    关键字参数

    函数调用通过‘键=值’来加以制定,不分先后顺序

    user('Tom',gender='',age=16)

    P.s:函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序

    缺省参数

     用于定义函数,为参数提供默认值,调用函数时可不传该默认参数得值

    def user(name,age,gender=''):
    print(f'您得名字{name},年龄{age},性别{gender}')
    user('小米',20)     #gender不传参,默认为男
    user('小米',66,gender='')   #gender传参,修改默认值,改为女

    (P.s: 所有缺省参数必须出现在默认参数前)

    不定长参数

    定义函数时不确定传参个数使用

    • 位置传递:*args变量收集参数,根据传进参数的位置合并为一个元组
    def user(*args):
        print(args)
    
    user('小米',20)
    user('小米')
    • 关键字传递:**kwargs变量收集参数,合并成字典
    def user(**kwargs):
        print(kwargs)
    
    user(name='小米',age=20, id=110)
    user(name='小米',age=66,gender='')

    6、拆包

    (1)元组:

    def return_num():
        return 100,200
    #元组拆包
    num1,num2=return_num()
    print(num1)  # 100
    print(num2)  #  200

    (2)字典

    dict1 = {'name':'Tom','age':18}
    #字典拆包
    a,b=dict1
    #取键
    print(a)  # name
    print(b)  # age
    #取值
    print(dict1[a]) # Tom
    print(dict1[b])  # 18 

    7、交换变量

    a,b=1,2
    a,b=b,a
    print(a)
    print(b)

    8、引用

    python中值的传递通过引用实现。

    a=1
    b=a # b引用a的值
    print(id(a))  # 140732320368288
    print(id(b))  # 140732320368288
    # b地址和a相同
    a=2
    print(b)  # 1 b值不变
    print(id(a))  # 140732320368320
    print(id(b))  # 140732320368288  b地址不变
    # int 为不可变类型
    
    aa=[10,20,30]
    bb=aa  #bb引用aa的值
    print(id(aa))  # 2077392577152
    print(id(bb))  # 2077392577152
    # bb地址和aa相同
    aa.append(30)
    print(bb)  # [10, 20, 30, 30]  bb值跟随aa改变
    print(id(aa))  # 2077392577152 
    print(id(bb))  # 2077392577152 bb地址跟随aa改变
    # 列表为不可变类型

    9、可变类型和不可变类型

    可变类型
    • 列表

    • 字典

    • 集合

    不可变类型
    • 整形

    • 浮点型

    • 字符串

    • 元组



  • 相关阅读:
    Abp 领域事件简单实践 <一>
    Abp session和Cookie
    Abp 聚合测试
    反向代理
    Angular 变更检测
    VS 之github
    Docker 启动SQLServer
    查出第二大的数是多少
    DDD 理解
    ActionBar的简单应用
  • 原文地址:https://www.cnblogs.com/LynHome/p/12468278.html
Copyright © 2020-2023  润新知