开发者学堂课程【Python入门 2020年版:函数的参数】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10326
函数的参数
函数的格式
#def函数名(参数):
#函数体
#调用函数:函数名(参数)
Def tell-story():
print
('从前有座山')
print
( '山上有座庙')
print
('庙里有个老和尚’)
print
( '还有一个小和尚')
print
('老和尚在给小和尚讲故事')
print
(‘故事的内容是‘)
故事有点单调,假如想修改定制这个故事,例如将庙换成道观,将和尚换成老道等等,要修改庙
就不能将庙写死,
Place
=’庙’
Person1
=’老和尚’
Person
=’老和尚’
print
('从前有座山')
print
( '山上有座'+place)
print
('庙里个’+person1)
print
( '还有一个'+person2)
print
(person1+'在给’+person2+’讲故事')
print
(‘故事的内容是‘)
运行一下
故事已经讲起来了
从前有座山
山上有座庙
庙里有个老和尚
还有一个小和尚
老和尚在给小和尚讲故事
故事的内容是
删掉print(‘故事的内容是‘),要修改故事的内容,因为函数是一块准备好的代码,所以不会自己执行,所以要修改故事内容,就应该在调用的地方修改。
#调用函数时传递数据
Tell-story
(’道观’,’老道’,’道童’)
运行结果崩掉了,原因是调用的时候输入数据了,但是并未被接受,
Def tell-story
(place,person1,person2):
Place
=’庙’
Person1
=’老和尚’
Person
=’老和尚’
print
('从前有座山')
print
( '山上有座'+place)
print
('庙里个’+person1)
print
( '还有一个'+person2)
print
(person1+'在给’+person2+’讲故事')
删掉Place=’庙’
Person1
=’老和尚’
Person
=’老和尚’
Def tell-story
(place,person1,person2):
print
('从前有座山')
print
( '山上有座'+place)
print
('庙里个’+person1)
print
( '还有一个'+person2)
print
(person1+'在给’+person2+’讲故事')
#调用函数时传递数据
Tell-story
(’道观’,’老道’,’道童’)
一一对应,道观传递给place,老道传递给person1,道童传递给person2,一一对应传递进去。
当运行时,place就会参与逻辑处理,其中有个处理:#place=’道观’
person1=’老道’, person2=’道童’
#函数声明时,括号里的参数我们称之为形式参数,简称为形参
#形参是不确定的,只是用来占位的,Def tell-story (place,person1,person2)
单纯看这行代码,
place,person1,person2
都不知道是什么,具体的值并不知道是什莫,只有在函数调用时才能知道是什么。
函数调用时传入的参数,才是真正参与运算的数据,我们称之为实参。
#调用函数时传递数据
Tell-story
(’道观’,’老道’,’道童’)
Tell-story
(’尼姑庵’,’师太’,’小尼姑’)
运行结果为讲了两遍不同的故事
从前有座山
山上有座道观
庙里有个老道
还有一个道童
老道在给道童讲故事
从前有座山
山上有座尼姑庵
庙里有个师太
还有一个小尼姑
师太在给小尼姑讲故事
什么时候定义参数,定义参数有何规律,不变的不做更改,可变的用参数来替代,假如需求必须发生在庙里,则庙就不用更改。
Tell-story
(’道观’,’老道’,’道童’)#会把实参一一对应的传递,交给形参处理
Tell-story
(’尼姑庵’,’师太’,’小尼姑’)
还可以用变量的形式传递,以变量赋值的形式来调用。
Tell-story
(person1=’禅师’,person2=’青年’)
运行结果:
从前有座山
山上有座庙
庙里有个禅师
还有一个青年
禅师在给青年讲故事
换成Tell-story
(person2=’青年’, person1=’禅师’,)也可以
运行结果:
从前有座山
山上有座庙
庙里有个禅师
还有一个青年
禅师在给青年讲故事