函数(一)
(一)形式参数和实际参数
- 实参为不可变对象时,进行的是值传递; 值传递后改变形参的值,而实际参数的值不变
- 实参为可变对象时,进行的是引用传递; 引用传递后,同时改变形参和实参的值
def demo(obj):
print("原值:",obj)
obj+=obj
print('======================值传递=======================')
mot="唯有在被追赶的时候,你才能真正地奔跑。"
print('函数调用前:',mot)
demo(mot) #采用不可变对象——字符串
print('函数调用后:',mot)
print('======================引用传递========================')
list1=['绮梦','林依依','香凝','戴兰']
print('函数调用前',list1)
demo(list1) #采用可变对象——列表
print('函数调用后:',list1)
======================值传递=======================
函数调用前: 唯有在被追赶的时候,你才能真正地奔跑。
原值: 唯有在被追赶的时候,你才能真正地奔跑。
函数调用后: 唯有在被追赶的时候,你才能真正地奔跑。
======================引用传递========================
函数调用前 ['绮梦', '林依依', '香凝', '戴兰']
原值: ['绮梦', '林依依', '香凝', '戴兰']
函数调用后: ['绮梦', '林依依', '香凝', '戴兰', '绮梦', '林依依', '香凝', '戴兰']
Process finished with exit code 0
def fun_bmi(person,height,weight):
'''
功能:根据身高和体重计算BMI指数
:param person: 姓名
:param height: 身高,单位:米
:param weight: 体重,单位;千克
:return:
'''
print(person+'的身高:'+str(height)+'米 \t 体重:'+str(weight)+'千克')
bmi=weight/(height*height) #用于计算BMI指数,公式为:体重/身高的平方
print(person+'的BMI指数为:'+str(bmi)