python (函数)

一. 什么是函数

  函数: 对代码块和功能的封装和定义

  定义⼀个事情或者功能. 等到需要的时候直接去⽤就好了. 那么这里定义的东西就是⼀个函数. 

  函数名命名规则和变量命名规则一样

  语法:

    def 函数名(形参):  #定义函数

      函数体  #调用函数之后会执行的代码

    函数名(实参)  #调用函数

def yue():
    print("约你")
    print("约他")
    print("我不约")
    return "高兴"    # return 返回值  当函数结束的时候. 给调用方一个结果
    print('不高兴')    #不会被执行
ret = yue()
print(ret)
#输出结果:
#    约你
#    约他
#    我不约
#    高兴

# 只要函数执行到return 函数就会停止执行
# 1. 每个函数如果在函数中不写return, 默认返回None
# 2. 我们也可以只写一个return, 也是返回None, 停止函数的执行
# 3. return 一个返回值.  你在调用方能接受到一个返回值
# 4. return 多个返回值. 多个值需要用','隔开. 接收的位置, 接收的是元组.

def yue():
    print("约你")
    print("约他")
    print("我不约")
    return "高兴" ,"非常高兴","很高兴"   #返回值若有多个,接受形式的元组,我们也可以直接对结果直接解构.
    print('不高兴')    #不会被执行
ret = yue()
print(ret)
#输出结果:
#    约你
#    约他
#    我不约
#    ('高兴', '非常高兴', '很高兴')


#解构返回值 def yue(): print("约你") print("约他") print("我不约") return "高兴" ,"非常高兴","很高兴" print('不高兴') #不会被执行 ret1,ret2,ret3 = yue() print(ret1,ret2,ret3) #输出结果: # 约你 # 约他 # 我不约 # 高兴 非常高兴 很高兴

二. 函数参数

  参数, 函数在调⽤的时候指定具体的⼀个变量的值. 就是参数. 

  函数的参数个数是没有要求的,但是,在运行的时候,形参和实参要匹配,按照位置吧实参赋值给形参

  参数分类:

    站在实参的角度:

      1.位置参数

      2.关键字参数

      3.混合参数,注意顺序. 先写位置参数,然后写关键字参数.否则会报错

    站在形参的角度:

      1.位置参数

      2.默认值参数

      3.默认值参数和位置参数混合使用. 顺序: 先写位置参数. 然后写默认参数

def 玩手机(gongju,name):    #()内为形参
    print("拿出手机")
    print("打开%s"% gongju)
    print("找到%s"% name)
    print("问她是不是傻")
    return'她说:对,我就是傻','但是我漂亮啊','而且还会才艺展示!'

玩手机('抖音','脱xx')       #实参      
玩手机('陌陌','阳xx')    
#输出结果:
#    拿出手机
#    打开抖音
#    找到脱xx
#    问她是不是傻
#    拿出手机
#    打开陌陌
#    找到阳xx
#    问她是不是傻
  形参: 在函数声明的位置.声明出来变量
  实参: 在函数调用的时候. 实际你给函数传递的值 
  函数的参数个数是没有要求的 但是,在运行的时候. 形参和实参要匹配. 按照位置把实参赋值给形参
def tuo(name,age,sex,address,hobby):
    print("%s今年%s岁了,是一个%s孩子,在%s上大学,爱好是%s"% (name,age,sex,address,hobby))
tuo('脱xx','18','','宁夏','玩抖音')  #位置参数
tuo(hobby='玩抖音',name='脱xx',address='宁夏',age='18',sex='')   #关键字参数
#输出结果:
#脱xx今年18岁了,是一个女孩子,在宁夏上大学,爱好是玩抖音
#脱xx今年18岁了,是一个女孩子,在宁夏上大学,爱好是玩抖音
def sha(id,name,sex=''):    'sex='''为默认值参数
    print('录入%s号学生信息:名字:%s,性别:%s'% (id,name,sex))
sha(1,'脱xx')    #调用函数时如果在形参位置给了对应的默认值参数,对应默认值参数位置的实参可以不给值
sha(2,'阳哥哥')
sha(3,'代xx')
#输出结果:
#录入1号学生信息:名字:脱xx,性别:女
#录入2号学生信息:名字:阳哥哥,性别:女
#录入3号学生信息:名字:代xx,性别:女
原文地址:https://www.cnblogs.com/dong-/p/9300209.html