• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 详解Python中的循环语句的用法

详解Python中的循环语句的用法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python开发技术详解,python os模块详解,python正则表达式详解,python 字典详解,python类详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、简介

      Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性。须重要理解,if、while、for以及与它们相搭配的 else、 elif、break、continue和pass语句。
二、详解
1、if语句

        Python中的if子句由三部分组成:关键字本身、用于判断结果真假的条件表达式以及当表达式为真或者非零时执行的代码块。if 语句的语法如下:

if expression:
 expr_true_suite
</div>

        if 语句的expr_true_suite代码块只有在条件表达式的结果的布尔值为真时才执行,否则将继续执行紧跟在该代码块后面的语句。
(1)多重条件表达式
        单个if语句可以通过使用布尔操作符and、or和not,实现多重判断条件或是否定判断条件。
(2)单一语句的代码块
        如果一个复合语句(例如if子句、while或for循环)的代码块仅仅包含一行代码,那么它可以和前面的语句写在同一行上。如if make_hard_copy: send_data_to_printer(),这样的单行语句是合法的, 尽管它可能方便,但这样会使得代码更难阅读, 所以推荐将这行代码移到下一行并合理地缩进。另外一个原因就是如果你需要添加新的代码, 你还是得把它移到下一行。
2、else语句
       Python提供了与if语句搭配使用的else语句,如果if语句的条件表达式的结果布尔值为假,那么程序将执行 else 语句后的代码。其语法如下:

if expression:
 expr_true_suite
else:
 expr_false_suite
</div>

        在C语言中,不会在条件语句范围外发现else语句, 但Python不同,可以在while和for循环中使用else语句,在循环中使用时,else子句只在循环完成后执行,也就是说break语句也会跳过else块。
         例:显示出10到20中的数字的最大约数

在CODE上查看代码片派生到我的代码片

 #!/usr/bin/env python 
  
 def showMaxFactor(num): 
  count = num / 2 
  while count > 1: 
   if (num % count == 0): 
   print 'largest factor of %d is %d' % (num, count) 
   break 
   count = count - 1 
  else: 
  print eachNum, 'is prime' 
  
 for eachNum in range(10, 21): 
  showMaxFactor(eachNum) 

</div>

在CODE上查看代码片派生到我的代码片

 largest factor of 10 is 5 
 11 is prime 
 largest factor of 12 is 6 
 13 is prime 
 largest factor of 14 is 7 
 largest factor of 15 is 5 
 largest factor of 16 is 8 
 17 is prime 
 largest factor of 18 is 9 
 19 is prime 
 largest factor of 20 is 10 

</div>

3、elif (即else-if )语句
        elif是Python的else-if 语句,它检查多个表达式是否为真,并在为真时执行特定代码块中的代码。和else一样,elif 声明是可选的,然而不同的是if 语句后最多只能有一个else语句,但可以有任意数量的 elif 语句。

if expression1:
 expr1_true_suite
elif expression2:
 expr2_true_suite
 ...
elif expressionN:
 exprN_true_suite
else:
 none_of_the_above_suite

</div>

        在将来的某天,Python可能会支持 switch /case语句,但是完全可以用其他的Python结构来模拟它。在Python中,大量的if-elif 语句并不难阅读。
在CODE上查看代码片派生到我的代码片

 if user.cmd == 'create': 
  action = "create item" 
 elif user.cmd == 'delete': 
  action = 'delete item' 
 elif user.cmd == 'update': 
  action = 'update item' 
 else: 
  action = 'invalid choice... try again!' 

</div>

       上面的语句还可以用序列和成员关系操作符来简化它:

在CODE上查看代码片派生到我的代码片

 if user.cmd in ('create', 'delete', 'update'): 
  action = '%s item' % user.cmd 
 else: 
  action = 'invalid choice... try again!' 

</div>

       还可以用Python字典给出更加优雅的解决方案,使用映射对象(比如字典)的一个最大好处就是它的搜索操作比类似语句或是 for 循环这样的序列查询要快很多。

在CODE上查看代码片派生到我的代码片

 msgs = {'create': 'create item', 
   'delete': 'delete item', 
   'update': 'update item' 
   } 
 default = 'invalid choice... try again!' 
 action = msgs.get(user.cmd, default) 

</div>

