zoukankan      html  css  js  c++  java
  • Python 基础入门 5_1 function函数

    """
    函数:函数是组织好的,可重复使用的,用来实现单一,或相关联的代码段
    作用:减少代码的复用度
    定义函数格式:
    def 函数名([parameters]):
    语句
    [return:expression] #用于结束定义函数并将值(若有)返回

    调用函数格式: 函数名([parameters])
    若函数有返回值,可以将返回值赋值给变量: 变量名 = 函数名([parameters])

    函数的参数分3种:
    1. 必备参数 调用函数时必须参数的值
    2. 默认参数 在定义函数时,给参数一个值,调用函数时可以不传该参数的值
    3. 不定长参数 给函数能处理比定义时传入更多的参数,有两种定义形式,一种*参数名;另外一种**参数名,一个函数有且仅有1个不定长参数定义形式

    调用函数时,有2中方式给参数传值:
    1. 顺序传值: 按照函数定义的顺序传入参数值
    2. 关键字传值:按照参数名 = 值的格式传入参数值,传参数值的顺序可以不一致
    注意,调用函数的参数名与定义函数的参数名要一致,否则报错(不定长参数形式2除外)

    不定长参数 只能用顺序传值的方式传参(因为一个参数名不能对应多个值,)
    即 函数名(*参数名) 函数名(值1,值2,值3) 参数名 =(值1,值2,值3),以元组的形式接收参数值
    即 函数名(**参数名) 函数名(变量1=值1,变量2=值2,变量3=值3) 参数名 = {"变量1":值1,"变量2":值2,"变量2":值3},以字典的形式接收变量名和值的参数
    注意:不定长参数形式2 与 关键子传值的格式很类似,因此要避免传参的变量名与参数名一致,若一致,则是给函数的参数名赋值,而不是将变量名和值传给不定长参数形式2


    根据以上的参数的性质,最好定义函数的参数列表(parameters)的顺序为:必备参数,不定量参数形式1,默认参数,不定量参数形式2
    根据以上的参数性质,调用函数的参数列表(parameters)的顺序为:
    必备参数 若有不定量参数形式1,使用顺序传值
    默认参数 若有不定量参数形式1,使用关键字传值
    不定长参数形式1 顺序传值
    不定长参数形式2 顺序传值
    """
    def fun1(a,*c,b=3,**d):
    print("1","a:",a,"b:",b,"c:",c,"d:",d)

    fun1(3)
    fun1(3,4)
    fun1(a=3,b=2)
    fun1(2,4,f=1)
    fun1(1,3,f=4,b=2)

    """
    匿名函数(lambda表达式),用于定义简单的函数,其格式如下
    函数名 = lambda [parameters] : 语句
    """
    fun2= lambda a,*c,b=3,**d :print("2","a:",a,"b:",b,"c:",c,"d:",d)
    fun2(3)
    fun2(3,4)
    fun2(a=3,b=2)
    fun2(2,4,f=1)
    fun2(1,3,f=4,b=2)
    del fun1,fun2
  • 相关阅读:
    CentOS(九)--与Linux文件和目录管理相关的一些重要命令①
    CentOS(八)--crontab命令的使用方法
    CentOS(七)--Linux文件类型及目录配置
    CentOS(六)--Linux系统的网络环境配置
    ActionBar实现顶部返回键,顶部按钮
    安卓---高德地图API应用
    安卓---achartengine图表----简单调用----使用view显示在自己的布局文件中----actionBar的简单设置
    安卓访问webAPI,并取回数据
    webAPI---发布(IIS)--发布遇到问题(500.19,500.21,404.8,404.3)
    安卓----短信验证(借用第三方平台)
  • 原文地址:https://www.cnblogs.com/hjlin/p/10628897.html
Copyright © 2011-2022 走看看