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

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

 2010-09-30 22:36:47 来源:WEB开发网   
核心提示: 在Python中,提供了专门的逻辑分支表达式来模拟C系中的三元运算,从C#到Python:2 运算符、表达式和流程控制(3),我们也可以在一行语句中完成三元运算,例如print'偶数'ifx%2==0else'奇数'2.1.6 运算符的优先级 你期待我列一个很长的

在Python中,提供了专门的逻辑分支表达式来模拟C系中的三元运算,我们也可以在一行语句中完成三元运算,例如

print '偶数' if x % 2 == 0 else '奇数'

2.1.6  运算符的优先级

你期待我列一个很长的表嘛?自己去查好伐,我就不浪费博客园的存储空间了。总之一句话:搞不清楚用括号!

2.2  流程控制语句2.2.1  条件语句

Python用if,elif,else三个关键字进行条件判断,与C#唯一的区别就是用elif取代了else if,少打两个字,其它都一样。此外别忘了在if等语句后加 : 哦!

如果一个流程控制分支下不做任何事情,记得写一句pass语句,不然Python会报错。例如:

1 if 0:
2   pass #神经啊!这种例子用来说明什么?

在Python中没有switch语句,你可以使用if..elif..else语句来完成同样的工作。如果你觉得繁琐,可以试试dict实现方式,下边是个例子,分别对比了两种实现方式。

 1 # 类C#伪码,根据输入的不同参数选择程序的不同行为
 2  switch(x):
 3 case "1":
 4   print 'one'; break;
 5 case "2":
 6   print 'two'; break;
 7 default:
 8   print 'nothing!'
 9 
10  # 使用 if 替代
11  if x =='1':
12   print 'one'
13  elif x=='2':
14   print 'two'
15  else:
16   print 'nothing!'
17 
18  # 使用dict
19  numtrans = {
20   1: 'one',
21   2: 'two',
22   ...
23 }
24 try:
25   print numtrans[x]
26 except KeyError:
27   print 'nothing!'
28 
29 # 也可以在分支中使用方法(函数)
30 def print_one():
31   print 'one'
32 def print_two():
33   print 'two'
34 numtrans = {
35   1:print_one,
36   2:print_two,
37 }
38 
39 try:
40   numtrans[x]() #注意名字+括号就可以执行方法了,这个实际上很牛X的。
41 except KeyError:
42   print 'nothing!'

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

Tags:Python 运算符 表达式

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