Python循环语句中whlie和for的应用


Python循环语句是很多程序员必须掌握的一项技能,虽然有点老掉牙的话题,但是还需要大家不断的进行巩固。dict用一种更优雅的方式模拟了switch选择,集合lambda函数,还可以进一步实现更加复杂的逻辑分支语句。关于lambda函数的使用,我们到下一章再学习。

Python循环语句

Python循环语句支持两种循环语句——while循环和for循环,不支持C#中的do-while循环。Python的while循环和C#基本一致,此处我们着重比较两种语言中for循环的区别。

说的简单一点,Python循环语句中的for语句相当于C#中的foreach语句,它常用于从集合对象list、str、tuple等)中遍历数据。例如:

  1. for i in [1,2,3,4,5]:  
  2. print i 


这与C#中的foreach语法基本是一样的,下边是C#中的对应代码:

  1. IEnumerable<int> numbers = Enumerable.Range(0, 5);  
  2. foreach( int i in numbers)  
  3. Console.WriteLine(i);  

如何实现类似C#中for(int i = 0; i < 10; i++)这种for循环呢?答案是使用range或xrange对象,见下边的代码:

  1. # range(10)也可以用xrange(10)代替  
  2. for i in range(10):  
  3. print i#等价于以下C#语句  
  4. #for(int i = 0; i<10;i++)  
  5. # Console.WriteLine(i); 

内建函数range([i,]j[,stride])建立一个整数列表,列表内容为k(i <= k < j)。第一个参数i和第三个参数stride是可选的,默认值分别为 0 和 1。内建函数xrange([i,]j[,stride])与 range 有相似之处,但xrange返回的是一个不可改变的XRangeType对象。这是一个迭代器,也就是只有用到那个数时才临时通过计算提供值。当 j 值很大时,xrange能更有效地利用内存。

  • Python绑定C++程序具体实现方法浅谈
  • Python对象主要特征解析
  • 简述Python语言经验总结
  • Python脚本解决在游戏开发中的困难
  • Python中文对相关文件的改编和处理

Python循环语句中的while和for循环中支持break和continue语句。break语句用于立刻中止循环,continue语句用于直接进入下一次循环(忽略当前循环的剩余语句)。break和continue语句在C#与Python中的用法是一致的,只用于语句所在的当前循环。如果需要退出一个多重循环,应该使用异常,因为Python中没有提供goto语句。

最后,Python中的循环还支持else语句,它只在循环正常完成后运行for和while循环),或者在循环条件不成立时立即运行(仅while循环),或者迭代序列为空时立即执行(仅for循环)。如果Python循环语句使用break语句退出的话,else语句将被忽略。

评论关闭