没有合适的资源?快使用搜索试试~ 我知道了~
Phython编程中函数的具体应用,适合初学者
需积分: 5 0 下载量 156 浏览量
2024-05-17
20:46:22
上传
评论
收藏 370KB PDF 举报
温馨提示
试读
36页
在Python中,函数是一个非常重要的概念,它允许你组织代码以便重用。函数是带名字的代码块,用于完成具体的工作。要执行函数定义的特定任务,可调用该函数。需要在程序中多次执行同一项任务时,无需反复编写完成该任务的代码,而只需调用执行该任务的函数,让Python运行其中的代码。通过使用函数,程序的编写、阅读、测试和修复都将更容易。
资源推荐
资源详情
资源评论
Phython 中函数的应用
函数是带名字的代码块,用于完成具体的工作。
要执行函数定义的特定任务,可调用该函数。需要在程序中多次执行同一
项任务时,你无需反复编写完成该任务的代码,而只需调用执行该任务的
函数,让 Python 运行其中的代码。你将发现,通过使用函数,程序的编写、
阅读、测试和修复都将更容易。
在本文中,还介绍了向函数传递信息的方式以及如何编写主要任务是显示信息
的函数,还有用于处理数据并返回一个或一组值的函数。最将介绍如何将函数
存储在被称为模块的独立文件中,让主程序文件的组织更为有序。
1 定义函数
下面是一个打印问候语的简单函数,名为 greet_user() :
greeter.py
❶ def greet_user():
❷ """显示简单的问候语"""
❸ print("Hello!")
❹ greet_user()
这个示例演示了最简单的函数结构。❶处的代码行使用关键字 def 来告诉
Python 你要定义一个函数。这是函数定义 ,向 Python 指出了函数名,还可能
在括号内指出函数为完成其任务需要什么样的信息。在这里,函数名为
greet_user() ,它不需要任何信息就能完成其工作,因此括号是空的(即便如
此,括号也必不可少)。最后,定义以冒号结尾。
紧跟在 def greet_user(): 后面的所有缩进行构成了函数体。❷处的文本是被称
为文档字符串 (docstring)的注释,描述了函数是做什么的。文档字符串用三
引号括起,Python 使用它们来生成有关程序中函数的文档。
代码行 print("Hello!") (见❸)是函数体内的唯一一行代码,greet_user() 只做
一项工作:打印 Hello! 。
要使用这个函数,可调用它。函数调用 让 Python 执行函数的代码。要调用 函
数,可依次指定函数名以及用括号括起的必要信息,如❹处所示。由于这个函
数不需要任何信息,因此调用它时只需输入 greet_user() 即可。和预期的一
样,它打印 Hello! :
Hello!
1.1 向函数传递信息
只需稍作修改,就可以让函数 greet_user() 不仅向用户显示 Hello! ,还将用户
的名字用作抬头。为此,可在函数定义 def greet_user() 的括号内添加
username 。通过在这里添加 username ,就可让函数接受你给 username 指
定的任何值。现在,这个函数要求你调用它时给 username 指定一个值。调用
greet_user() 时,可将一个名字传递给它,如下所示:
def greet_user(username):
"""显示简单的问候语"""
print("Hello, " + username.title() + "!")
greet_user('jesse')
代码 greet_user('jesse') 调用函数 greet_user() ,并向它提供执行 print 语句所
需的信息。这个函数接受你传递给它的名字,并向这个人发出问候:
Hello, Jesse!
同样,greet_user('sarah') 调用函数 greet_user() 并向它传递'sarah' ,打印
Hello, Sarah! 。你可以根据需要调用函数 greet_user() 任意次,调用时无论传
入什么样的名字,都会生成相应的输出。
1.2 实参和形参
前面定义函数 greet_user() 时,要求给变量 username 指定一个值。调用这个
函数并提供这种信息(人名)时,它将打印相应的问候语。
在函数 greet_user() 的定义中,变量 username 是一个形参 ——函数完成其工
作所需的一项信息。在代码 greet_user('jesse') 中,值'jesse' 是一个实参 。实
参是调用函数时传递给函数的信息。我们调用函数时,将要让函数使用的信息
放在括号内。在 greet_user('jesse') 中,将实参'jesse' 传递给了函数
greet_user() ,这个值被存储在形参 username 中。
2 传递实参
鉴于函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。向
函数传递实参的方式很多,可使用位置实参 ,这要求实参的顺序与形参的顺序
相同;也可使用关键字实参 ,其中每个实参都由变量名和值组成;还可使用列
表和字典。下面来依次介绍这些方式。
2.1 位置实参
你调用函数时,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 的仓鼠:
I have a hamster.
My hamster's name is Harry.
1. 调用函数多次
你可以根据需要调用函数任意次。要再描述一个宠物,只需再次调用
describe_pet()即可:
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('dog', 'willie')
第二次调用 describe_pet() 函数时,我们向它传递了实参'dog' 和'willie' 。与第
一次调用时一样,Python 将实参'dog' 关联到形参 animal_type ,并将实参
'willie'
关联到形参 pet_name 。与前面一样,这个函数完成其任务,但打印的是一条
名为 Willie 的小狗的信息。至此,我们有一只名为 Harry 的仓鼠,还有一条名
为 Willie 的小狗:
I have a hamster.
My hamster's name is Harry.
I have a dog.
My dog's name is Willie.
调用函数多次是一种效率极高的工作方式。我们只需在函数中编写描述宠物的
代码一次,然后每当需要描述新宠物时,都可调用这个函数,并向它提供新宠
物的信息。即便描述宠物的代码增加到了 10 行,你依然只需使用一行调用函数
剩余35页未读,继续阅读
资源评论
icysmile131
- 粉丝: 3074
- 资源: 111
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功