Python(九)可变和不可变参数、关键字参数、缺省参数、不定长参数

一、可变和不可变参数

#不可变参数
def a(n):
    n = 22
    print(n) #n=22

def b(n):
    n[0] = "m"
if __name__ == "__main__":
    n = 11
    a(n)
    print("a()-当前n的值:", n)

    k=[1, 2, 3, 4]
    b(k)
    print("b()-当前k的值:", k)

 二、关键字参数

def a(name, age):
    print("name:{0}".format(name))
    print("age:{0}".format(age))
a(age = 18, name = "张三")
# name:张三
# age:18

三、缺省参数

def a(name, age, sex="", hobby = "就是玩儿"):
    print("年龄是{0}岁的, {1}孩, 名字叫{2}的爱好{3}".format(age, sex, name, hobby))
a("张三", 12) 
a("李四", 15, "", "炒股") #有新的就会替换掉原来的值

四、不定长参数

def a(x, *y):
    print(x)
    print(y)
a("a", 1, 2, 3, 4, 5, 6)
a("b")
# a
# (1, 2, 3, 4, 5, 6)
# b
# ()

#注意:可变参数一定要放在末尾,否则会报错
#EG: def a(*y, x) 这样是不行的
#**代表接收的是字典类型的参数
def a(x, **y):
    print(x)
    print(y)
a("12")
a("23", name = "张三", password = 123, isTrue = False)
#注意:key不能是String类型的:
#a("23", "name" = "张三")

#直接传值:
map1 = {"name":"张三", "age":12, "sex":""}
a("a", **map1)

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3