一、函数的创建和调用
1、代码编写:
# 定义函数
def demo(obj):
print("原值:",obj)
obj += obj
#调用函数
print("=========值传递========")
mot = "唯有在被追赶的时候,你才能真正地奔跑。"
print("函数调用前:",mot)
demo(mot) #采用不可变对象——字符串
print("函数调用后:",mot)
print("=========引用传递 ========")
list1 = ['邓肯','吉诺比利','帕克']
print("函数调用前:",list1)
demo(list1) #采用可变对象——列表
print("函数调用后:",list1)
运行程序,控制台打印输出的信息:
二、定义函数并为参数obj指定默认值
1、代码编写:
def demo(obj=[]): # 定义函数并为参数obj指定默认值
print("obj的值:",obj)
obj.append(1)
demo()
demo()
运行程序,控制台打印输出的信息:
三、了解形式参数和实际参数
1、代码编写:
def demo(obj=None):
if obj==None:
obj = []
print("obj的值:",obj)
obj.append(1)
demo()
demo()
运行程序,控制台打印输出的信息:
四、位置参数
1、代码编写:
def printplayer(*name): # 定义输出我喜欢的NBA球员的函数
print('\n我喜欢的NBA球员有:')
for item in name:
print(item) # 输出球员名称
printplayer('邓肯')
printplayer('邓肯', '乔丹', '吉诺比利', '帕克')
printplayer('邓肯', '大卫罗宾逊', '卡特', '鲍文')
运行程序,控制台打印输出的信息:
五、关键字参数
1、代码编写:
def printsign(**sign): # 定义输出姓名和绰号的函数
print() # 输出一个空行
for key, value in sign.items(): # 遍历字典
print("[" + key + "] 的绰号是:" + value) # 输出组合后的信息
printsign(邓肯='石佛', 罗宾逊='海军上将')
printsign(吉诺比利='妖刀', 帕克='跑车', 鲍文='鲍三叔')
运行程序,控制台打印输出的信息:
六、为参数设置默认值
1、代码编写:
def fun_checkout(name):
nickName=""
if name == "邓肯": # 如果输入的是邓肯
nickName = "石佛"
elif name == "吉诺比利": # 如果输入的是吉诺比利
nickName = "妖刀"
elif name == "罗宾逊": # 如果输入的是罗宾逊
nickName = "海军上将"
else:
nickName = "无法找到您输入的信息"
return nickName # 返回球员对应的绰号
# *****************************调用函数***********************************#
while True:
name= input("请输入NBA球员名称:") # 接收用户输入
nickname= fun_checkout(name) # 调用函数
print("球员:", name, "绰号:", nickname) # 显示球员及对应绰号
运行程序,控制台打印输出的信息:
七、可变参数
1、代码编写:
message = '唯有在被追赶的时候,你才能真正地奔跑。' # 全局变量
def f_demo():
print('函数体内:全局变量message =',message) # 在函数体内输出全局变量的值
f_demo() # 调用函数
print('函数体外:全局变量message =',message) # 在函数体外输出全局变量的值
运行程序,控制台打印输出的信息:
八、返回值
1、代码编写:
message = '唯有在被追赶的时候,你才能真正地奔跑。' # 全局变量
print('函数体外:message =',message) # 在函数体外输出全局变量的值
def f_demo():
message = '命运给予我们的不是失望之酒,而是机会之杯。' # 局部变量
print('函数体内:message =',message) # 在函数体内输出局部变量的值
f_demo() # 调用函数
print('函数体外:message =',message) # 在函数体外输出全局变量的值
运行程序,控制台打印输出的信息:
九、变量的作用域
1、代码编写:
message = '唯有在被追赶的时候,你才能真正地奔跑。' # 全局变量
print('函数体外:message =',message) # 在函数体外输出全局变量的值
def f_demo():
global message # 将message声明为全局变量
message = '命运给予我们的不是失望之酒,而是机会之杯。' # 全局变量
print('函数体内:message =',message) # 在函数体内输出全局变量的值
f_demo() # 调用函数
print('函数体外:message =',message) # 在函数体外输出全局变量的值
运行程序,控制台打印输出的信息:
十、匿名函数
1、代码编写:
import math # 导入math模块
def circlearea(r): # 计算圆面积的函数
result = math.pi*r*r # 计算圆面积
return result # 返回圆的面积
r = 10 # 半径
print('半径为',r,'的圆面积为:',circlearea(r))
运行程序,控制台打印输出的信息: