欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python运算符

程序员文章站 2022-04-26 21:42:54
运算符1. 赋值 a = 32. 赋值运算符x = 1x += 3 # x = x + 3x *= 3 # x = x * 3print(x)3. 算术运算加法运算a = + 2a = '6' + '6' # str 拼字符串print(a)66减法运算a = 1 - 2a = '66' # 减法不能用字符串拼串print(a)TypeError: unsupported operand type(s) for -: 'str' and 'str'乘...

运算优先级

python运算符

运算符

1. 赋值
a = 3

2. 赋值运算符
x = 1
x += 3    # x = x + 3
x *= 3   # x = x * 3
print(x)

3. 算术运算
加法运算
a = + 2
a = '6' + '6'  # str 拼字符串
print(a)
66
减法运算
a = 1 - 2
a = '66' # 减法不能用于字符串拼串
print(a)
TypeError: unsupported operand type(s) for -: 'str' and 'str'
乘法运算
a = 2 * 3
a = '6' * 2
print(a)
66
除法运算
a = 6 / 2
print(a)
3
整除
a = 6 // 4
print(a)
1
取余
#a = 6 % 4
print(a)
2
幂运算
a = 2 ** 3
print(a)
8
开平方
a = 4 ** 0.5
print(a)
2

4. 比较运算符
ASCII 码的大小规则:0~9 < A~Z < a~z同个字母的大写比小写小32.如A<a ,A 为 65,a为97大小比较,成立则为True, 不成立则为False
a = 3 > 2
print(a)
True
#特殊比较
result = '1' > '2' #单引号表示字符串
print(result)
False
result = '2' > '1'
print(result)
True
result = '2' > "21" # 先比较第一位,第一位相等,再比第2位,如无第二位,第2位为零。
print(result)
False
result = 'a' >"b" # 先比较第一位,第一位相等,再比第2位,如无第二位,第2位为零,字母大小顺序为 z~a
print(result)
False
result = 'a' >"1111123456789" # 字母大数字小
print(result)
True
result = 'a' >"ab" # 先比较第一位,第一位相等,再比第2位,如无第二位,第2位为零,字母大小顺序为 z~a。
print(result)
False
#result = 'a' >"A" # 先比较第一位,第一位相等,再比第2位,如无第二位,第2位为零,字母大小顺序为 z~a。
print(result)
False
result = 'C' > "b" # 先比较第一位,第一位相等,再比第2位,如无第二位,第2位为零,字母大小顺序为 z~a(所的小写字母都双任何大写字母大,)
print(result)
False
result = 'ab' < 'ac'# 先比较第一位,第一位相等,再比第2位,如无第二位,第2位为零,字母大小顺序为 z~a,所的小写字母都双任何大写字母大
print(result)
True
#== 和 != 比较的是值是否相等
result = 2 == 2 # 整数或浮点数比较时等于号必须为“==”。
print(result)
True
result = 'python' == 'python'
print(result)
True
result = 'python' != 'python'  # '!= ' 表示不等于
print(result)
False
result = 'abc' == 'abd'#先比较第一位,第一位相等,再比第2位,如无第二位,第2位为零,依此类推,字母大小顺序为 z~a(所的小写字母都双任何大写字母大,)
print(result)
False
#is 和is not  比较的是两个对象是否是同一个对象  比较的是地址(id)  id地址  value值  type类型
result = 0 is False # 0 是int type , False是 布尔 type ,不同类型id不同,所以不相等
print(result)
False
result = 0 ==  False # "==" 是比较数值,
print(result)
#
5. 逻辑运算符
逻辑非  : 0 # None整数  不可变类型
空串  None  还有一些表示空性的值会转换为False,其余的全部都是True  not 可以对符号右侧的值进行逻辑非运算,对于布尔值逻辑非运算会对其进行取反向值操作,True变成False,False变成True。
a = 1
a = not a
print(a)
False # 如不取反向值为True, 实际取了反向值,所以为False
a = 0
a = not a
print(a)
True # 如不取反向值为False, 实际取了反向值,所以为True
a = None
a = not a
print(a)
True
a = '' #空值
a = not a
print(a)
False
a = [] #空性值
a = not a
print(A)
False
#逻辑与(找False值)
result = True and True
result = True and False
result = False and False
print(result)
#逻辑或(找True值 )
result = True or True
result = True or False
result = False or False
print(result)

6. 非布尔值的与运算
#与运算规则是找False, 如果第一个值是False,那么不看第二个值,直接返回第一个值,如果第一个值是True,那么直接输出第二个值
result = 1 and 2
print(result)
2
result = 1 and 0
print(result)
0
result = 0 and 1
print(result)
0
result = None and 0
print(result)
None

7. 非布尔值的或运算
#或运算规则是找True, 如果第一个值是True,则不看第二个值,直接返回第一个值,如果第一个值为False,则直接输出第二个值
result = 1 or 2
print(result)
1
result = 0 or 2
print(result)
2
result = 0 or None
p rint(result)
None

8. 变量在内存中原理
#整数,不可变类型
a = 10
b = 10
b = a
print(id(a), id(b))
1504537904 1504537904#整数,不可变类型id 地址不变
#字符串  不可变类型  当值强制性改变的时候  id会改变
str1 = 'abcdefg'
str2 = 'abcdefg'
print(id(str1), id(str2))
1719196632544 1719196632544 #字符串  不可变类型 
#字符串  不可变类型  当值强制性改变的时候  id会改变
#列表  可变类型   当值发生改变的时候 id不会变
list1 = [1, 2, 3]
list2 = list1
print(id(list1), id(list2))
1623004356168 1623004356168#
import copy
#浅拷贝: 只能拷贝数据类型的第一层数据
a = 'abc'
list1 = [1, 2, 3, a]
list2 = list1.copy()
print(id(list1), id(list2))
3006840577608 3006840577736 #值相等但在内存中id不同
print(id(list1[3]), id(list2[3]))
3006840488040 3006840488040 #内存id相等

本文地址:https://blog.csdn.net/weixin_50587406/article/details/109955508

相关标签: python