Python入门基础(二)运算符及数字类型详解
- 运算符
- 算术运算符
- 比较运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
- 数字类型详解
- 范围问题
- 进制转换
- 小整数池
- 大整数池
- 常见函数
运算符
算术运算符
Python中的算术运算符有如下7个:
运算符 | 描述 |
+ | 两数相加或是字符串拼接 |
- | 两数相减 |
* | 两数相乘或是返回重复若干次的字符串 |
/ | 两数相除,返回浮点数 |
// | 两数相除后向下取整 |
% | 两数相除后取余数 |
** | 某个数的次方运算 |
比较运算符
Python中的比较运算符有如下6个:
运算符 | 描述 |
== | 判断两数是否相等 |
!= | 判断两数是否不相等 |
> | 判断大于关系,a>b,如果a大于b,返回True,否则返回False |
< | 判断小于关系,a<b,如果a小于b,返回True,否则返回False |
>= | 判断大等关系,a>=b,如果a大于或等于b,返回True,否则返回False |
<= | 判断小等关系,a<=b,如果a小于或等于b,返回True,否则返回False |
赋值运算符
Python中的赋值运算符有如下8个:
运算符 | 描述 |
= | 常规赋值,将计算结果赋值给变量 |
+= | 加法赋值运算符,a+=b等价于a=a+b |
-= | 减法赋值运算符,a-=b等价于a=a-b |
*= | 乘法赋值运算符,a*=b等价于a=a*b |
/= | 除法赋值运算符,a/=b等价于a=a/b |
//= | 除法取整赋值运算符,a//=b等价于a=a//b |
%= | 取模赋值运算符,a%=b等价于a=a%b |
**= | 幂运算赋值运算符,a**2等价于a=a*a |
逻辑运算符
Python中的逻辑运算符有如下3个:
运算符 | 描述 |
and | 布尔‘与’运算符,两边条件都成立返回True,否则返回False |
or | 布尔‘或’运算符,两边条件至少有一个成立返回True,否则返回False |
not | 布尔‘非’运算符,对结果取反的操作 |
位运算符
Python中的位运算符有如下6个:
运算符 | 描述 |
& | 按位‘与’运算符,当两数的二进制值对应位都是1时取1,否则取0 |
l | 按位‘或’运算符,当两数的二进制值对应位有1时取1,否则取0’ |
~ | 按位‘取反’运算符,将二进制值的1改0,0改1 |
^ | 按位‘异或’运算符,当两数的二进制值对应位不同时取1,否则取0 |
>> | ‘左移’运算符,将二进制值左移指定位,末尾添0,相当于乘2的位数次方 |
<< | ‘右移’运算符,将二进制值右移指定位,正数首加0,负数首加1,相当于除2的位数次方 |
成员运算符
Python中的成员运算符有如下2个:
运算符 | 描述 |
in | 当数值在序列中时返回True,否则返回False |
not in | 当数值不在序列中时返回True,否则返回False |
身份运算符
Python中的身份运算符有如下2个:
运算符 | 描述 |
is | 判断两个标识符是否引用同一个对象,同对象返回True,否则返回False |
is not | 判断两个标识符是否引用同一个对象,不同对象返回True,否则返回False |
运算符优先级
运算符 | 描述 |
** | 幂运算 |
~ | 取反运算 |
*、/、//、% | 乘、除、除整、取模 |
+、- | 加、减 |
>>、<< | 右移、左移 |
& | 按位与运算 |
^、l | 按位异或、按位或 |
>=、<=、>、< | 大等、小等、大于、小于 |
==、!= | 等于、不等于 |
=、+=、-=、*=、/=、//=、**= 、%= | 赋值运算符 |
is、is not | 身份运算符 |
in、not in | 成员运算符 |
and 、or、not | 逻辑运算符 |
数字类型详解
范围问题
Python2.x中整型是有限制大小的
1、32位的机器上,整数的位数是32位,取值范围是-231~231-1
2、64位的机器上,整数的位数是64位,取值范围是-263~263-1
3、超过范围的整数就是long型
Python3.x中整数没有大小限制,但由于机器内存有限,所有整数不能做到无限大。
进制转换
bin(i) :将i转为2进制,以‘0b’开头。
oct(i) :将i转为8进制,以‘0o’开头。
int(i) :将i转为10进制,正常显示。
hex(i) :将i转为16进制,以‘0x’开头。
小整数池
Python为了优化速度,使用小整数对象池,避免为整数频繁申请和撤销内存空间。Python规定[-5,256]范围内的整数共用一块内存地址,它们是提前建立好的,不会被垃圾回收。在一个Python程序中,无论整数处于哪个位置,主要在[-5,256]范围内都属于同一个对象。
大整数池
终端每次执行,所以大整数要重新创建,而在pycharm中,所有的代码都会加载到内存中,属于一个整体,此时便会有一个大整数池,即同一个代码块的大整数都是同一个对象
终端实例:
>>> a=300
>>> b=300
>>> print(id(a),id(b),a is b)
2758727738640 2758727738832 False
>>>pycharm实例:
a=300
b=300
print(id(a),id(b),a is b)#2146430971088 2146430971088 Trueis和==的区别:
is是比较地址,==是比较值
常见函数
函数 | 描述 |
abs(x) | 返回x的绝对值 |
fabs(x) | 返回x的绝对值 |
ceil(x) | 对x向上取整 |
floor(x) | 对x向下取整 |
round(x[,n]) | 对x四舍五入,给出n值时,表示保存n位小数 |
exp(x) | 返回e的x次方 |
pow(x,y) | 返回x**y |
sqrt(x) | 返回x的平方根 |
log(x) | 对数计算,如math.log(100,10)返回2.0 |
log10(x) | 对数计算,如math.log10(100)返回2.0 |
min(x1,x2…) | 返回序列中的最小值 |
max(x1,x2…) | 返回序列中的最大值 |
modf(x) | 以元组形式返回x的整数和小数部分,符号与x相同,都是浮点数 |
















