ad

打开《Python 编程与应用实践》_成为Python大佬_5.3.5 任意数量参数

网友投稿 126 2023-11-13

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

5.3.5 任意数量参数

(1)传递元组。

在实际使用中,很多时候,我们往往不能提前知道需要多少个实参,这就是任意数量 的参数。

打开《Python 编程与应用实践》_成为Python大佬_5.3.5 任意数量参数

例如,我们有很多人的名字,我们要通过他们的名字进行打招呼,打印hello 。看如 下例子:

def hello(*names):

for name in names:

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

hello("Jia","He","Jiang")

值得注意的是,在函数的参数位置中我们使用的*names, 这里多了一个星号,加了 星号则表示传递的是一个元组的形式。代码执行结果如下:

Hello!Jia!

Hello!He!

Hello!Jiang!

即使我们只传入了一个实参,它依然是存放在一个元组里。

(2)传递字典。

同样,我们可以使用字典传入值。

例如,我们会传入某人姓名、年龄和性别,然后打印自我介绍。

def intro_myself(**info):

print(info)

intro_myself(name="Jia",age="18",sex="girl")

首先我们看程序运行结果:

{'name':Jia','age':'18','sex':'girl'}

这里函数中使用了两个星号,两个星号表示传递的是一个字典的形式, Python 会在 后台给我们创建一个空的字典。

从目前所学知识来讲,在编写函数时,我们可以混合使用前面所学习的各种参数,不 一定拘泥于一种,我们可以培养自己的习惯,选择自己能掌握的最简单的形式。

5.3.6 传递列表

在很多程序中传递列表是很有用的,通常我们会经常用到名字、年龄和性别等列表。 例如有一个列表,里面有几个人名,我们现在通过函数打印问候:

def hello(names):

for name in names:

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

person_names=["Jia","He","Jiang"]

hello(person_names)

我们将 hello() 定义为可以接受一个名字列表,并将列表存在 names 里,这里先创建 了一个 person_names 的列表,然后调用函数 hello(), 将 person_names 列表传递给 names, 再依次遍历打印:

Hello!Jia!

Hello!He!

Hello!Jiang!

5.4 返回值

在以后的编程学习中,大多数情况下我们并不会把函数只是用来输出,更多情况下会 使用函数进行数据处理,并返回给需要的程序,这里返回的数据称为返回值。 return 语句 就是用来返回值的,它可以返回一个式子。

在函数中不仅可以返回简单值(数字、字符串等),还可以返回一些复杂的数据结构。 在很多情况下,我们会要求返回列表和字典等。

例如,下面函数功能是根据人名打招呼:

def hello(name):

hello_str="Hello!"+name

return hello_str

namel="Jia'

print(hello(namel))

函数 hello() 是接收姓名,然后将字符串"hello!" 和姓名连接,最后把连接后的字符串 赋予新的字符串"hello_str", 最后通过renturn 语句返回新的字符串。调用时我们使用 了"namel" 作为实参传递给函数,最后打印出返回的新的字符串:

Hello!Jia

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

上一篇:学习《Python网络爬虫 从入门到精通》_掌握爬虫的精髓_Python 与网络爬虫
下一篇:打开《Python 可视化数据分析》_学会挖掘大数据的价值_5.6 绘制箱线图
相关文章

 发表评论

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

×