4、条件表达式(即"三元操作符")
       三元运算符语法为:X if C else Y,只需要一行完成条件判断和赋值操作:

在CODE上查看代码片派生到我的代码片

 >>> x, y = 4, 3 
 >>> smaller = x if x < y else y 
 >>> smaller 
 3 

</div>

5、while语句
      while是一个条件循环语句,与if声明相比,如果 if 后的条件为真,就会执行一次相应的代码块。而while中的代码块会一直循环执行,直到循环条件不再为真。
(1)一般语法
       while循环的语法如下:

while expression:
 suite_to_repeat
</div>

        while循环的suite_to_repeat子句会一直循环执行,直到expression值为布尔假。
(2)计数循环

count = 0
while (count < 9):
 print 'the index is:', count
 count += 1
</div>

       代码块里包含了print和自增语句,它们被重复执行,直到count不再小于9。索引count在每次迭代时被打印出来然后自增 1。
(3)无限循环

while True:
 handle, indata = wait_for_client_connect()
 outdata = process_request(indata)
 ack_result_to_client(handle, outdata)
</div>

       “无限”循环永远不会结束,但它不一定是坏事,许多通讯服务器的客户端/服务器系统就是通过它来工作的。
6、for语句
        Python提供了的另一个循环机制就是for语句,它是Python中最强大的循环结构。它可以遍历序列成员,可以用在列表解析和生成器表达式中,它会自动地调用迭代器的next()方法,捕获StopIteration异常并结束循环(所有这一切都是在内部发生的)。 Python的for更像是shell或是脚本语言中的foreach循环。

(1)一般语法
       for循环会访问一个可迭代对象(例如序列或是迭代器)中的所有元素,,并在所有条目都处理过后结束循环。它的语法如下:
for iter_var in iterable:
    suite_to_repeat
        每次循环, iter_var迭代变量被设置为可迭代对象(序列、迭代器或者是其他支持迭代的对象)的当前元素,提供给suite_to_repeat 语句块使用。
(2)用于序列类型
       for循环可以迭代不同的序列对象,像字符串、 列表、以及元组。
       迭代序列有三种基本方法:
通过序列项迭代
在CODE上查看代码片派生到我的代码片

 >>> nameList = ['Walter', "Nicole", 'Steven', 'Henry'] 
 >>> for eachName in nameList: 
 ...  print eachName, "Lim" 
 ... 
 Walter Lim 
 Nicole Lim 
 Steven Lim 
 Henry Lim 

</div>

        迭代一个列表.。每次迭代,eacgName变量都被设置为列表中特定某个元素。
通过序列索引迭代
在CODE上查看代码片派生到我的代码片

 >>> nameList = ['Cathy', "Terry", 'Joe', 'Heather','Lucy'] 
 >>> for nameIndex in range(len(nameList)): 
 ...  print "
  


 

您可能想查找下面的文章:

  • python中OrderedDict的使用方法详解
  • Python中异常重试的解决方案详解
  • 详解python 字符串和日期之间转换 StringAndDate
  • Python 操作MySQL详解及实例
  • python中OrderedDict的使用方法详解
  • Python中异常重试的解决方案详解
  • 详解python 字符串和日期之间转换 StringAndDate
  • Python 操作MySQL详解及实例
  • Python 登录网站详解及实例
  • 详解Python中类的定义与使用

相关文章

  • 使用Python抓取模板之家的CSS模板
  • 布同自制Python函数帮助查询小工具
  • Python多进程通信Queue、Pipe、Value、Array实例
  • python私有属性和方法实例分析
  • 使用python实现正则匹配检索远端FTP目录下的文件
  • Python自动化测试ConfigParser模块读写配置文件
  • Python正则表达式教程之二:捕获篇
  • python如何查看系统网络流量的信息
  • python写的一个squid访问日志分析的小程序
  • pymongo实现控制mongodb中数字字段做加法的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python 运算符 供重载参考
    • Python控制多进程与多线程并发数总结
    • python通过pil为png图片填充上背景颜色的方法
    • Python中使用wxPython开发的一个简易笔记本程序实例
    • python比较两个列表大小的方法
    • python使用三角迭代计算圆周率PI的方法
    • Python中的map()函数和reduce()函数的用法
    • 通过源码分析Python中的切片赋值
    • Python编写检测数据库SA用户的方法
    • 解读Python selenium的等待方式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有