a = "123"
print(a) # 123
b = 2
c = 3
a = b + c
print(a) # 5
很多语言都支持注释,Python 也不例外
Python 中的注释包含
# 我是单行注释,单行注释使用 # 即可
print("Hello World")
# Hello World
Python 中多行注释 ‘’’ ‘’’ or “”" “”"
'''
我是多行注释
'''
"""
我是多行注释
"""
操作符 | 名称 | 示例 |
---|---|---|
+ | 加 | 1+1 |
- | 减 | 3-4 |
* | 乘 | 4*5 |
/ | 除 | 9/3 |
// | 整除 | 3//4 (不保留小数点) |
% | 取余 | 3%4 |
** | 幂 | 2**3 (2的三次幂) |
print(1+1)
print(3-2)
print(4*5)
print(3/4)
print(3//4)
print(4%3)
print(5**3)
# 2
# 1
# 20
# 0.75
# 0
# 1
# 125
操作符 | 名称 | 示例 |
---|---|---|
> | 大于 | 2 > 1 |
>= | 大于等于 | 2 >= 4 |
< | 小于 | 1 < 2 |
<= | 小于等于 | 5 <= 2 |
== | 等于 | 3 == 4 |
!= | 不等于 | 3 != 5 |
print(2 > 1) # True
print(2 >= 4) # False
print(1 < 2) # True
print(5 <= 2) # False
print(3 == 4) # False
print(3 != 5) # True
操作符 | 名称 | 示例 |
---|---|---|
and | 与 | (3 > 2) and (3 < 5) |
or | 或 | (1 > 3) or (9 < 2) |
not | 非 | not (2 > 1) |
print((3>2) and (3<5)) # True
print((2<1) or (2>4)) # False
print(not (2>3)) # True
操作符 | 名称 | 示例 |
---|---|---|
~ | 按位取反 | ~4 |
& | 按位与 | 4 & 5 |
| | 按位或 | 4 | 5 |
^ | 按位异或 | 4 ^ 5 |
<< | 左移 | 4 << 2 |
>> | 右移 | 4 >> 2 |
'''
按位取反的操作是在原数字的基础加1,然后取反
比如 4 -> 5 再去取反 得到 -5
比如 -4 -> -3 再去取反 得到 3
'''
a = 4
b = 5
print(bin(a),bin(b)) # 0b100 0b101
print(bin(~a),~a) # -0b101 -5
print(~4,~(-4)) # -5 3
'''
按位与:
将数字转换为 二进制,然后每一位进行对比,只有同为 1 的时候,当前位置的值不会变化
'''
a = 4
b = 5
print(bin(a),bin(b)) # 0b100 0b101 => 0b100
print(a&b) # 4
'''
按位或 |
和按位与相反,只有不同的时候,数字才保留
'''
a = 7
b = 3
print(bin(a),bin(b)) # 0b111 0b11 => 0b100
print(a|b) # 7
'''
按位异或 ^
只有 相同位置对应的不一样,结果才为 1
'''
a = 6
b = 3
print(bin(a),bin(b)) # 0b110 0b11
print(a^b) # 5
a^=b
b^=a
a^=b
print(a,b) # 3 6
'''
移位:对二进制操作
<<
>>
'''
a = 3
print(a<<1) # 3 * 2 = 6
print(a<<2) # 3 * (2**2) = 3 * 4 = 12
print(a<<3) # 3 * (2**3) = 3 * 8 = 24
b = 8
print(8>>1) # 8/2 = 4
print(8>>2) # 8/(2**2) = 2
print(8>>3) # 8/(2**3) = 1
Python 中的三元运算符有一点点不一样哦
a = 123
b = 321
# if a
# small = a
# else:
# small = b
# 三元运算符
small = a if a<b else b
print(small)
操作符 | 名称 | 示例 |
---|---|---|
in | 存在 | 'A' in ['A', 'B', 'C'] |
not in | 不存在 | 'h' not in ['A', 'B', 'C'] |
is | 是 | "hello" is "hello" |
not is | 不是 | "hello" is not "hello" |
words = ['A','B','C']
if 'A' in words:
print('A' + ' exists')
if 'D' not in words:
print('D'+ ' exists')
A exists
D exists
比较两个变量均指向不可变类型
a = "hello"
b = "hello"
print(a is b, a == b) # True True
print(a is not b, a != b) # False False
比较两个变量指向可变类型
a = ["hello"]
b = ["hello"]
print(a is b, a == b) # False True
print(a is not b, a != b) # True False
解答
2** -3
等价于 3 ** (-2)
1<<3 + 2&7
等价于 1<<(3+2))&7
3<4 and 4<5
等价于 (3<4) and (4<5)