news 2026/6/6 12:17:03

python基础学习之Python 循环及函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python基础学习之Python 循环及函数

一、Python while 循环

Python 循环

Python 有两个原始的循环命令:
for 循环
while 循环

1. while 循环

如果使用 while 循环,只要条件为真,我们就可以执行一组语句。

实例
只要 i 小于 7,打印 i:

i=1whilei<7:print(i)i+=1

注释:请记得递增 i,否则循环会永远继续。

while 循环需要准备好相关的变量。在这个实例中,我们需要定义一个索引变量 i,我们将其设置为 1。

2. break 语句

如果使用 break 语句,即使 while 条件为真,我们也可以停止循环:

实例
在 i 等于 3 时退出循环:

i=1whilei<7:print(i)ifi==3:breaki+=1

3. continue 语句

如果使用 continue 语句,我们可以停止当前的迭代,并继续下一个:

实例
如果 i 等于 3,则继续下一个迭代:

i=0whilei<7:i+=1ifi==3:continueprint(i)

4. else 语句

通过使用 else 语句,当条件不再成立时,我们可以运行一次代码块:

实例
条件为假时打印一条消息:

i=1whilei<6:print(i)i+=1else:print("i is no longer less than 6")

二、Python For 循环

1. for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。

这与其他编程语言中的 for 关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。

通过使用 for 循环,我们可以为列表、元组、集合中的每个项目等执行一组语句。

实例
打印 fruits 列表中的每种水果:

fruits=["apple","banana","cherry"]forxinfruits:print(x)

提示:for 循环不需要预先设置索引变量。

循环遍历字符串
甚至连字符串都是可迭代的对象,它们包含一系列的字符:

实例
循环遍历单词 “banana” 中的字母:

forxin"banana":print(x)

2. break 语句

通过使用 break 语句,我们可以在循环遍历所有项目之前停止循环:

实例
如果 x 是 “banana”,则退出循环:

fruits=["apple","banana","cherry"]forxinfruits:print(x)ifx=="banana":break

实例
当 x 为 “banana” 时退出循环,但这次在打印之前中断:

fruits=["apple","banana","cherry"]forxinfruits:ifx=="banana":breakprint(x)

3. continue 语句

通过使用 continue 语句,我们可以停止循环的当前迭代,并继续下一个:

实例
不打印香蕉:

fruits=["apple","banana","cherry"]forxinfruits:ifx=="banana":continueprint(x)

4. range() 函数

如需循环一组代码指定的次数,我们可以使用 range() 函数,

range() 函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。

实例
使用 range() 函数:

forxinrange(10):print(x)

注意:range(10) 不是 0 到 10 的值,而是值 0 到 9。

range() 函数默认 0 为起始值,不过可以通过添加参数来指定起始值:range(3, 10),这意味着值为 3 到 10(但不包括 10):

实例
使用起始参数:

forxinrange(3,10):print(x)

range() 函数默认将序列递增 1,但是可以通过添加第三个参数来指定增量值:range(2, 30, 3):

实例
使用 3 递增序列(默认值为 1):

forxinrange(3,50,6):print(x)

5. For 循环中的 Else

for 循环中的 else 关键字指定循环结束时要执行的代码块:

实例
打印 0 到 9 的所有数字,并在循环结束时打印一条消息:

forxinrange(10):print(x)else:print("Finally finished!")

6. 嵌套循环

嵌套循环是循环内的循环。

“外循环”每迭代一次,“内循环”将执行一次:

实例
打印每个水果的每个形容词:

adj=["red","big","tasty"]fruits=["apple","banana","cherry"]forxinadj:foryinfruits:print(x,y)

7. pass 语句

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

实例

forxin[0,1,2]:pass

三、Python 函数

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

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

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

1. 创建函数

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

defmy_function():print("Hello from a function")

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

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

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

defmy_function(fname):print(fname+" Gates")my_function("Bill")my_function("Steve")my_function("Elon")

2.默认参数值

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

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

defmy_function(country="China"):print("I am from "+country)my_function("Sweden")my_function("India")my_function()my_function("Brazil")

