默认参数

def print_student_info(name,sex,age=18,college="人民路小学"):
    print("我叫"+name)
    print("性别"+sex)
    print("今年"+str(age)+"岁")
    print("我在"+college+"上学")
    print("====================")

print_student_info("鸡小萌","男")    
print_student_info("石敢当","女",20)  
print_student_info("郭靖","男","王府井大街")  
# 计算机没有我们聪明,它并不知道第三个参数是干嘛的,它会按照形参的顺序赋值,所以我们需显示指定
print_student_info("郭靖","男",college="王府井大街")
我叫鸡小萌
性别男
今年18岁
我在人民路小学上学
====================
我叫石敢当
性别女
今年20岁
我在人民路小学上学
====================
我叫郭靖
性别男
今年王府井大街岁
我在人民路小学上学
====================
我叫郭靖
性别男
今年18岁
我在王府井大街上学
====================

再看下面一个例子

def print_student_info(name,sex,age=18,college="人民路小学",teacher):
    print("我叫"+name)
    print("性别"+sex)
    print("今年"+str(age)+"岁")
    print("我在"+college+"上学")
    print("我的老师是"+teacher)
    print("====================")

print_student_info("鸡小萌","男",teacher = "张大嘴")
File "/Users/scottxiong/Desktop/end/python/func/f1.py", line 1
    def print_student_info(name,sex,age=18,college="人民路小学",teacher):
                           ^
SyntaxError: non-default argument follows default argument

意思是我们必须把可变参数放前面,默认参数放后面,不能出现混杂的情况

results matching ""

    No results matching ""