1.常见类型
- 1.1.数字
- 1.2.字符串
- 1.3.列表
- 1.4.字面常量
- 1.5.布尔类型
- 1.6.常量
2.运算符
- 2.1.算术运算符
- 2.2.比较运算符
- 2.3.赋值运算符
- 2.4.位运算符
- 2.5.逻辑运算符
- 2.6.关键字in(成员运算符)和is(身份运算符)
Python的标识符
1.第一个字符必须是字母表中字母或下划线 _ 。
2.标识符的其他的部分由字母、数字和下划线组成。
3.标识符对大小写敏感。
注释
Python中单行注释以 # 开头,实例如下:
print("Hello,Python!") #第一个注释
执行以上代码,输出结果为:
Hello,Python!
多行注释可以用多个 # 号,还有"'和“"""”。
行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
if True:
print ("True")
else:
print ("False")
以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False") # 缩进不一致,会导致运行错误
输出结果如下:
File "test.py", line 6
print ("False") # 缩进不一致,会导致运行错误
^
IndentationError: unindent does not match any outer indentation level
多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句。
total = item_one + \
item_two + \
item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:
total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
数字
“/”永远返回一个浮点类型的数。想返回一个整数类型的结果,使用“//”操作符(“//”只会去除小数点后的数字,并不会进行四舍五入)。想要获取两数相除后的余数可以使用“%”操作符。
7 / 3
输出:
2.33333333
7 // 3
输出:
2
如果指数计算方式,使用“**”操作符来计算指数。
5 ** 2
输出:
25
开发人员可以使用“j”或者“J”来定义复数的虚部(例如:4 + 3j)。
字符串
可以使用“ " ” 或 “ " " ”代表字符串,也可以“\”操作符对特殊字符定义。
'I\'m fine'
输出:
"I'm fine"
不想字符被“\”转义,在字符串引号前加上“r”。
print("C:\windows\name")
输出:
C:\windows
ame
print(r"C:\windows\name")
C:\windows\name
如果表示多行字符串,可以使用"""..."""或者'''...'''三个单引号把字符串括起来。每行结尾都会被自动加上一个换行符,不想输出换行符,在每行的最后加入“\”来避免输出换行符。
print("""\
How are you?
I'm fine.
""")
输出(“\” 后没有换行):
How are you?
I'm fine.
Python可以使用“+”来连接两个字符串,使用“*”来重复字符串。
3 * 'am' + 'fine'
输出:
'amamamfine'
Python可以使用“索引”的方式获取到字符串中某个位置的字符(字符就是长度为1的字符串)。
world = 'Python'
world[0]
输出:
'p'
如果索引是负数,那么就会从字符串的右边开始往左计算位置(-0和0都表示第一个字符串,倒序从下标-1开始)。
world = 'Python'
world[-1]
输出:
'n'
world[-6]
输出:
'p'
如果想获取字符串中的一段字符串,使用“切片”操作。
world = 'Python'
world[0:2]
输出:
'py'
world[2:5]
输出:
'tho'
如果省略方括号中“:”左边的数字,Python就会认为我们要获取从0开始的字符串。如果省略方括号中“:”右边的数字,Python会认为我们要获取到最后一个字符。
world = 'Python'
world[:2]
输出:
'Py'
world[2:] + world[:2]
输出:
'thonPy'
在Python中,字符串是不能被改变的,无论是索引还是切片都只能获取字符串而不能被赋值。
Python有个内置函数“len()”,可以返回字符串的长度。
len('word')
输出:
4
这里只是Python字符串的简单操作。
列表(List)
squares = [1,1,2,3,4,5]
squares
输出:
[1,1,2,3,4,5]
列表也能像字符串一样,使用索引和切片的方式来获取部分元素。
squares = [1,1,2,3,4,5]
squares[0]
输出:
1
squares[-1]
输出:
5
squares[-3:]
输出:
[3,4,5]
布尔类型(False和True)
算术运算符
| 操作符 | 描述 | 实例 |
|---|---|---|
| + | 加 - 两个对象相加 | a + b |
| - | 减 - 得到负数或是一个数减去另一个数 | a - b |
| * | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b |
| / | 除 - x 除以 y | b / a |
| % | 取模 - 返回除法的余数 | b % a |
| ** | 幂 - 返回x的y次幂 | a**b |
| // | 取整除 - 向下取接近商的整数 | a//b |
比较运算符
| 操作符 | 描述 | 实例 |
|---|---|---|
| == | 等于 - 比较对象是否相等 | a == b |
| != | 不等于 - 比较两个对象是否不相等 | a != b |
| > | 大于 - 返回x是否大于y | a > b |
| < | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 | a < b |
| >= | 大于等于 - 返回x是否大于等于y。 | a >= b |
| <= | 小于等于 - 返回x是否小于等于y。 | a <= b |
赋值运算符
| 操作符 | 描述 | 实例 |
|---|---|---|
| = | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
| += | 加法赋值运算符 | c += a等效于 c = c + a |
| -= | 减法赋值运算符 | c -= a 等效于 c = c - a |
| *= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
| /= | 除法赋值运算符 | c /= a 等效于 c = c / a |
| %= | 取模赋值运算符 | c %= a 等效于 c = c % a |
| **= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
| //= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
| := | 海象运算符,可在表达式内部为变量赋值。Python3.8 版本新增运算符。 | 赋值表达式可以避免调用 len() 两次: |
| if (n := len(a)) > 10: |
print(f"List is too long ({n} elements, expected <= 10)")|
位运算符
| 操作符 | 描述 | 实例 |
|---|---|---|
| & | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| I | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a I b) 输出结果 61 ,二进制解释: 0011 1101 |
| ^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
| ~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。 | ~x 类似于 -x-1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 |
| << | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
| >> | 右移动运算符:把">>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
逻辑运算符
| 操作符 | 描述 | 实例 |
|---|---|---|
| and | 布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。 | a and b |
| or | 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 | a or b |
| not | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) |
成员运算符
| 操作符 | 描述 | 实例 |
|---|---|---|
| in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True |
| not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True |
身份运算符
| 操作符 | 描述 | 实例 |
|---|---|---|
| is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
| is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
注: id() 函数用于获取对象内存地址。
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
运算符优先级
| 操作符 | 描述 |
|---|---|
| ** | 指数 (最高优先级) |
| ~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
| * / % // | 乘,除,求余数和取整除 |
| + - | 加法减法 |
| >> << | 右移,左移运算符 |
| & | 位 ‘AND’ |
| ^ I | 位运算符 |
| <= < > >= | 比较运算符 |
| == != | 等于运算符 |
| = %= /= //= -= += *= **= | 赋值运算符 |
| is is not | 身份运算符 |
| in not in | 成员运算符 |
| not and or | 逻辑运算符 |
662





