基础永远值得花费90%的精力去学习加强。认识实践的重要性。
天道轮回,命运抉择,诉不尽,道不破,参不透,且听天命。
Ax Python Decision Making | 命运
Python 编程语言将任何非零和非空值假定为 TRUE,如果它是零或null,则假定为 FALSE 值。
Python 编程语言提供以下类型的决策语句
if
if 语句由一个布尔表达式和一个或多个语句组成。
语法
if expression:
statement(s)
true则执行语句,否则执行if语句后第一条的代码。
例
#!/usr/bin/python
var1 = 100
if var1:
print "1 - Got a true expression value"
print var1
var2 = 0
if var2:
print "2 - Got a true expression value"
print var2
print "Good bye!"
执行
1 - Got a true expression value
100
Good bye!
if…else
if 语句后面可以跟可选的else语句,当布尔表达式为 FALSE 时执行。
else语句可以与if语句结合使用。如果if 语句中的条件表达式解析为 0 或 FALSE 值,则else语句包含执行的代码块。
else语句是可选语句,在if之后最多只能有一个else语句。
语法
if expression:
statement(s)
else:
statement(s)
例子
#!/usr/bin/python
var1 = 100
if var1:
print "1 - Got a true expression value"
print var1
else:
print "1 - Got a false expression value"
print var1
var2 = 0
if var2:
print "2 - Got a true expression value"
print var2
else:
print "2 - Got a false expression value"
print var2
print "Good bye!"
执行上述代码时,会产生以下结果 -
1 - Got a true expression value
100
2 - Got a false expression value
0
Good bye!
elif
elif语句允许您检查多个表达式是否为 TRUE,并在其中一个条件评估为 TRUE 时立即执行代码块。
与else类似,elif语句是可选的。但是,与else最多可以有一个语句不同,在if之后可以有任意数量的elif语句。
语法
if expression1:
statement(s)
elif expression2:
statement(s)
elif expression3:
statement(s)
else:
statement(s)
例子
#!/usr/bin/python
var = 100
if var == 200:
print "1 - Got a true expression value"
print var
elif var == 150:
print "2 - Got a true expression value"
print var
elif var == 100:
print "3 - Got a true expression value"
print var
else:
print "4 - Got a false expression value"
print var
print "Good bye!"
执行上述代码时,会产生以下结果 -
3 - Got a true expression value
100
Good bye!
嵌套if
您可以在另一个if或else if语句中使用一个if或else if语句
在某个条件解析为 true 后,您可能想要检查另一个条件。在这种情况下,您可以使用嵌套的if 构造。
在嵌套的if结构中,您可以在另一个if…elif… else结构中包含一个if…elif…else结构。
语法
if expression1:
statement(s)
if expression2:
statement(s)
elif expression3:
statement(s)
elif expression4:
statement(s)
else:
statement(s)
else:
statement(s)
例子
#!/usr/bin/python
var = 100
if var < 200:
print "Expression value is less than 200"
if var == 150:
print "Which is 150"
elif var == 100:
print "Which is 100"
elif var == 50:
print "Which is 50"
elif var < 50:
print "Expression value is less than 50"
else:
print "Could not find true expression"
print "Good bye!"
执行上述代码时,会产生以下结果 -
Expression value is less than 200
Which is 100
Good bye!
Bx Python Loops | 轮回
一般来说,语句是按顺序执行的:函数中的第一条语句首先执行,然后是第二条,依此类推。可能会出现需要多次执行一段代码块的情况。
编程语言提供了各种控制结构,允许更复杂的执行路径。
循环语句允许我们多次执行一个语句或一组语句。循环语句如下图所示
while
只要给定条件为真,Python 编程语言中的while循环语句就会重复执行目标语句
语法
while expression:
statement(s)
这里,语句可以是单个语句或语句块。条件可以是任何表达式,true 是任何非零值。当条件为真时循环迭代。
当条件变为假时,程序控制传递到紧跟在循环后面的行。
在 Python 中,在编程构造之后缩进相同数量的字符空格的所有语句都被认为是单个代码块的一部分。Python 使用缩进作为分组语句的方法。
例
#!/usr/bin/python
count = 0
while (count < 9):
print 'The count is:', count
count = count + 1
print "Good bye!"
执行上述代码时,会产生以下结果 -
The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!
无限循环
如果条件永远不会变为 FALSE,则循环将变为无限循环。使用 while 循环时必须小心,因为此条件可能永远不会解析为 FALSE 值。这会导致一个永远不会结束的循环。这样的循环称为无限循环。
无限循环在客户端/服务器编程中可能很有用,其中服务器需要连续运行,以便客户端程序可以在需要时与其通信。
#!/usr/bin/python
var = 1
while var == 1 : # This constructs an infinite loop
num = raw_input("Enter a number :")
print "You entered: ", num
print "Good bye!"
执行上述代码时,会产生以下结果 -
Enter a number :20
You entered: 20
Enter a number :29
You entered: 29
Enter a number :3
You entered: 3
Enter a number between :Traceback (most recent call last):
File "test.py", line 5, in <module>
num = raw_input("Enter a number :")
KeyboardInterrupt
按CTRL+C
退出
While中使用else语句
Python支持将else语句与循环语句相关联。
如果在while循环中使用else语句,则在条件变为false时执行else语句。
下面的示例演示了else语句与while语句的组合,该语句只要小于5就输出一个数字,否则将执行else语句。
#!/usr/bin/python
count = 0
while count < 5:
print count, " is less than 5"
count = count + 1
else:
print count, " is not less than 5"
执行
0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5
单语句
如果只有一条语句,一行就行了
#!/usr/bin/python
flag = 1
while (flag): print 'Given flag is really true!'
print "Good bye!"
for
它能够遍历任何序列的项,如列表或字符串。
语法
for iterating_var in sequence:
statements(s)
如果序列包含表达式列表,则首先对其求值。然后,将序列中的第一项赋值给迭代变量iterating_var。接下来,执行语句块。列表中的每一项都被赋值给iterating_var,并执行语句块,直到耗尽整个序列。
例
#!/usr/bin/python
for letter in 'Python': # First Example
print 'Current Letter :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # Second Example
print 'Current fruit :', fruit
print "Good bye!"
执行
Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : h
Current Letter : o
Current Letter : n
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!
按序列索引迭代
遍历每个项的另一种方法是对序列本身进行索引偏移。以下为简单示例
#!/usr/bin/python
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print 'Current fruit :', fruits[index]
print "Good bye!"
执行
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!
在这里,我们借助了len()内置函数,它提供了元组中元素的总数,以及range()内置函数提供了要迭代的实际序列。
在For循环中使用else语句
Python支持将else语句与循环语句相关联
如果else语句与for循环一起使用,则在循环迭代列表时执行else语句。
下面的示例演示了else语句与用于搜索从10到20的质数的for语句的组合。
#!/usr/bin/python
for num in range(10,20): #to iterate between 10 to 20
for i in range(2,num): #to iterate on the factors of the number
if num%i == 0: #to determine the first factor
j=num/i #to calculate the second factor
print '%d equals %d * %d' % (num,i,j)
break #to move to the next number, the #first FOR
else: # else part of the loop
print num, 'is a prime number'
break
执行
10 equals 2 * 5
11 is a prime number
12 equals 2 * 6
13 is a prime number
14 equals 2 * 7
15 equals 3 * 5
16 equals 2 * 8
17 is a prime number
18 equals 2 * 9
19 is a prime number
循环控制
break
它终止当前循环并在下一个语句处继续执行,就像C中的传统break语句一样。
break最常见的用法是当触发一些外部条件,需要匆忙退出循环时。break语句可以在while和for循环中使用。
如果使用嵌套循环,break语句将停止最内层循环的执行,并开始执行块之后的下一行代码。
语法
break
例
#!/usr/bin/python
for letter in 'Python': # First Example
if letter == 'h':
break
print 'Current Letter :', letter
var = 10 # Second Example
while var > 0:
print 'Current variable value :', var
var = var -1
if var == 5:
break
print "Good bye!"
执行
Current Letter : P
Current Letter : y
Current Letter : t
Current variable value : 10
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
Good bye!
continue
它将控件返回到while循环的开始。continue语句拒绝当前循环迭代中的所有剩余语句,并将控件移回循环顶部。
continue语句可以在while和for循环中使用。
语法
continue
例
#!/usr/bin/python
for letter in 'Python': # First Example
if letter == 'h':
continue
print 'Current Letter :', letter
var = 10 # Second Example
while var > 0:
var = var -1
if var == 5:
continue
print 'Current variable value :', var
print "Good bye!"
执行
Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : o
Current Letter : n
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
Current variable value : 4
Current variable value : 3
Current variable value : 2
Current variable value : 1
Current variable value : 0
Good bye!
pass
当在语法上需要一条语句,但您不想执行任何命令或代码时,使用它。
pass语句是一个空操作;当它执行时,什么也没有发生。pass在你的代码最终要去的地方也很有用,但还没有写出来(例如,在存根中)
语法
pass
例
#!/usr/bin/python
for letter in 'Python':
if letter == 'h':
pass
print 'This is pass block'
print 'Current Letter :', letter
print "Good bye!"
执行
Current Letter : P
Current Letter : y
Current Letter : t
This is pass block
Current Letter : h
Current Letter : o
Current Letter : n
Good bye!