WEB开发网
开发学院软件开发C语言 从C#到Python:2 运算符、表达式和流程控制 阅读

从C#到Python:2 运算符、表达式和流程控制

 2010-09-30 22:36:47 来源:WEB开发网   
核心提示: 从上面的语句可以看到,dict用一种更优雅的方式模拟了switch选择,从C#到Python:2 运算符、表达式和流程控制(4),集合lambda函数,还可以进一步实现更加复杂的逻辑分支语句,也就是只有用到那个数时才临时通过计算提供值,当 j 值很大时,关于lambda函数的使用,我们到下一章再

从上面的语句可以看到,dict用一种更优雅的方式模拟了switch选择,集合lambda函数,还可以进一步实现更加复杂的逻辑分支语句。关于lambda函数的使用,我们到下一章再学习。

2.2.2  循环

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
4 #等价于以下C#语句
5 #for(int i = 0; i<10;i++)
6 #  Console.WriteLine(i);

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

上一页  1 2 3 4 5 6 7  下一页

Tags:Python 运算符 表达式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接