Python函数(1)函数参数传递

一、函数参数类型分为

1、形式参数
2、实际参数

(1)形式参数:函数定义过程中所传递的参数称为形式参数,函数名后面括号中的参数为’形式参数’,注意形式参数本身没有实际含义. 只有当实际参数的值传递给形式参数时,形参会被当成是一个临时容器,存储该数据,保证函数执行过程中数据的使用

(2)实际参数:函数调用过程中传递的参数称为实际参数,函数名后面括号中的参数为’实际参数’,实际参数决定了形式参数的数据类型和具体的数据值。就像剧本选主角一样,剧本的角色相当于形式参数,而演角色的演员就相当于实际参数

return:关键字,函数调用结束的标志,作用是将return后面的内容返回给外界,同时结束本次函数调用;
如果return后面有代码也不再执行,因此函数调用过程中,函数的代码必须放在return关键字的前面

二、函数的参数种类:

1.必须参数

程序执行过程中必须要设置的参数

def outPut(num):           #必须参数
    print(num)
outPut(30)

2.默认参数

程序执行过程中具有默认值的参数
必须参数和默认参数区别:
默认参数和必须参数的区别就是参数是否提前设置好默认值,默认参数在函数调用过程中认为可以省略

def outPut(num = 0):       #默认参数
    print(num)
outPut()

3.可变参数

语法结构:在必须参数的前面添加 * ,此时参数就变成了可变参数
作用:参数的多少可以根据函数调用过程中实际参数的数量灵活增长,
注意可变参数对应的数据类型是一个元祖类型,可变参数需要放在默认参数的后面

#定义函数求和
def get_sum(*arguments):       #可变参数 (以元组形式传给函数内部)
    sum_num = 0
    for item in arguments:
        if isinstance(item,list):   #在Python中可以使用type()与isinstance()这两个函数判断
            sum_num = sum(item)     #对象类型,而isinstance()函数的使用上比type更加方便
        else:
            sum_num += item
    return sum_num
num = get_sum(1,2,3,4,5)
print(num)

结果:

15

4.关键字参数

在必须参数的前面写上**,此时参数变成关键字参数,外界调用该函数时必须为每一个数据设置一个唯一的键,或者通过**dict的格式直接将某一个字典类型的数组作为该关键字参数的数据输入
(1)

def outPut_userInfor(**kw):    #关键字参数  (以字典形式传给函数内部)
    print(kw)
    for key,value in kw.items():
        print(key,",",value)

outPut_userInfor(name = '小菜菜',age = 20,sex = '男')

结果:

{'name': '小菜菜', 'age': 20, 'sex': '男'}
name , 小菜菜
age , 20
sex ,

(2)

infor = {'name': '狗剩子','age': 23,'sex': '男','marry':'已婚'}
def outPut_infor(**kw):
    str = '我叫{name},今年{age}岁,性别{sex},{marry}'.format(**kw)
    print(str)
outPut_infor(**infor)

结果:

我叫狗剩子,今年23,性别男,已婚

5.命名关键字参数

在所有参数的最前面设置一个*,此时后面的所有参数都被看成是提前定义好名字的参数,
外界在调用该函数时每一个参数的名字必须和*后面的参数名字保持一致

def put(*,name,sex,age):
    print(name,sex,age)
put(name = 20,sex = 30,age = 40)
 如果这几种组合起来作为形参,顺序为: 
 def fun(必须参数,默认参数,可变参数,关键字参数,命名关键字参数)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章