1、定义函数
下面是一个简单的函数,打印出Hello World!。
def sayHello(): print("Hello World!")#调用函数sayHello()
2、向函数传递参数
def sayHello(name): print("Hello, " + name.title() + "!")#调用函数sayHello("jack")
1)name是叫做形参,实际传递的参数"jack"叫做实参
2)多个参数时参数顺序很重要,传错顺序结果就不一样了。
3)参数默认值
编写函数时,可以给每个形参指定默认值,在调用函数中给形参数提供了实参时,将使用指定的实参值;否则,将使用形参的默认值。有些情况就可以,不指定实参,使用形参的默认值。
使用默认值时,在形参列表中必须先列出没有默认值的形参,再列出有默认值的实参。这让Python依然能够正确地解读位置实参。
def describeuser(user_name,user_age="18"):
print("\nMy name is " + user_name + ".")
print("My age is " + user_age + ".")
describeuser(user_name="jack")
describeuser("jack")
describeuser(user_name="jack",user_age="30")
describeuser(user_age="30",user_name="jack")
describeuser("jack","30")
上面4种调用方式都是正确的。传递参数时指定的形参的名字,这时就可以改变参数传入的顺序了。
3、函数返回值
在函数中,可使用return 语句将值返回到调用函数的代码行。python中不用显示指定返回值的类型。可以返回任意数据类型(列表,元组,字典等,都是可以的),下面示例返回整形。
def getSum(a,b):
return a + b
4、传递列表
列表做为函数的参数,正常是可以进行修改的,如果禁止函数修改列表。可以像下面这样做:
function_name(list_name[:])
切片表示法[:] 创建列表的副本,这样就不修改原始的列表了。
5、传递任意数量的实参
def fun(*params):
print(params)
>>> fun("hi","hello","go")
('hi', 'hello', 'go')
上面方法中只有一个*params参数,但可以传多个参数。执行方法可以看到打印出来的是一个元组。形参*params中的星号是让Python创建一个名为params的空元组。所有指定的参数都会存到里面。
6、使用任意数量的关键字实参
def fun1(first,last,**user_Info):
print(user_Info)
>>> fun1(1,2,abc='1',jack='18')
{'abc': '1', 'jack': '18'}
上面方法中**user_info参数,可以传递多个关键字实参,执行方法可以看出输出的类型是一个字典。形参**user_info中的两个星号是让Python默认创建一个空字典,关键字实参都会存到字典中。