常量/变量
常量:一旦赋值,就不能对他重新赋值。
字面常量:一个单独存在的量,未赋值给任何变量或者常量。
变量:是一个名字,在赋值符号的左边,这个名字可以指代赋值符号右边的内容。
例:i = 3
除行首的空格除外,其他的空行无意义。
变量的类型系统
Python是最强的类型语言。(不同类型之间不能相互计算 , 运算的时候会进行类型检查)
eg:4 + ‘4’ 则返回error 。
Python是动态语言(指变量可以重新赋值为其他类型)
eg: i = 4 type(i) 返回 int
i = '4' type(i) 返回str
python 的基本类型
int \ float \ byte \ bool \ None
int 整型(整数): 可以无限长,长度没有限制。物理内存被占满之后,出现内存溢出。只受限于物理内存。
eg: 4 -1 1000
float 浮点型(小数):有长度限制,小数点后有好多小数位时会损失精度。
eg:12.3 34.9 12.9
bool类型: True or False
注意:操作数是bool类型,或者可以隐式转化为bool类型。
返回结果是bool类型或者可以隐式转化为bool类型。
None:None
运算符
算术运算符
+ - * / // % ** 加 减 乘 除 整除 取模 求幂(无长度限制)
指的是对我们的int和float做运算。
eg: 1 + 1 =2
1 + 3.9 = 4.9
比较运算符
< > == != <= >=
注意:比较运算的返回值都是bool类型
逻辑运算符 (返回的结果是None)
and or not
逻辑运算的操作数都是bool类型,或者可以隐式转化为bool类型的类型。逻辑运算的返回值都是bool类型。
True and False 返回False
True or False 返回True
注意:当结果可以推测的时候,他就从左到右执行,,当已经有结果的时候,将停止计算,提前返回。
此为短路操作。比较运算和逻辑运算通常都搭配出现。
成员运算符(和集合类型相关)
身份运算符(面向对象)
位运算符
<< >> & | ^ 直接操作二进制
注意:运算符的优先级
算术运算 》》 比较运算 》》 逻辑运算(拿不准或者表达式比较复杂的时候可以通过括号来改变优先级)
赋值运算符 (无返回结果,就是把右边的值赋值给左边)
eg: i = 8 + 8
注意:赋值运算符可以与算术运算符和位运算符一起使用。
eg: i += 8 ##等于i = i + 8
表达式/语句
表达式:由常量/变量和运算符一起构成。表达式由返回值
语句:关键字和表达式一起组成语句(语句没有返回值)
程序结构 顺序、分支和循环 ( 程序结构概念:语句和表达式按照什么顺序执行。)
顺序结构:是默认结构,从上到下一行行的执行
eg: i= 3
print(i)
i += 6
print(i)
则返回结果是3 和9
分支结构
单分支:
需要一个判断条件,当条件为真的时候,执行一个操作,分支结构结束。
.......
开始
if条件:
操作
结束
双分支:
需要两个判断条件,当条件为真时,执行一个操作,当条件为假时,执行另一个操作,分支结束。双分支里永远只有一个分支会被执行。通过结构嵌套可以实现多分支。
..........
开始
if 条件:
操作1
else:
操作2
多分支:
双分支里永远只有一个或零个分支会被执行。分支结构都是互斥的,通过结构嵌套可以实现多分支。条件只能是bool类型,或者可以隐式转化为bool类型。
循环结构
while循环
......
开始
while 条件:
操作
结束
一定要有某种机制修改条件,使其退出循环,通常是在循环体中修改条件。
for in 循环
......
开始
for 元素 in 可迭代对象(next函数取出下一个值/range()):
操作
结束
举例:
for in 循环中永远不可修改可迭代对象。
提前终止与跳过
提前终止:break
跳过:continue
举例:
continue用于跳过循环体剩下的部分,break和continue只针对最近一层,并且只能用在循环中。
else子句
当循环没有提前退出时,会执行else语句。