1、从简单开始
import os
❶ def hello():
❷ """显示简单的语句"""
❸ print("我就是你,小花!")
hello()
执行结果:
C:\Users\kangs\anaconda3\python.exe E:/PythonAlgorithms/pythonfun2020/def1.py
我就是你,小花!
进程已结束,退出代码 0
解释上述函数结构的思想就基本了解Python函数模块的情况了,后面的我们就融会贯通,思考分析,发现更多有趣的应用就可以了,再结合相关使用说明就上船了。
这个示例演示了最简单的函数结构。 ❶处的代码行使用关键字def 来告诉Python你要定义一个函数。 这是函数定义 , 向Python指出了函数名, 还可能在括号内指出函数为完成其任务需要什么样的信息。
在这里, 函数名为hello() , 它不需要任何信息就能完成其工作, 因此括号是空的(即便如此, 括号也必不可少) 。
最后, 定义以冒号结尾。紧跟在def hello(): 后面的所有缩进行构成了函数体。
❷处的文本是被称为文档字符串 (docstring) 的注释, 描述了函数是做什么的。 文档字符串用三引号括起, Python使用它们来生成有关程序中函数的文档。代码行print("我就是你,小花!") (见❸) 是函数体内的唯一一行代码, hello() 只做一项工作: 打印Hello! 。
要使用这个函数, 可调用它。 函数调用 让Python执行函数的代码。 要调用 函数, 可依次指定函数名以及用括号括起的必要信息, 如❹处所示。 由于这个函数不需要任何信息, 因此调用它时只需输入hello() 即可。 和预期的一样, 它打印Hello!
2、向函数传递信息
只需稍作修改, 就可以让函数hello() 不仅向用户显示Hello! , 还将用户的名字用作抬头。 为此, 可在函数定义def hello() 的括号内添加username 。 通过在这里添加username , 就可让函数接受你给username 指定的任何值。 现在, 这个函数要求你调用它时给username 指定一个值。 调用hello() 时, 可将一个名字传递给它, 如下所示
import os
def hello(username):
"""显示简单的语句"""
print("我喜欢你,"+username.title()+"!")
hello("小花,小花")
执行结果:
我喜欢你,小花,小花!
进程已结束,退出代码 0
3、函数参数
鉴于函数定义中可能包含多个形参, 因此函数调用中也可能包含多个实参。 向函数传递实参的方式很多, 可使用位置实参 , 这要求实参的顺序与形参的顺序相同; 也可使用关键字实参 , 其中每个实参都由变量名和值组成; 还可使用列表和字典。 下面来依次介绍这些方式。
位置实参
你调用函数时, Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。 为此, 最简单的关联方式是基于实参的顺序。 这种关联方式被称为位置实参 。为明白其中的工作原理, 来看一个显示宠物信息的函数。 这个函数指出一个宠物属于哪种动物以及它叫什么名字, 如下所示:
pets.py
❶ def describe_pet(animal_type, pet_name):
"""显示宠物的信息"""
print("\nI have a " + animal_type + ".")
print("My " + animal_type + "'s name is " + pet_name.title() + ".")
❷ describe_pet('hamster', 'harry')
这个函数的定义表明, 它需要一种动物类型和一个名字(见❶) 。 调用describe_pet() 时, 需要按顺序提供一种动物类型和一个名字。 例如, 在前面的函数调用中, 实参'hamster' 存储在形参animal_type 中, 而实参'harry' 存储在形参pet_name 中(见❷) 。 在函数体内, 使用了这两个形参来显示宠物的信息。输出描述了一只名为Harry的仓鼠.
网友评论