一、运算符
1.算数运算符
(1)加(+)
注意:字符串与整数之间不能进行相加,需要通过str()或int()进行转换数据类型
整数与整数相加
>>> 1 + 1
2
>>>
浮点数与浮点数相加
>>> 2.0 + 2.0
4.0
>>>
"""二进制存储精度误差"""
>>> 1.1 + 1.3
2.4000000000000004
>>>
整数与浮点数相加
>>> 2 + 2.0
4.0
>>>
字符串之间相加
>>> "Mr" + "." + "ZHENG"
'Mr.ZHENG'
>>>
正数与负数相加
>>> 3 + (-1)2
>>>
负数与负数相加
>>> -3 + -4
-7
>>>
(2)减(-)
注意:字符串与整数和字符串之间不能进行相减
整数与整数相减
>>> 10 - 5
5
>>>
负数与负数相减
>>> -3 - -4
1
>>>
正数与负数相减
>>> 5 - -2
7
>>>
浮点数与浮点数相减
>>> 5.0 - 2.0
3.0
>>>
>>> 1.3 - 1.2
0.10000000000000009
>>>
整数与浮点数相减
>>> 3 - 1.3
1.7
>>>
(3)乘(*)
注意:字符串与字符串之间不能进行相乘
整数与整数相乘
>>> 3 * 2
6
>>>
浮点数与浮点数相乘
>>> 3.0 * 2.0
6.0
>>>
整数与浮点数相乘
>>> 4 * 1.0
4.0
>>>
正数与负数相乘
>>> 5 * (-2)-10
>>>
负数与负数相乘
>>> -3 * -2
6
>>>
(4)除(/)
注意:字符串与字符串和整数之间不能进行相除
python2.x 整数与整数相除
>>> 6 / 3
2
"""整数相除,结果为整数"""
>>> 7 / 3
2
>>>
python3.x 整数与整数相除
>>> 1/2
"""整数相除,结果为浮点数"""
0.5 >>>
浮点数与浮点数相除
>>> 6.2 / 2.0
3.1
>>>
整数与浮点数相除
>>> 6.0 /3
2.0
>>>
>>> 7 / 3.0
2.3333333333333335
>>>
(5)求幂(**)
如x ** y --> 返回x的y次幂
>>> 3 ** 3
27
>>>
>>> 10 ** 2
100
>>>
(6)取模 (%)--> 返回除法的余数
>>> 5 % 3
2
>>>
"""-a % b = b - (a % b)"""
>>> -304 % 100
96
>>>
(7)整除法(//) -->向左取整
正数(正数向零取整)
>>> 9.0 // 2
4.0
>>> 9 // 2
4
负数(负数取偏小一位数)
>>> -9.0 // 2
-5.0
>>> -9 // 2
-5
2.赋值运算符
(1)= 简单的赋值运算符
变量的使用和命名
变量名只能包含字母、数字和下划线,可以以字母或下划线打头,但是不能以数字打头
变量不能包含空格
不要以 python 中的关键字(保留字符)作为变量
变量名应简短又具有描述性
变量区分大小写
慎用字母 l 和 o,因为可能会被人认为是 1 和 0
>>> a = 10
>>>a10
name = "Alex Li"name2=nameprint(name,name2)
name= "Jack"
print("What is the value of name2 now?")
a,b = 1,2
print(a)print(b)
c,d= [3,4]print(c)print(d)---> 1
---> 2
---> 3
---> 4
python内存回收机制如下:
变量相当于门牌号,当门牌没有了,即函数的引用都没有调用了,内存的数据就会被清除掉。
python内有个定时器,定期的会刷新,如果发现内存中数据不被引用了,就会被回收,这个就是内存的回收机制。
(2)+= 加法赋值运算符
a += 1 --> a = a + 1
>>> a = 2
>>> a += 1
>>>a3
>>>
(3)-= 减法赋值运算符
a -= 1 --> a = a - 1
(4)*= 乘法赋值运算符
a *= 1 --> a = a * 1
(5)/= 除法赋值运算符
a /= 2 --> a = a / 2
(6)%= 取模赋值运算符
a %= 3 --> a = a % 3
(7)**= 幂赋值运算符
c **= a 等效于 c = c ** a
(8)//= 取整除赋值运算符
c //= a 等效于 c = c // a
3.比较运算符(返回值为bool值)
(1)== 等于 - 比较对象是否相等
>>> "name" == "name"True>>> 1 == 1True>>> 1 == 2False>>>
(2)!=或<> 不等于 - 比较两个对象是否不相等
>>> 1 != 2True>>> 1 <> 1False>>> "name" != "name1"True>>>
(3)>
>>> 2 > 1True>>> 5 > 8False>>> "zheng" > "zhen"True>>>
(4)<
>>> 1 < 2True>>> 3 < 2False>>> "zhen" < "zheng"True>>>
(5)>=
>>> 2 >= 2True>>>
(6)<=
>>> 2 <= 2True>>>
4.身份运算符(用于比较两个对象的存储单元--内存地址)
(1)is 是判断两个标识符是不是引用自一个内存地址
x is y,类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
>>> 1 is 1True>>> 1 is 2False
(2)is not 是判断两个标识符是不是引用自不同对象
x is not y, 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False
>>> 1 is not 1False>>> 1 is not 2True
5.逻辑运算符
假设a = 10,b = 20
(1)and 布尔"与" --> 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值
>>> a = 10
>>> b = 20
>>> a == 9 andb
False>>> a andb20
(2)or 布尔"或" --> 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值
>>> a = 10
>>> b = 20
>>> a orb10
>>> a == -1 orb20
>>> a == 1 orb20
>>> a == 10 orb
True
(3)not 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True
>>> a = 10
>>> nota
False>>> not a == 1True
6.成员运算符
(1)in 如果在指定的序列中找到值返回 True,否则返回 False
如下:a 在 b序列中则返回True,否则返回False
>>> a = 10
>>> b = [1,2,3]>>> a inb
False>>> b = [1,2,3,10]>>> a inb
True
(2)not in 如果在指定的序列中没有找到值返回 True,否则返回 False
如下:a 不在 b序列中则返回True,否则返回False
>>> a = 10
>>> b = [1,2,3]>>> a not inb
True>>> b = [1,2,3,10]>>> a not inb
False>>>
原文出处:https://www.cnblogs.com/ZhengYing0813/p/11715630.html