python运算符

1、算数运算符( + - * / // % ** )

#   +    -   *   /    //     %    **
# 加 减 乘 除 整除 余数 幂

#注意
#1、 / 得到浮点型, // 得看被除数
10 / 5 #2.0
10 // 5 #2
10.0//5 #2.2
#2、 %
15 % 4 # 3
-15%-4 #-3 原余取反
15 %-4 #-1 余数 + 除数
-15% 4 # 1 除数 - 余数

  

2、比较运算符( < > <= >= == != )

# 注意:
num1 = 1
num2 = 1
res = num1 == num2 # True

  

3、 赋值运算符( = += -= *= /= //= %= **=)

num1 = 100
num2 = 5
num1 /= num2 # num1 = num1 / num2

  

4、 成员运算符( in , not in )

#针对于容器类型数据
strvar = "人生苦短,我用Python"
res = "python" not in strvar # False
res = "生python" in strvar # False
# 字典当中只判断 key

  

5、身份运算符( is , is not)

# 判断内存地址是否相同
(同一文件,模块,python)
#1 整型 (-5 ~ 正无穷 <小数据池:id地址相同>)
#2 浮点型(非负数)
#3 bool值相同
#4 复数类型(只有正虚数部分)
#5 strvar = "哈"相同时
#6 元组为空的时候
#7 其他容器永不相同
(不同文件,模块)
#1 整型 (-5 ~ 256 <小数据池:id地址相同>)

  

6、逻辑运算符( and , or ,nor)

# and
"""全真则真,有假则假"""
# or
"""全假则假,有真则真"""
# not
"""真假取反"""
# 逻辑短路:出现短路,不执行后面代码
True or print("短路,不执行") # or 当遇到 True 已经有结果为真,后面真假不影响结果,所有为短路效果。
False or print("没短路,执行") # or 首先遇到 False 还需要判断后边的

# 优先级 : () > not > and > or7 同级从左往右

  

7、位运算符( & , | , ~ , ^ , << , >> )

#1、 按位与   & (二进制and-------有0出0,全1出1)
#2、 按位或 | (二进制or--------有1出1 全0出0)
#3、 按位非 ~ (二进制not,针对补码进行运算,按位取反,包括标志位)
res = ~10 #-11 -(n+1)
#4、 按位异或 ^ (二进制-----------值同出0 异出1)
#5、 左移 << (5<<1,000...101--->000...1010)
res = 5 << 1 #10 5*2**1
res = 5 << 2 #20 5*2**2
res = 5 << 3 #40 5*2**3
#6、 右移 >> (5>>1,000...101--->000...010)
res = 5 >> 1 #2 5//2**1
res = 5 >> 2 #1 5//2**2
res = 5 >> 3 #0 5//2**3

  

8、运算符总结

"""
(1) 个别运算符:
1.1优先级最高**幂运算
1.2优先级最低=赋值运算符
1.3()括号可以提升运算优先级
(2)整体 一元运算符 > 二元运算符
一元运算符:同一时间,只操作一个值-~
二元运算符:同一时间,操作两个值+-*/...
(3) 同一层级
逻辑: () > not > and > or
位运算符:( << >> ) > & > ^ > |
(4)其他运算符
算数运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符 > 赋值运算符
"""

  

最新文章

  1. Debain下解决sublime无法输入中文
  2. Unknown class in Interface Builder file 解决方案
  3. 软件工程个人作业 - week1
  4. 关于在Xcode的OC工程中相对路径失败的原因
  5. Linux 的进程组、会话、守护进程
  6. typedef用法小结
  7. linux device driver —— ioctl
  8. forEach嵌套循环的问题
  9. 定制化jQuery
  10. python基础教程(六)
  11. 2.Text input and output
  12. 初探Java设计模式1:创建型模式(工厂,单例等)
  13. Android客户端与数据库交互数据的简单学习
  14. idea上传项目到github出现&quot;remote with selected name already exists&quot;情况的解决
  15. python3:logging模块 输出日志到文件
  16. tcp尽快尽快了
  17. iOS:调节系统的亮度
  18. mysql optimize整理表碎片
  19. max3232
  20. boost 学习(1)

热门文章

  1. 数据库(mysql)基础操作
  2. Centos7 composer安装时 Warning: This development build of composer is over 60 days old. It is recommended to update it by running &quot;/usr/bin/composer self-update&quot; to get the latest version.
  3. cute-cnblogs 一期样式原文
  4. 国外一教授坦言,用这方法能迅速成为python程序员,但都不愿意说_编程小十
  5. 重学 Java 设计模式:实战责任链模式「模拟618电商大促期间,项目上线流程多级负责人审批场景」
  6. 关于 JOIN 耐心总结,学不会你打我系列
  7. 微信小程序-创建小程序页面
  8. Python-16-分配参数
  9. Windows Server 2019 container容器化-Docker安装
  10. java.math.BigDecimal转换double double转换java.math.BigDecimal