从玩耍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 "<stdin>", line 2, in recurse RuntimeError: Maximum recursion depth exceeded
代码对比
recurse() # 等价于 for i in range(1001): recurse()
Python提供了内置的一个函数,名叫input,这个函数会停止程序运行,等待用户来输入一些内容。
>>> text = input() 嘿嘿嘿,输入吧。 >>> text 嘿嘿嘿,输入吧。