运算符与表达式

1、算术运算符

+加

-减

*乘
/ 除
% 求模,取余数
** 幂运算 a**b = a^b a的b次方
// 取整 ,返回商的部分

被除数 ÷ 除数 = 商…余数

表达式不改变变量本身的大小

num1 = 20
num2 = 30
print(num1 + num2)
print(num1 - num2)
print(num1 * num2)
print(num1 / num2)
print(num1 % num2)
print(num1 ** num2)
# 类似pow(num1,num2)
print(pow(num1,num2))
print(num1 // num2)
输出:
50
-10
600
0.6666666666666666
20
1073741824000000000000000000000000000000
1073741824000000000000000000000000000000
0

2、判断运算符

== 判断是否相等

= 判断是否大于等于
<= 判断是否小于等于
!= 不等于

大于 >

< 小于
注意:两个对象相比较的时候,返回的是布尔类型【True或者False】

num1 = 20
num2 = 30
print(num1 == num2)
print(num1 >= num2)
print(num1 <= num2)
print(num1 != num2)
print(num1 > num2)
print(num1 < num2)
print(2<3<4)
输出:
False
False
True
True
False
True
True

3、赋值运算符

赋值运算符
= 赋值运算符
作用:给变量进行赋值
+= 加法赋值运算符 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 //= b 相当于 a = a // b


age = 18
name = "ldc"

a = 10
b = 20
print(a + b)
a += b
a = a + b
print(a)
a -= b
print(a)
a *= b
print(a)
a /= b
print(a)
a %= b
print(a)
a **= b
print(a)
a //= b
print(a)
输出:
30
50
30
600
30.0
10.0
1e+20
5e+18

4、位运算符

进行位运算时,首先需要把它转为二进制来计算
& 按位与
| 按位或
^ 按位异或 ,当两对应的二进位相异时,结果为1
~ 按位取反
<< 左移
>> 右移

print(3 & 2)
print(3 | 2)
print(3 ^ 2)
print(3 & -1)
'''
0000 0011   3的补码
1111 1111  -1的补码
&
0000 0011  结果是 3
'''
print(3 << 2 )
print(3 * 2 **2)  # m左移n位,结果等于m*2^n
print(3 << 3 )
print(3 * 2 ** 3)

5、成员运算符 成员运算符 in 【在】和 not in【 不在】

一般情况下在for循环中使用
判断指定的值是否在序列中存在,若存在则返回True,否则返回False

list1 = [1,2,3,4]
print(2 in list1)
print(5 in list1)
list2 = ['lili','jiajia','yiyi']
print('lili' in list2)
输出:
True
False
True

6、身份运算符 is 和 is not

is : 结果为True,引用的是同一个对象
判断两个变量是不是同一个对象
实质上比较的就是地址
is not :结果为True,表示引用的不是同一个对象

a = 5000
b = 5000
print(a is b)
输出:
False

六、拓展

print(1)
print("hello")
print([1,2,3,4])
print((1,2,3,4,5))
# 格式化输出
'''
格式化输出时,使用”%“
使用占位符的个数、类型与后面参数的个数、类型都要保持一致
参数的顺序与占位符保持一致
%d 整形
%f 浮点型
%s 字符串
%c 字符
'''
print("hello,I'm %d,not %d.How %s" %(18,19,"age are you"))

'''
字符串比较的时候比较的是ASCII码值的大小
'''
if 'bba' > 'b':
    print("@@@@@@@")
else:
    print("######")

# ord()返回字符的ASCII值
print(ord('a'))
# chr()返回ASCII值代表的字符
print(chr(97))
输出:
1
hello
[1, 2, 3, 4]
(1, 2, 3, 4, 5)
hello,I'm 18,not 19.How age are you
@@@@@@@
97
a

python运算符与表达式_python