这课对我来说只有一个细节是值得注意的,先贴上代码:
#coding=utf-8
def print_two(*args):#参数可以是N个
arg1, arg2, arg3= args #参数解包
print "arg1: %r, arg2: %r,arg3: %r" % (arg1, arg2, arg3)
def print_two_again(arg1, arg2): #只有两个参数且跳过解包过程
print "arg1: %r, arg2: %r" % (arg1, arg2)
def print_one(arg1): #只一个参数
print "arg1: %r " % arg1
def print_none(): #没有参数
print "I got nothing."
print_two("Zed", "Shaw","lalala")
print_two_again("Zed", "Shaw")
print_one("First!")
print_none()
代码中包含四个函数,第一个函数可以接收N个参数,而且紧接着第二行代码就是对这些参数进行解包,第二函数只接收两个参数,第三个只接收一个参数,第四个函数不接收任何参数,注意第一个函数参数的意义就行了。
常见问题回答
args前的 * 是什么意思?
它的功能是告诉python把函数的所有参数都接收进来,然后放到名叫args的列表中去,不限参数个数