3. 以 List 传参

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

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

defmy_function(food):forxinfood:print(x)fruits=["apple","banana","cherry"]my_function(fruits)

4. 返回值

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

defmy_function(x):return5*xprint(my_function(3))print(my_function(5))print(my_function(9))

5. 关键字参数

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

参数的顺序无关紧要。

defmy_function(child3,child2,child1):print("The youngest child is "+child3)my_function(child1="Phoebe",child2="Jennifer",child3="Rory")

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

6. 任意参数

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

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

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

defmy_function(*kids):print("The youngest child is "+kids[2])my_function("Phoebe","Jennifer","Rory")

7. pass 语句

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

defmyfunction:pass

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

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

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

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

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

实例
递归的例子:

deftri_recursion(k):if(k>0):result=k+tri_recursion(k-1)print(result)else:result=0returnresultprint("\n\nRecursion Example Results")tri_recursion(6)tri_recursion(6)6+tri_recursion(5)5+tri_recursion(4)4+tri_recursion(3)3+tri_recursion(2)2+tri_recursion(1)1+tri_recursion(0)0(返回0)1+0=1(打印1)2+1=3(打印3)3+3=6(打印6)4+6=10(打印10)5+10=15(打印15)6+15=21(打印21)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/3 6:30:45

当前主流CPU架构

当前主流CPU架构 1. X86架构&#xff08;CISC类&#xff09; 代表厂商&#xff1a;Intel、AMD核心特点&#xff1a;复杂指令集(CISC)&#xff0c;单指令可完成复杂操作&#xff0c;指令长度可变&#xff0c;硬件逻辑复杂市场地位&#xff1a;桌面和服务器市场绝对主导&#xff…

作者头像 李华
网站建设 2026/6/6 1:44:07

程序员/小白必藏:智能体(Agent)开发入门指南,从理论到实战

“我不懂技术&#xff0c;也能做 Agent 吗&#xff1f;” “怎么开始玩 Dify、扣子这些平台&#xff1f;” “我要用 AI 赚钱&#xff0c;智能体是不是核心入口&#xff1f;” 如果你也被这些问题搞得头大&#xff0c;不用再满世界搜碎片资料了。 智能体内容爆发&#xff0c;教…

作者头像 李华
网站建设 2026/6/7 4:30:55

PostgreSQL 16 + pgvector 完整安装和内网访问指南(Ubuntu 20.04)

1. 更新系统并安装必要工具 sudo apt update sudo apt install -y wget ca-certificates gnupg lsb-release2. 导入 PostgreSQL archive 仓库 GPG 密钥 wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql…

作者头像 李华
网站建设 2026/6/4 0:20:08

dify v1.11.1 离线安装本地插件怎么报错了?!

Dify v1.11.1离线插件安装失败&#xff1f; 最近Dify v1.11.1版本发布后&#xff0c;不少开发者反馈离线插件安装频频碰壁——界面提示"安装失败"却无具体原因&#xff0c;进度条卡在90%一动不动&#xff0c;后台日志疯狂刷屏"依赖下载超时"。这些问题看似…

作者头像 李华
网站建设 2026/6/6 9:23:10

EmotiVoice实战指南:从文本到富有情感的语音只需三步

EmotiVoice实战指南&#xff1a;从文本到富有情感的语音只需三步 在智能语音助手越来越“懂人心”的今天&#xff0c;用户早已不满足于机械地播报天气或导航路线。我们期待的是一个能共情、会安慰、甚至带点小情绪的对话伙伴——这正是情感化语音合成&#xff08;Emotional TTS…

作者头像 李华
网站建设 2026/6/6 16:12:04

灵活用工平台注册,亲测合规要点

灵活用工平台行业分析&#xff1a;天语灵活用工平台的合规要点行业痛点分析在当前的灵活用工平台领域&#xff0c;技术挑战主要体现在数据安全、算薪准确性和合规性等方面。随着灵活用工需求的增加&#xff0c;平台需要处理大量的用户数据和薪资计算&#xff0c;这对系统的技术…

作者头像 李华