当前位置: 首页 > news >正文

Python入门教程(十九)python的函数详解

函数是一种仅在调用时运行的代码块。

可以将数据(称为参数)传递到函数中。

函数可以把数据作为结果返回。

创建函数

在 Python 中,使用 def 关键字定义函数:

实例

1

2

defmy_function():

print("Hello from a function")

调用函数

如需调用函数,请使用函数名称后跟括号:

实例

1

2

3

4

defmy_function():

print("Hello from a function")

my_function()

运行实例

1

Hellofroma function

参数

信息可以作为参数传递给函数。

参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可。

下面的例子有一个带参数(fname)的函数。当调用此函数时,我们传递一个名字,在函数内部使用它来打印全名:

实例

1

2

3

4

5

6

defmy_function(fname):

print(fname+" Gates")

my_function("Bill")

my_function("Steve")

my_function("Elon")

运行实例

1

2

3

Rory John Gates

Jennifer Katharine Gates

Phoebe Adele Gates

默认参数值

下面的例子展示如何使用默认参数值。

如果我们调用了不带参数的函数,则使用默认值:

实例

1

2

3

4

5

6

7

defmy_function(country="China"):

print("I am from "+country)

my_function("Sweden")

my_function("India")

my_function()

my_function("Brazil")

运行实例

I am from Sweden I am from India I am from China I am from Brazil

以 List 传参

您发送到函数的参数可以是任何数据类型(字符串、数字、列表、字典等),并且在函数内其将被视为相同数据类型。

例如,如果您将 List 作为参数发送,它到达函数时仍将是 List(列表):

实例

1

2

3

4

5

6

7

defmy_function(food):

forxinfood:

print(x)

fruits=["apple","banana","cherry"]

my_function(fruits)

运行实例

apple banana cherry

返回值

如需使函数返回值,请使用 return 语句:

实例

1

2

3

4

5

6

defmy_function(x):

return5*x

print(my_function(3))

print(my_function(5))

print(my_function(9))

运行实例

15 25 45

关键字参数

您还可以使用 key = value 语法发送参数。

参数的顺序无关紧要。

实例

1

2

3

4

defmy_function(child3, child2, child1):

print("The youngest child is "+child3)

my_function(child1="Phoebe", child2="Jennifer", child3="Rory")

运行实例

The youngest child is Rory

在 Python 文档中,“关键字参数”一词通常简称为 kwargs。

任意参数

如果您不知道将传递给您的函数多少个参数,请在函数定义的参数名称前添加 *。

这样,函数将接收一个参数元组,并可以相应地访问各项:

实例

如果参数数目未知,请在参数名称前添加 *:

1

2

3

4

defmy_function(*kids):

print("The youngest child is "+kids[2])

my_function("Phoebe","Jennifer","Rory")

运行实例

The youngest child is Rory

pass 语句

函数定义不能为空,但是如果您出于某种原因写了无内容的函数定义,请使用 pass 语句来避免错误。

实例

1

2

defmyfunction:

pass

递归

Python 也接受函数递归,这意味着定义的函数能够调用自身。

递归是一种常见的数学和编程概念。它意味着函数调用自身。这样做的好处是可以循环访问数据以达成结果。

开发人员应该非常小心递归,因为它可以很容易地编写一个永不终止的,或者使用过量内存或处理器能力的函数。但是,在被正确编写后,递归可能是一种非常有效且数学上优雅的编程方法。

在这个例子中,tri_recursion() 是我们定义为调用自身 (“recurse”) 的函数。我们使用 k 变量作为数据,每次递归时递减(-1)。当条件不大于 0 时(比如当它为 0 时),递归结束。

对于新的开发人员来说,可能需要一些时间来搞清楚其工作原理,最好的方法是测试并修改它。

实例

递归的例子:

1

2

3

4

5

6

7

8

9

10

deftri_recursion(k):

if(k>0):

result=k+tri_recursion(k-1)

print(result)

else:

result=0

returnresult

print("\n\nRecursion Example Results")

tri_recursion(6)

运行实例

Recursion Example Results 1 3 6 10 15 21

到此这篇关于Python入门教程(十九)python的函数详解的文章就介绍到这了

http://www.jsqmd.com/news/668431/

相关文章:

  • VSCodium连接远程服务器
  • AGI训练数据版权困局全解密(含OpenAI、Anthropic、通义实验室三方诉讼实证)
  • LeagueAkari英雄联盟工具包:10个提升游戏体验的终极技巧
  • 为什么宝塔面板定时访问URL任务总是报502_检查目标接口响应时间与延长任务执行超时设置
  • 手把手教你用Chrome/Firefox开发者工具一眼看穿网站用的是DV、OV还是EV证书
  • 从Java老手到Rust新手:在IntelliJ IDEA里无缝切换,我的环境配置与插件组合心得
  • SITS2026紧急预警:AGI辅助科研已触发3类学术伦理临界点,你所在的团队是否已通过合规性压力测试?
  • Bootstrap中.d-none类在不同分辨率下的高级用法
  • 《从阅读到输出》读书笔记
  • 别再死记硬背了!用这5个UVM功能覆盖率实战案例,彻底搞懂covergroup和coverpoint
  • 飞轮储能系统:机侧与网侧变流器及其控制的Matlab/Simulink仿真模型
  • Python入门教程 超详细1小时学会Python
  • 《用AI轻松搞定投资》读书笔记:你的第一个智能投资助手
  • 5G NR帧结构实战解析:如何通过灵活时隙与Mini-Slot设计满足eMBB/URLLC不同业务需求?
  • AdSense新手必看:W-8BEN表格保姆级填写指南,避开3个常见错误(附地址翻译技巧)
  • 基础篇四String 真的不可变吗?三种字符串类到底该用哪个?
  • 如何防止SQL触发器导致性能下降_通过精简触发器逻辑
  • html标签如何验证HTML代码_W3C校验器使用技巧【技巧】
  • 别再手动切换了!用Creo二次开发自动识别钣金件与实体零件,提升设计效率
  • 你的风扇测速代码还在用阻塞查询?试试STM32F103输入捕获+DMA的‘无感’方案
  • 如何用SQL实现分组内前N个百分比筛选_窗口函数应用
  • CTF新手必看:从猪圈密码到JSFuck,这10种古典密码的识别与破解实战
  • CSS如何实现复杂的边框渐变效果_配合border-image使用
  • 【UCIe】D2D Adapter:芯片间互连的“智能交通枢纽”
  • Harness Engineer:把 AI 变成可复用工程能力的实践指南
  • Python获取与处理文件路径/目录路径实例代码
  • 步骤3的自动化版本
  • 手把手配置华为交换机VLAN:为移动IMS专线搭建安全私网(含SBC对接要点)
  • 蓝桥杯单片机CT107D开发板实战:手把手教你搞定第十二届省赛温度控制题(IAP15F2K61S2+Keil5)
  • 科研党福音:Zotero 6.0 内置PDF阅读器+翻译插件,打造一站式文献阅读与笔记系统