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 True

is和==的区别:
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相同,都是浮点数