ad

打开《Python 编程与应用实践》_成为Python大佬_5.1 函数与模块

网友投稿 127 2023-11-13

【摘要】 本书摘自《Python 编程与应用实践》一书中第5章,第1节,由冯伟森,王建,杨宁主编。

第5章 函数与模块

5.1 函数的定义

函数是带名字的代码块。简而言之, 一个函数就是一些语句集合在一起的部件,它们 可以不止一次地在程序中运行。函数还能够计算出一个返回值,并能够改变作为函数输入 的参数,而这些参数在代码运行时也许每次都不相同,例如在计算不同角度的正弦值时, 角度可能每次都不同,但是每次都使用sin 函数来求值。

5.2 函数创建和调用

打开《Python 编程与应用实践》_成为Python大佬_5.1 函数与模块

下面是一个打印的简单函数,名为hello():

Hello.py

def hello():

"""打印 Hello"""

print("Hello!")

hello()

这个示例演示了最简单的一种函数结构。def 语句告诉 Python 你要定义一个函数。 这是函数定义,它向Python 指出了函数名,还有可能在括号里指出函数为完成其任务需 要什么样的信息。在这里,函数名为 hello, 它并不需要其余任何信息就能完成自己的工 作,所以括号内为空(需要注意的是,即使是空,括号也是必不可少的)。最后,函数定 义以冒号结尾。

紧跟着def 语句之后的所有缩进行是函数的函数体。代码 print("Hello!") 是函数体 内唯一一行代码,此处函数只有一个作用:打印 Hello!。

要使用这个函数,可调用它。函数调用时 Python 执行函数的代码,要调用函数,可 依次指定函数名以及用括号括起来的必要信息。在hello 这个函数中,由于不需要指定任 何信息,因此调用的时候输入hello() 即函数名加上(),调用函数就行了。和预期的一样, 它打印 Hello!:

Hello!下面是一个稍微复杂一点的函数 hello, 函数作用是打印 hello 和用户的名字。区别于 上一个例子,在函数定义 def hello()的括号内添加了 name。通过这里添加的 name, 就可 以让函数接受用户给定的任何用户名字。如下所示:

def hello(name):

"""打印 Hello 和用户名名字"""

print("Hello!"+name+"!")

hello("Jia")

在代码 hello("Jia") 中,调用了函数 hello(), 并向它提供 print 语句所需要的必要信 息。函数接收用户传递给它的名字,向这个人问好,打印结果如下:

Hello!Jia!

5.3 参数

在前一节中,我们通过hello() 函数初步了解了参数,在该函数中,参数通过赋值 (name) 来传递,接下来我们详细介绍Python 中的参数。

·不可变类型。这个类似 C++ 中值的传递,如整数、字符串和元组。在 Python 里 针对这些不可变类型,就像是一个原值的拷贝,修改这些拷贝对象,它不会改变原本的对 象,不管我们怎么改变传递过来的值,原值始终不变。

·可变类型。这个类似 C++ 中引用的传递,如字典和列表。它传递的不是拷贝,而 是把值本体传过去,当我们在函数中改变值时,原值会发生改变。

5.3.1 实参和形参

在函数hello() 中,括号内 name 就是一个形参,它告诉完成这个函数所必需的一些信 息。而我们在后面调用函数hello("Jia”) 时,"Jia" 这是一个实参,实参对应于形参,这就 是我们提供给这个函数运行的必要内容。Python 运行时,把"Jia" 传递给了 name 这一个 形参。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:打开《OpenStack 云平台-部署与高可用实战》_3.HDFS 体系结构
下一篇:实战之路《Excel 数据处理与分析实战宝典_第2版》_8.4 INDEX 函数
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×