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

猜你喜欢

转载自www.cnblogs.com/SenseW/p/12345044.html
今日推荐