前置引用(Forward Reference):即当前内容所讲述的片段引用于后续内容讲到的知识,程序语言的知识结构是非线性的,即不是连贯的,不是说你非得学完当前的章节才能学习后续的章节,每个章节的内容之间都互有穿插,故学习一门程序语言需要知道“前置引用”。
布尔代数的发明者是英国数学家乔治.布尔,出生于1815年。
【布尔运算】
- 程序(Programs)就是按照一定顺序完成既定任务的流程(Procedures)。不同的流程代表不同的处理思路和完成方法,称为算法(Algorithim),算法可以改进,称为优化(Optimization)。
- 可编程(Programable)的核心在于布尔运算和相应的流程控制(Control Flow),没有布尔运算能力就不能做流程控制,不做流程控制程序就只能按照“顺序执行”。
布尔值(Boolean Value):包含True和False两种。
- Python解释器区分大小写,即True和true表示的意义是不一样的。
- 任何一个逻辑表达式都会返回一个布尔值。
- 注意,自然语言中的“等于”,在编程语言中用两个“=”表示,即“==”。
- 执行以上程序的方法是选中当前的cell,按快捷键 shift + enter。
操作符:对于数字,可用的操作符包含 +,-,*,/,//,%,**,分别代表 加、减、乘、除、商、余、幂。
逻辑操作符(Logical Operators):也称为比较操作符,包含如下,
- 注意,Python比 C 或者 C++ 多了 in 这个操作符,
’a’ in ’basic’ # 表示’a’ 是否存在于 ’basic’ 这个字符串中(表示隶属关系)
- 逻辑操作符的运算对象(Operands)包含:数字值、字符串值
布尔运算操作符:包含三种,与、或、非,分别对应 and, or, not。
流程控制(Control Flow):即根据布尔运算后得到的不同实际情况决定流程的执行顺序。
- 先忽略第一行代码的意思;
- 注意 if 和 else 语句后面的冒号;
- if/else 语句在这里完成了流程分支的功能;
- random.rangange(1,1000) 代表的意思是返回一个从1到1000的随机数值(包含左侧的1,但不包含右侧的1000);
- r = 2 代表的意思是将数字 2 赋值(Assignment) 给变量(Variable)r,用自然语言描述就是“将2这个值保存到名称为r的变量之中”;
- print() 是一个函数(Function),涉及到的相关概念有函数名(Function Name)、参数(Parameter)、返回值(Return value)、调用(Call),举例如下:
- 这样就代表我们调用了一个函数,其中abs是函数名,-0.123455是所传递的参数,函数接收到参数后进行运算返回一个值,最后赋值给变量a并在屏幕上输出;
被调用的函数可视为一个子程序(Sub-Program),主程序执行到该函数调用时,就开始执行实现函数的那些代码,而后再返回主程序……
- for代表的是循环(Loop);
- Python程序中 # 后面的表示注释语句,机器执行到# 时会直接忽略包括#及其以后的语句;
- 语句块:
在 Python 语言中,行首空白(Leading whitespace,由空格
' '
或者 Tab⇥
构成)有着特殊的含义。如果有行首空白存在,那么,Python 将认为这一行与其他邻近有着相同行首空白的语句同属于一个语句块 —— 而一个语句块必然由一个行末带有冒号
:
的语句起始。同属于一个语句块中的语句,行首空白数量应该相等。
注意,同一个程序中不建议同时混用空格和tab键,建议统一,要么都使用空格,要么都使用tab键。
- def 表示定义一个新的函数。
赋值符号与操作符的连用:
- x += 1 代表将 x + 1 的值赋给变量 x;