开头提示:本文档仅为本人自学时整理,如果能帮到更多初学者也是极好的,不喜勿喷,有错的地方也请指正
一、算术运算符
一元运算符: -(取反)
二元运算符:+、 -、 *、 /、 %、 **、 //
# 加 +
a = 1
b = 2
print(a + b)
# 减 -
c = 5
print(c - a)
# 乘 *
print(a * b)
#除
print(c / b)
#取余
print(c % b)
#幂 **
print(c ** b)
#地板除法(整除) //
print(c // b)
字符串使用 + 和*运算符
# +号拼接
a = 'hello'
b = ' world'
print(a + b)
# *重复
print(a * 2)
二、赋值运算符
#简单赋值运算符
x = 1
#加赋值运算符
x += 1 #展开:x=x+1
#减赋值运算符
x -= 1 #x=x-1
#乘赋值运算符
x *= 2 #x=x*2
#除赋值运算符
x /= 2 #x=x/2
#取余数赋值运算符
x %= 2 #x=x%2
#幂赋值运算符
x **= 2 #x=x**2
#取整除赋值运算符
x //= 10 #x=x//10
三、比较关系运算符
#<、>、==、!=、>=、<=
'''
> :大于
< :小于
== :等于
!= :不等于
>= :大于或等于
<= :小于或等于
'''
java = 90
python = 70
c = 95
print("java成绩:"+str(java)+"Python成绩:"+str(python)+"C语言成绩:"+str(c))
print("java>python:"+str(java > python))
print("java != python:"+str(java != python))
print("java < python:"+str(java < python))
print("java > c:"+str(java > c))
print("java >= python:"+str(java >= python))
print("c <= python:"+str(c <= python))
四、逻辑运算符
* not :逻辑非
* and :逻辑与
* or :逻辑或
这里有一点值得我们注意,Python作为动态语言,与java中的与和或有一定的区别。
我们在java中存在两种与和两种或,分别是短路形式的和非短路形式的,&、&&、|、||
何为逻辑短路,就是当前一个条件已经足够使得我们的逻辑运算得到最终结果时,系统将不执行后一个条件语句
而在我们的Python中,得益于动态语言的特点,我们Python中的与和或均为短路与和短路或,也就是逻辑短路
五、位运算
1. ~ :位反运算,将x的值按位取反
2. & :位与运算,x与y位进行位与运算,只有对应位都是1时,才为1,否则为0
3. | :位或运算,x与y位进行位或运算,只有对应位都为0时,才为0,否则为1
4. ^ :位异或运算,x与y位进行位异或运算,只有对应位不同时,才为1,否则为0
5. >> :右移,x右移a位,高位采用符号位补位,
6. << :左移,x左移a位,低位采用0补位
位运算只支持整数类型,int类型在Python中占4个字节,也就是32位二进制数,正数我们用原码表示,负数我们用补码表示。
首先我们来介绍一下原码、反码、补码怎么转换
以4位二进制代码为例 这个是2 0010 如果为原码,则它的反码为:1101,补码则是在原码的基础上+1:1110 (-2)
他们的最高位为符号位,判断这个数的正负,当为0时,是正数,1时为负数
print(bin(2))
print(bin(~(2)+0b01))
'''
位与运算
1000
1100
------
1000
'''
'''
位或运算
1000
0100
------
1100
'''
'''
位异或运算
1001
0101
-----
1100
'''
'''
位取反运算
~1101
-----
0010
'''
这里我们着重讲一下左移和右移,因为我们的二进制以2位单位,所以我们进行左移和右移操作时,相当于是乘以或除以2的n次方。
要注意左右移运算符不会修改原先变量的值
#左移运算符
a = 2
print(a<<2)
#右移运算符
print(a>>1)
六、其他运算符
同一性测试运算符
is 和 is not,是否为同一对象
和“==”的区别,==是用来判断值是否相等的
a = 2
b = 2
print(a==b)
print(a is not b)
print(a is b)
print(id(a))#这里我们可以看到两个变量指向同一个地址,满足同一性,所以a is b 为True
print(id(b))
print("---------------------------------")
class person:
def __init__(self,name):
self.name =name
def __eq__(self, other):
if self.name == other.name:
return True
else:
return False
p1 = person("张三")
p2 = person("张三")
print(p1==p2)#这里我们需要注意,对象比较时,我们需要给他定义一个 == 的比较规则
print(p1 is not p2)
print(p1 is p2)
print(id(p1))
print(id(p2))
成员测试运算符
in 和 not in a是否在b中
#成员测试运算符
str = "how are you"
a = "you"
print(a in str)
print(a not in str)
list = [1,2,3,4]
print(1 in list)
print(5 in list)
七、算符优先级
() > 函数调用 f(x) > 分片[start : end : step] > 下标 [index] > . 引用类成员 > ** 幂运算 > ~ 位反 > 正负号 + - > * / % 乘除取余 > + - 加减 > 位移运算 >> << > & 位与 > ^ 位异或 > | 位或 > in ,not in, is, is not, <, <=, >, >=, <>, !=, == > not 逻辑非 > and 逻辑与 > or 逻辑或 > lambda表达式
这里简单扩展一下lambda表达式
def sum(x, y):
return x + y
print(sum(4,6))
#lambda表达式写法
sum1 = lambda x,y:x+y #参数:表达式
print(sum1(4,6))
八、输入输出语句
输入:input()
a = input("请输入x的值:")
b = input("请输入y的值:")
def sum(x,y):
return x+y;
result = sum(a,b)
print("result:"+result)
输出:print()
print可以输出数字、字符串、表达式(有结果的展示结果值)
一个print默认占用一行,当有两个print时,会显示在上下,如果想在一行输出两个变量,可以用逗号隔开
这里讲一个特殊的输出方式,将输出的内容展示在文本文件中
fp = open(r'D:\codespace\Pycharm_code\pythonProject2\day02\demo08.txt','a+')
print("每一天都要开心快乐,成长是必经的旅途哟",file=fp)
fp.close()
本文档详细介绍了Python的基础运算符,包括算术、赋值、比较、逻辑和位运算,并通过实例解释了其用法。此外,还讲解了Python中的赋值运算符、比较关系运算符、逻辑运算符的短路特性以及位运算的规则。同时,提到了输入输出语句和算符优先级的概念。
&spm=1001.2101.3001.5002&articleId=124118339&d=1&t=3&u=d851583e5b604032a266001da98fe320)
4154

被折叠的 条评论
为什么被折叠?



