运算符:
##算术运算符##
+ 加法运算符(如果是字符串进行加法运算,则进行拼串操作)
-减法运算符
* 乘法运算符
- (如果将字符串与数字相乘,则会对字符串进行复制操作,将字符串指定复制次数)
/ 除法运算符:
运算结果总会返回一个浮点类型
// 整除运算符
只会保留计算结果的整数部分
% 求余运算符:
求两数相除的余数
= 赋值运算符:
将等号右侧的赋给左侧的变量
+=, -=, *=, /=, //=, %=
关系运算符:
- ,< ,>= ,<=, ==, !=
注意1(当对字符串进行比较时,实际上比较的是Unicode编码,而且是逐位比较的)
(利用该特性可以对字符串按照字母顺序进行排序,但是对于中文来说意义不大)
注意2(如果不希望标胶两个字符串的Unicode编码,则需要将其转换为数字然后再进行比较)
is :
比较两个对象是否是同一个对象,比较的是对象的id值
is not:
比较两个对象是否不是同一个对象,比较的是对象的id值
##逻辑运算符##
(逻辑运算符可以连着使用)
not 逻辑非
not可以对符号右侧对象进行非运算
and 逻辑与
and可以对符号两侧的值进行运算,只有and两侧都为True时才会返回True(“只有两心相悦才会修成正果哈哈”),而且Python中的与运算时短路的与,如果第一个值为False,则不会看第二个值。
or 逻辑或
有一个值为True,结果就为真
##非布尔值的与或运算
当我们对非布尔值进行与或运算时,Python会将其当作布尔值运算,最终会返回原与 (与运算3and4返回右侧的值4;或运算3 or4返回左侧的值3)
##条件运算符(三元运算符)
语法:
语句1 if 条件表达式 else 语句2
执行流程:
先对条件表达式求值
如果判断结果为True,则执行语句1,并返回执行结果,
如果判断结果为False,则执行语句2返回执行结果
##运算符优先级
和数学中一样,在python中也有运算的优先级,如:先乘除后加减
运算符的优先级表格:
Operator | Description |
(expressions...), [expressions...], {key: value...}, {expressions...} | Binding or parenthesized expression, list display, dictionary display, set display |
x[index], x[index:index], x(arguments...), x.attribute | Subscription, slicing, call, attribute reference |
await x | Await expression |
** | Exponentiation [5] |
+x, -x, ~x | Positive, negative, bitwise NOT |
*, @, /, //, % | Multiplication, matrix multiplication, division, floor division, remainder [6] |
+, - | Addition and subtraction |
<<, >> | Shifts |
& | Bitwise AND |
^ | Bitwise XOR |
| | Bitwise OR |
in, not in, is, is not, <, <=, >, >=, !=, == | Comparisons, including membership tests and identity tests |
not x | Boolean NOT |
and | Boolean AND |
or | Boolean OR |
if – else | Conditional expression |
lambda | Lambda expression |
:= |
越往下优先级越高,可以不记,如不确定先算谁加个()就行
流程控制语句
##简介
Python代码在执行时是自上而下的执行的
通过流程控制语句可以改变程序执行的顺序,
##条件判断语句(if语句)##
语法:if 条件表达式:语句
执行流程:
先判断条件表达式的值,如果为真就执行if后面的语句
默认情况下,if语句只会控制紧跟其后的那条语句,如果希望if
可以控制多条语句,可以在if后跟一个代码块(利用缩进)
如果要编写代码块,语句就不能紧跟在:后,而是应该写在下一行
#代码块就是一种为代码分组的机制,以缩进开始,直到恢复到之前的缩进级别时结束
##input()函数
获取用户输入
input()调用后,程序会立即暂停,等待用户输入,输入完按下回车键后程序才会继续执行
input()的返回值是一个字符串
input()中可以传入一个字符串作为参数,作为输入提示
如
##if-else语句
语法:
If 条件表达式:
代码块
else:
代码块
执行流程
先判断条件表达式的值,如果为真就执行if后面的语句
如果为假就执行else后面的语句
##if-elif-…-else语句
语法:
If条件表达式:
代码块
elif 条件表达式:
代码块
elif 条件表达式:
代码块
else:
代码块
执行流程:
If-elif-elif-…-else语句在执行时,会自上向下一次对条件表达式进行求值判断
若表达式的值为True,则执行当前代码块,然后语句结束
若表达式的结果为False,则继续向下判断,直到找到True为止
如果所有的表达式都是False,则执行else后面的代码块
If-elif-elif-…-else语句最终只会有一个代码块会被执行
##循环语句##
可使指定的代码块重复指定的次数
##while循环
语法:
While 条件表达式 :
代码块
执行流程:
先对while后的条件表达式求值判断
如果判断结果为True,则执行循环体(代码块)
循环体每次执行完毕,再次对条件表达式判断求值,以此类推
知道判断结果为False,循环终止
循环的三要·件:
- 初始化表达式 (如:i=0
- 条件表达式( while i<10
- 更新表达式(i+=1
- i = 0# while i < 10: print(1) i += 1 else: print('else中的代码块被执行')
注意:在python中while后可以跟else语句(python的特色)
##break与continue##
Break可以用来立即退出循环语句
Continue可以用来跳过当次循环
Break与continue都只对离他最近的循环起作用