运算符
算数运算符
+
,加法
-
,减法
*
,乘,可以直接print('*' * 20)
,表示打印20个*
**
,次方,2 ** 3
表示2的三次方
/
,除法
//
,整除,取整数,不要小数点后面的数
%
,取余,取模
例如
a = input(‘输入一个三位数:’)
a = int(a)
print(‘百位数:’, a // 100)
print(‘十位数:’, (a // 10) - (a // 100 * 10))
print(‘个位数:’, a - (a // 100 * 100) - ((a // 10) - (a // 100 * 10)) * 10)输出:
输入一个三位数:123
百位数: 1
十位数: 2
个位数: 3
赋值运算符
=
赋值
+=
简便写法:a += 1 就是a = a + 1
*=
简便写法:b *= 2 就是b = b * 2
/=
简便写法:c /= 2 就是c = c / 2
//=
简便写法:d //= 2 就是d = d // 2
**=
简便写法:e **= 3 就是e = e ** 3
%=
简便写法:f %=10 就是f = f % 10
关系运算符
>
数字之间的比较,字符串比较的话是每个字符都参照ASCII码
<
数字之间的比较,字符串比较的话是每个字符都参照ASCII码
>=
<=
==
数字之间的比较,字符串之间的比较确定是否相同
!=
不等于
is
用于比较字符串之间的运存地址,可用id()取得字符串地址
逻辑运算符
and
or
not
位运算,针对二进制进行的运算
&
按位与运算符:参与运算的两个值,如果两个相应位都位1,则该位的结果为1,否则为0
|
按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^
按位异或运算符:当两对应的二进位相异时,结果为1
~
按位取反运算符:对数据的每个二进制位取反,即把1变为0,0变为1,~x类似于-x-1
<<
左移动运算符:运算数的个二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0
>>
右移动运算符:把>>左边的运算数的各二进位全部右移若干位,>>右边的数字指定了移动的位数
进制转化
进制:
二进制:0,1
八进制:0,1,2,3,4,5,6,7
十进制:0~9
十六进制:
0~9
,a~f
十进制转二进制
正常除法除以2的余数:10->1010
python转换:
n = 149
result = bin(n)
print(result)
输出:
ob10010101
注意:ob表示二进制,ob后面的就是十进制转换的二进制。
bin()方法是向二进制转换的,无论多少进制,用bin()转换都是二进制结果
二进制转十进制:
1010->二进制:12**3 + 022 + 1*21 + 0*2**0
python转换:
n=10010101
result = int(n)
print(result)
输出:
149
十进制转八进制:
正常除法除以8的余数:100->144
python转换:
n = 200
result = oct(n)
print(result)
输出:
0o310
注:0o表示八进制,0o后面就是十进制转换的八进制。
oct()方法是向二进制转换的,无论多少进制,用oct()转换都是二进制结果
八进制转十进制:
144->十进制:18**2+481+4*80=64+32+4=100
python转换:
int()
十进制转换十六进制:
正常除法除以16的余数:100->64python转换:
n = 200
result = hex(n)
print(result)
输出:
0xc8
注:0x表示十六进制,0x后面就是十进制转换的十六进制。
hex()方法是向二进制转换的,无论多少进制,用hex()转换都是二进制结果
十六进制转换十进制:
int()方法即可。
已知二进制转换成十六进制,将二进制从右侧开始4位一组,最后不足4位补0
已知二进制转换成八进制,将二进制从右侧开始3位一组,最后一组不足4位补0