从玩耍Excel表格到MySQL数据仓库,之后进入数据分析的天坑,然后再到大数据平台HIVE、Hbase。接着Django Web全栈开发。在走过这一圈之后,很多的内容学习都是碎片化的,在未来一段时间找几本书籍系统的学习一下,顺便做个笔记给后来的学生。
if语句,就是条件判断,会对应程序的不同状态来执行不同的代码。
>>> minutes = 105
>>> minutes / 60
1.75
>>> minutes = 105
>>> hours = minutes // 60
>>> hours
1
# 方法1
>>> remainder = minutes % 60
>>> remainder
45
# 方法2
>>> remainder = minutes % 60
>>> remainder
45
if x%y == 0:
print("可以被整除")
布尔表达式是一种非对即错的表达式,只有这么两个值,true(真)或者false(假)。
>>> 5 == 5
True
>>> 5 == 6
False
True和False都是特殊的值,属于bool布尔类型,并不是字符串。
>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>
双等号运算符是关系运算符的一种
x != y # 二者相等
x > y # 前者更大
x < y # 前者更小
x >= y # 大于等于
x <= y # 小于等于
逻辑运算符有三种:且,或以及非。
# 逻辑且
>>> 42 and True
True
# 逻辑或
>>> 42 or True
True
#逻辑非
>>> 42 and False
False
逻辑运算符的运算对象应该必须是布尔表达式,不过Python就不太严格。任何非零变量都会被认为是真。
>>> 12 and True
True
有用的程序必然要有条件检查判断的功能,根据不同条件要让程序有相应的行为。
if x > 0:
执行语句
如果暂时不知道执行什么语句的话可以使用pass暂时跳过
if x > 0:
pass
根据条件进行执行语句,这些选择也叫分支。
if x % 2 == 0:
执行语句1
else:
执行语句2
有时我们要面对的可能性不只有两种,需要更多的分支。
通常会使用 elif,是else if的缩写。
if x < y:
执行语句1
elif x > y:
执行语句2
else:
执行语句3
一个条件判断也可以嵌套在另一个条件判断内。
if x == y:
执行语句1
else:
if x < y:
执行语句2
else:
执行语句3
def countdown(n):
if n <= 0:
执行语句1
else:
执行语句2
countdown(n-1)
>>> countdown(3)
3
2
1
Blastoff!
如果一个递归一直都不能到达基准条件,那就会持续不断地进行自我调用,程序也就永远不会终止了。
也可以认为程序是死循环。
# 没有任何停止条件 陷入死循环
def recurse():
recurse()
当Python会在函数达到允许递归的最大层次后返回一个错误信息
File "" , line 2, in recurse
RuntimeError: Maximum recursion depth exceeded
代码对比
recurse()
# 等价于
for i in range(1001):
recurse()
Python提供了内置的一个函数,名叫input,这个函数会停止程序运行,等待用户来输入一些内容。
>>> text = input()
嘿嘿嘿,输入吧。
>>> text
嘿嘿嘿,输入吧。