02-python-运算符与表达式
Posted sensew
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02-python-运算符与表达式相关的知识,希望对你有一定的参考价值。
目录
1. 比较运算符
- 假设x=10, y=20
运算符 | 中文名 | 描述 |
---|---|---|
== | 等于等于 | 比较x,y是否相等 |
!= | 不等于 | 比较x,y是否不相等 |
> | 大于 | x>y,比较x是否大于y |
< | 小于 | x<y,比较x是否小于y |
>= | 大于等于 | x>=y,比较x是否大于等于y |
<= | 小于等于 | x<=y,比较x是否小于等于y |
2. 算数运算符
- 假设x和y两个数
运算符 | 中文名 | 描述 |
---|---|---|
+ | 加 | x,y相加 |
- | 减 | x, y相减 |
* | 乘 | x, y相乘 |
/ | 除 | x, y相除,y不能为0 |
** | 求幂 | 求x的y次方 |
// | 取整 | 返回余数 |
% | 取模 | 返回整数,不使用四舍五入 |
3. 赋值运算符
- 假设x,y两个数
运算符 | 中文名 | 描述 |
---|---|---|
= | 等于 | 变量赋值运算符 |
+= | 加等于 | x+=y;即x和y相加后的和赋值给x |
-= | 减等于 | x-=y;即x和y相减后的差赋值给x |
*= | 乘等于 | x*=y;即x和y相乘后的积赋值给x |
/= | 除等于 | x/=y;即x和y相除后的商赋值给x |
%= | 取模等于 | x%=y;即x和y相除后的余数赋值给x |
**= | 求幂等于 | x**=y;即x的y次方赋值给x |
//= | 取整等于 | x//=y;即x和y相除后的商赋值给x,不保留整数 |
4. 位于运算符
- 说明:按位运算符是通过其数的二进制进行计算
运算符 | 中文名 | 描述 |
---|---|---|
& | 按位与运算符 | 参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 |
| | 按位或运算符 | 只要对应的二个二进位有一个为1时,结果位就为1。 |
^ | 按位异或运算符 | 当两对应的二进位相异时,结果为1 |
~ | 按位取反运算符 | 对数据的每个二进制位取反,即把1变为0,把0变为1。 |
<< | 左移运算符 | 运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 |
>> | 右移运算符 | 把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 |
- 实例演练:
x = 40 #二进制为:101000
y = 27 #二进制为:011011
z = 0
z = x & y # 8 == 1000
print("&--z的值为", z)
z = x | y # 59 == 111011
print("|--z的值为", z)
z = x ^ y # 51 == 110011
print("^--z的值为", z)
z = ~ x # -41 == 101001
print("~--z的值为", z)
z = x >> 3 # 5 == 101
print(">>--z的值为", z)
z = x << 3 # 320 == 101000000
print("<<--z的值为", z)
输出:
&--z的值为 8
|--z的值为 59
^--z的值为 51
~--z的值为 -41
>>--z的值为 5
<<--z的值为 320
5. 逻辑运算符
运算符 | 中文名 | 描述 |
---|---|---|
and | 逻辑与运算符 | x和y一个为假,就全部为假,必须全部为真,才为真 |
or | 逻辑或运算符 | x和y一个为真就为真,全部为假才为假 |
not | 逻辑非运算符 | 去表达式的反义,真为假,假为真 |
- 实例演练:
x = 10
y = 20
print(x and y)
print(x or y)
print(not(x and y))
输出:
20
10
False
6. 成员运算符
运算符 | 描述 |
---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 |
- 实例演练
x = 2
y = "2"
z = [1,2,3]
print(x in z)
print(y not in z)
输出:
True
True
7. 身份运算符
- id(object): 查看变量在内存中的地址,根据地址判断是不是同一对象
运算符 | 描述 |
---|---|
is | is 是判断两个标识符是不是引用自一个对象 |
is not | is not 是判断两个标识符是不是引用自不同对象 |
- 实例演练
x = 1
y = 1
z = 2
print(id(x))
print(id(y))
print(id(z))
print(x is y)
print(x is not z)
print(y is z)
输出:
1467711600
1467711600
1467711632
True
True
False
8. 运算符优先级
- 说明: 优先级降序排列
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,求余数和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 ‘AND‘ |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
== != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
==以上内容借鉴菜鸟教程==
9. 输出输入
- print函数(输出):
- 向屏幕打印信息,多用于调试
- 可接受多个对象,用逗号隔开,逗号输出为空格
- input函数(输入):
- 用于接收外部输入的内容,最终值为字符串
a = input("请输入:")
print(a)
输出:
请输入:123
123
10. 数字类型转换及常用数学方法
数学方法
内置
方法名 描述 int() 用于将字符串整数、小数等转为整数 float() 用于将字符串整数转为字符串小数、整数转为小数 max(seq) 返回序列中的最大值 min(seq) 返回序列中的最小值 pow(x,y) 返回x的y次方 abs(x) 返回 x 的绝对值 round(x,y) 保留x的y位小数,五舍六入 数学模块: 调用了math模块
方法名 描述 ceil(x) 返回≧ x 的最小整数 floor(x) 返回≦ x 的最大整数 sqrt(x) 给x开方 modf(x) 返回 x 的小数部份与整数部份 随机值模块: 调用了random模块
方法名 描述 randint(x,y) 产生x到y之间的一个整数型随机数 choice(seq) 从序列中随机选取一个元素,seq可以为list、tuple、string等 randrange(x,y,z) 生成从x到y的间隔为z的随机整数 uniform(x,y) 产生 x 到 y之间的随机浮点数,区间可以不是整数 shuffle(seq) 将序列打乱,seq可以为list、tuple、string等
11. 表达式
if语句:主要用于对表达式的真假判断,来执行对应的语句
- 当表达式为True时,则执行语句,False,则跳过
# 格式 if 表达式: 语句
if-elif-elif语句:有多个表达式,用于多种情况判断,哪个符合就执行哪个对应的语句
从上往下依次判断,有一个符合要求的就会执行对应的语句,不会继续往下判断
# 格式 if 表达式1: 语句1 elif 表达式2: 语句2 elif 表达式3: 语句3 ......
if-elif-else语句:有多个表达式,当所有表达式都不为True时,即执行else对应的语句
从上往下依次判断,若if和elif其中一个为true,则执行对应的语句,不会继续往下判断,若都为False,则执行else对应的语句
# 格式 if 表达式1: 语句1 elif 表达式2: 语句2 else 语句3
以上是关于02-python-运算符与表达式的主要内容,如果未能解决你的问题,请参考以下文章
Python学习——02-Python基础——2-运算符与基本数据类型——课后作业