专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Python » python网络编程:探索 Python 第 5 部分: 用 Python 编程 »正文

python网络编程:探索 Python 第 5 部分: 用 Python 编程

来源: 发布时间:星期四, 2009年1月8日 浏览:27次 评论:0
  本文开始讲述如何用 Python 编程着重点是流控制这是编写最简思路方法的在该编程模型中会操纵来自用户界面、传感器或文件等数据根据数据值或产生表达式区别采取操作也区别Python 提供几种流控制机制本文将讨论 语句、while 循环和 for 循环

  

  该 探索 Python 系列前 4 篇文章介绍了 Python 中常用基本数据类型包括:

  内置数值数据类型

  Tuple 容器类型

  String 容器类型

  List 容器类型

  该系列前 4 篇文章也展示了些简单 Python 例子这些例子管理保存有这 4种类型数据变量尽管我没有指出但是我自然还是假设您像读本书样地读并解释代码(至少英语中)自然顺序是从页面或顶端开始然后从左往右读每当达到行尾后又是下开始(或者叫做左端)依此类推沿着页面(这里是指)往下走

  Python 解释器在其最简单级别以类似方式操作即从顶端开始然后行地顺序执行语句例如清单 1 展示了几个简单语句当把它们键入 Python 解释器中(或者将它们保存在个文件中并作为个 Python 来执行)时读取语句顺序是从左到右 当读到个行结束符(比如换行符)时Python 解释器就前进到下行并继续直到没有了代码行

  清单 1. 个简单 Python

>>> i = 1
>>> type(i)
<type ''>
>>> l = [0, 1, 2, 3, 4]
>>> l * i
[0, 1, 2, 3, 4]


  在本例中语句以简单顺序个接但是情况并不总是线性考虑个个人例子您今天早上醒来听了交通或天气报告(或者两者都听了)根据交通报告您可能选择了条区别上班路线;或者类似地根据天气报告您为周末计划了区别活动对策并不简单;根据您所获得信息生活自然顺序迂回而曲折

  Python 像大多数编程语言通过使用流控制语句也可以以这种方式操作在 Python 中有 3 种基本流控制语句:

   语句它基于测试表达式结果执行个特定语句块

  while 循环它当个测试表达式为 true 时执行个语句块

  for 循环它对个语句块执行定次数

  这个列表相当简单并且您可能从其他编程语言认识了这些流控制语句但是您可能在想语句块 是什么意思呢在清单 1 中您看到了几个简单语句包括个变量化、个思路方法(type 思路方法)和个乘法操作这些语句执行个简单操作因此把它们叫做简单语句

  Python 也具有复合语句即相关语句形成语句组其中包括简单和(可能)附加复杂语句例如根据表达式值(对个人来说可能是对“今天天气晴朗吗”的类问题答案)个复合语句可能执行区别操作或者对个操作重复多次描述似乎有些类似于前流控制描述当然应该类似流控制语句就是复合语句

  个复合语句包括个流控制指令后跟个冒号(:)然后再是语句块语句块由个或多个简单语句和复合语句组成清单 2 中提供了个简单伪代码例子

  清单 2. 个伪代码例子展示了简单语句和复杂语句

simple statement _disibledevent= 5
...   (i % 25):
...     continue
...   not (i % 125):
...    
...   not (i % 1000):
...     pass
... :
...   pr i
...
>>> pr i
125


  这个虚构例子直循环到变量 i 大于或等于 1,000在循环中将 i 乘以 5然后测试 i 是否被 25 整除记住您只在表达式为 True 时执行 语句体该表达式在当变量 i 不能被 25 整除时计算为 True(在 Python 表达式中非零数被计算为布尔值 True)

  循环体中个语句是第 2个 语句它测试变量 i 是否能被 125 整除但是该表达式前面加了个 not 运算符因此当变量 i 值能被 125 整除时执行第 2个 语句体此时 语句导致执行中断 while 循环跳转到 子句

  最后 语句永远不会执行只是用于演示如何在中编写 pass 语句在后续文章中将会介绍 pass 语句更相关些情况

  通过跟踪逻辑流可以看到次通过循环后变量 i 值变为 5 语句计算为 True 5 不能被 25 整除这就会第 2次进入 while 循环这次变量 i 变成了 25现在第 语句计算为 False 25 能被 25 整除第 2个和第 3个 语句也计算为 False意味着第 3次进入循环这次变量 i 变成了 125并且第 语句计算为 False



  但是第 2个 语句计算为 True变量 i 能被 125 整除(并且 not 运算符将结果 0 转换成布尔值 True)这导致执行 语句中断循环 子句永远不被执行所以直到显式使用 pr 语句的前不会输出任何东西

  for 循环

  Python 中 for 循环很特殊和 Python 编程语言中内置容器数据类型紧密相关当您在现实生活中有个容器对象(比如书包)时您通常想要看它所包含东西在编写 Python 时也是这样当需要对某件事情做次数时(就像针对容器中样)可使用 for 循环清单 10 中伪代码格式演示了 for 循环

  清单 10. for 循环伪代码

for item in container:
  # action to repeat for each item in the container
:
  # action to take once we have finished the loop.


  由于 Python 容器类型丰富特性for 循环非常强大本质上for 循环涉及到个迭代器(iterator)用于在集合中逐项移动本系列篇文章将更加详细地介绍 for 循环以及如何正确地将它和区别容器类型起使用

  控制流

  本文介绍了 3种 Python 语句: 语句、while 循环和 for 循环这 3种语句通过选择执行哪些语句或者通过多次执行组语句让您可以改变在后续文章中将大量用到这些语句复合语句特性引入了 Python 适当缩进特性这使得 Python 易于读和理解



相关文章

读者评论

发表评论

  • 昵称:
  • 内容: