python中使用关键字def来表示函数的定义。如下所示:
def make_shirt(size, mess): print("the shirt's size is:" + str(size) + " and message is"+mess)定义了一个函数名为make_shirt的函数,其中函数的参数可有可无,当没有参数时其括号和冒号是必不可少的,函数直接定义为:
def make_shirt(): print("this is demo")一. 函数的参数
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
必选参数(位置参数):
def func1(a, b): #定义一个函数:包含两个参数a,b(a,b为位置参数) print a, b func1(1, 2) #调用时,这两个参数必填,如果只传入一个参数或不传入参数,报异常默认参数:
def func1(a, b=4): #定义func1函数,包含位置参数a,默认参数b,默认值为4 print a, b func1(1) #调用函数时,可以不用传默认参数,值默认为4 func1(1,2) #调用函数时,传默认参数时值为传入的值为2可变参数:
def func1(numbers): #定义位置参数函数 for num in numbers: print num func1((1, 2, 3)) #调用时需要传入元组或列表 func1([4, 5, 6]) def func2(* numbers): #定义可变参数函数 for num in numbers: print num func2(1, 2) #调用时可以传入任意个数参数 func2(3, 4, 5) number = ["23", "rose"] func2(* number) #传入一个列表时可以用 * 变量名 来操作关键字参数:
def func1(**numbers): #定义一个传入关键字参数的函数 print numbers extra = {'city': 'Beijing', 'job': 'Engineer'} #定义一个字典 func1(city=extra['city'], job=extra['job']) #调用func1函数,传入两个参数 func1() #未传入参数 func1(**extra) #传入整个字典 func1(city=extra['city']) #传入1个参数
