0%

Python基础--参数定义

python

Python基础–参数定义

  • argument实参 位置参数,关键字实参
  • parameter 形参 默认形参 可变形参,不可变形参

位置实参

普通的实参 按照参数的顺序把数据传递给形参

1
2
3
4
5
6
7
def sum_fun(num1,num2):
plus = num1*num2
print("两个数字的乘积=%s" % plus)


# 位置实参是把下面调用的数据直接传递到函数里面
sum_fun(2, 3)

关键字参数 可以指定对应的形参
关键字实参必须在位置参数后面,否则会出现报错

1
2
3
4
5
6
7
def test_fun(num1,num2):
print(num1)
print(num2)


# 指定对应的关键字参数 num1=3 num2= 4
test_fun(num1=3,num2=4)

默认形参

给形参设置的默认值,如果设置实参,就会使用实参.如果不设置实参,就会使用默认形参

  • 默认形参必须在普通形参后面

    正确使用默认形参

    1
    2
    3
    4
    def test_fun(num1,num2=10):
    print(num1)
    print(num2)
    test_fun(2)

    不正确使用

    1
    2
    3
    4
    def test_fun(num1=1,num2):
    print(num1)
    print(num2)
    test_fun(2)

    可变形参

  • 元组型可变形参 可以接受任意数量的位置参数,一般在形参列表末尾

  • 字典型可变形参

元组型可变形参

给形参前面添加*,标志其为元组可变形参
传进来的任意位置参数会被包装成为元组,随后赋值给args

1
2
3
4
5
6
7
8
def args_fun(*args):
sum_plus = 0
for i in args:
sum_plus += i
print(sum_plus)

# 传递多个参数到定义的函数内部
args_fun(1, 2, 23, 4)

字典型可变形参

给形参前面添加**,标志其为字典型可变形参,传进来的任意位置参数会被包装成为字典,随后赋值给args

1
2
3
4
5
6
7
8
def stu_info_fun(**kwargs):
name = kwargs.get("name", "暂无")
age = kwargs.get("age", "暂无")
weight = kwargs.get("weight", "暂无")
print("姓名:%s,年龄:%s,体重:%s" % (name,age,weight))


stu_info_fun(name='王', age=19, weight=140)