前言

在开始学习之前,我们介绍一下 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