默认参数
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
意思是我们必须把可变参数放前面,默认参数放后面,不能出现混杂的情况