前言
在开始学习之前,我们介绍一下 print() 函数。print() 函数可以输出括号中对象,例如:
print(1)
print('Hello World')
print(1 + 1)
输出结果为:
1
Hello World
2
注释
单行注释:
Python 中单行注释通常使用 # 开头,作用与当前行,例如:
# 这是一个单行注释
这里,我的代码习惯通常是在 # 号之后空一格。
多行注释:
Python 中的多行注释通常使用 ''' ''' 或者 """ """ 其中包含的内容就会被注释,例如:
'''
这是一个多行注释
'''
"""
这也是一个多行注释
2021/11/10
JiaZhen Qu
"""
运算符
算数运算符:
操作符 | 名称 | 示例 |
+ | 加 | 1 + 1 |
- | 减 | 2 - 1 |
* | 乘 | 2 * 2 |
/ | 除 | 4 / 2 |
// | 整除 | 6 // 4 |
% | 取余 | 4 % 3 |
** | 幂运算 | 2 ** 3 |
代码如下:
# 加法运算
print(1 + 1)
# 减法运算
print(2 - 1)
# 乘法运算
print(2 * 2)
# 除法运算
print(4 / 2)
# 整除运算
print(6 // 4)
# 取余运算
print(4 % 3)
# 次幂运算
print(2 ** 3)
运行结果如下:
2
1
4
2.0
1
1
8
这里我们稍微举个小学时候刚接触除法的例子来讲解一下整除、取余运算:
5 除以 3 等于 1 余数是 2 。
那么我们对它进行整除运算( // )的结果就是 1 ;取余运算( % )的结果就是 2 。
比较运算符:
操作符 | 名称 | 示例 |
> | 大于 | 3 > 2 |
< | 小于 | 3 < 2 |
>= | 大于等于 | 4 >= 2 |
<= | 小于等于 | 4 <= 2 |
== | 等于 | 3 == 4 |
!= | 不等于 | 3 == 4 |
比较运算符在完成比较运算之后会返回一个布尔类型(会在后面介绍)的结果 (True 或者 False)。举例如下:
# 大于
print(3 > 2)
# 小于
print(3 < 2)
# 大于等于
print(4 >= 2)
# 小于等于
print(4 <= 2)
# 等于
print(3 == 4)
# 不等于
print(3 != 4)
输出的结果为:
True
False
True
False
False
True
这里注意一下,Python 中的等于号是 == ,而不是 = ; = 是赋值运算符。
逻辑运算符:
操作数 | 名称 | 示例 |
and | 与 | (3 < 2) and (3 < 4) |
or | 或 | (3 < 2) or (3 < 4) |
not | 非 | not(2 > 3) |
逻辑运算符返回的也是一个布尔类型的结果。
与运算符前后的对象必须都是 True ,它的返回结果才会是 True ,否则都是 False 。
或运算符只要有一个对象是 True ,它的返回结果就是 True ,当两个都是 False 时,才会返回 False 。
非运算符会对后面的对象取反,如果是 True ,它返回的就是 False ,如果是 False ,它返回的就是 True 。
举例如下:
# 与运算
print((3 < 2)and(3 < 4))
# 或运算
print((3 < 2)or(3 < 4))
# 非运算
print(not(2 > 3))
运行结果为:
False
True
True
位运算符:
操作符 | 名称 | 示例 |
~ | 按位取反 | ~4 |
& | 按位与 | 4 & 5 |
| | 按位或 | 4 | 5 |
^ | 按位异或 | 4 ^ 5 |
<< | 左移 | 4 << 2 |
>> | 右移 | 4 >> 2 |
位运算较为复杂,将在后面详细介绍,这里暂作了解。、
三元运算符:
不说什么了,直接上代码,目前了解就好:
x, y = 1, 2
if x < y:
small = x
else:
small = y
print(small)
这里我们可以通过三元运算符使用一条语句来完成以上的 if - else 语句,即:
x, y = 1, 2
small = x if x < y else y
print(small)
它们的效果是一样的,运行结果都是:
1
其他运算符
操作符 | 名称 | 示例 |
in | 存在 | 'A' in ['A', 'B', 'C'] |
not in | 不存在 | 'D' not in ['A', 'B', 'C'] |
is | 是 | 'Apple' is 'Apple' |
is not | 不是 | 'App' is not 'Apple' |
注意:
1. is, is not 对比的是两个变量的内存地址;==, != 对比的是两个变量的值。
2. 如果比较的两个变量,指向的都是地址不可变的类型,那么is,is not 和 ==,!= 是完全等价的。
3. 如果比较的两个变量,指向的是地址可变的类型,则两者是有区别的。
可变类型和不可变类型后面会介绍
案例代码如下:
list = ['A', 'B', 'C']
# in 和 not in
print('A' in list)
print('D' not in list)
# 下面的 is 和 not is 会针对可变类型和不可变类型分别讨论
# 可变类型
a = ['A']
b = ['A']
print(a is b, a == b)
print(a is not b, a != b)
# 不可变类型
c = 'A'
d = 'A'
print(c is d, c == d)
print(c is not d, c != d)
运行结果为:
True
True
False True
True False
True True
False False
运算符优先级
序号 | 运算符 | 描述 |
1 | ** | 指数(最高优先级) |
2 | ~ + - | 按位翻转,一元加号和减号 |
3 | * / % // | 乘,除,取模和取整除) |
4 | + - | 加法减法 |
5 | >> << | 右移,左移运算符 |
6 | & | 位‘AND’ |
7 | ^ | | 位运算符 |
8 | < =< > >= | 比较运算符 |
9 | < > == != | 等于运算符 |
10 | = %= /= //= -= += *= /= | 赋值运算符 |
11 | is is not | 身份运算符 |
12 | in not in | 成员运算符 |
13 | not and or | 逻辑运算符 |
总结起来大概就是:先算数运算,再位运算,然后比较运算,还有bool运算,最后算赋值运算;有括号先算括号里面的;对于算数运算符,先乘除后加减,有幂运算先幂运算。
仅作为自己学习过程中的笔记
2021.11.10