02 python开发之基本运算符

2 基本运算符

2.1 算数运算符

2.1.1 种类

运算符 作用 运算符 作用 运算符 作用 运算符 作用
+ 相加 - 相减 * 相乘 **
/ 相除 % 取模/余数 // 取整除/整数部分

2.1.2 用法

  1. print(10 + 3) # 输出:13
  2. print(10 - 3) # 输出:7
  3. print(10 * 3) # 输出:30
  4. print(10 / 3) # 输出:3.3333333333333335
  5. print(10 ** 3) # 次方 输出:1000
  6. print(10 % 3) # 取余 输出:1
  7. print(10 // 3) # 地板除——保留整数 输出:3
  • 字符串与字符串、列表与列表、字典与字典之间也可使用+和*
  1. print([1, 2, 3] + [3, 4, 5]) # [1, 2, 3, 3, 4, 5]
  2. print([1, 2, 3] * 3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]

2.2 比较运算符

2.2.1 种类

运算符 作用 运算符 作用 运算符 作用
== 比较是否相等 != 比较是否不相等 > 是否大于
< 是否小于(1真0假) >= 是否大于等于 <= 是否小于等于

2.2.2 用法

  1. x = 20
  2. y = 23
  3. print(x == y) # ==是否相等,输出False
  4. print(x != y) # !=是否不相等,输出True
  • 同类型之间可以相互比较,不同类型比较会报错
  1. x=22
  2. b="123"
  3. print(x > b)
  4. # 报错:TypeError: '>' not supported between instances of 'int' and 'str'
  5. # 字符串跟整型数值进行比较,类型不匹配导致报错
  • str根据ASCⅡ码表进行比较,列表按照索引进行比较
  1. print("abc" > "az") # 输出:False
  2. print([1,2,3] < [1,3,4]) # 输出:True

2.3 赋值运算符

2.3.1 增量赋值

运算符 作用 运算符 作用 运算符 作用 运算符 作用
= 赋值运算符 += 加法赋值 -= 减法赋值 *= 乘法赋值
/= 除法赋值 %= 取模赋值 **= 幂赋值 //= 取整除赋值
  • 用法
  1. age=10
  2. age +=2 # age = age + 2
  3. age -=2 # age = age - 2
  4. age **=2 # age = age * age
  5. age *=2 # age = age * 2
  6. age /=2 # age = age / 2

2.3.2 链式赋值

  1. # 方法一
  2. x=10
  3. y=x
  4. z=y # 麻烦
  5. # 方法二
  6. x=y=z=10
  7. print(id(x))
  8. print(id(y))
  9. print(id(z))

2.3.3 交叉赋值

  1. x=10
  2. y=20
  3. # 第一种
  4. temp=x # 把x再赋值一次给一个变量名
  5. x=y
  6. y=temp
  7. # 第二种
  8. x,y=y,x
  9. print(x,y)

2.3.4 解压赋值

  1. # 麻烦的方式
  2. salary = [1.1, 2.2, 3.3, 4.4, 5.5]
  3. mon1 = salary[0]
  4. mon2 = salary[1]
  5. mon3 = salary[2]
  6. mon4 = salary[3]
  7. mon5 = salary[4]
  8. mon1, mon2, mon3, mon4, mon5 = salary
  9. print(mon1, mon2, mon3, mon4, mon5)
  10. # 变量名多一个不行少一个也不行,必须与值一一对应
  11. # mon1, mon2, mon3, mon4, mon5, mon6 = salary
  12. # mon1, mon2, mon3, mon4 = salary
  13. # 报错:ValueError: not enough values to unpack(expected 6, got 5)
  14. # 期望有5个返回值,但函数有6返回值
  15. # 优化方案
  16. salary = [1.1, 2.2, 3.3, 4.4]
  17. month1, month2, *_ = salary
  18. print(month1, month2) # 得到1.1 2.2
  19. print(_) # 得到[3.3, 4.4]
  20. dic = {'k1': 111, 'k2': 222, 'k3': 333}
  21. x, *_ = dic
  22. print(x) # 得到k1

2.4逻辑运算符

2.4.1 种类

运算符 作用
not 布尔"非",若x为True,则返回False
and 布尔"与",若x为False,x and y返回False,否则返回y的计算值
or 布尔"或",若x为True,则返回True,否则返回y的计算值

2.4.2 优先级

  1. # not > and > or
  2. res = 3 > 4 and 4 > 3 or not 1 == 3 and 'x' == 'x' or 3 > 3
  3. print(res) # True

2.4.3 用法

  1. # not代表把紧跟其后的条件结果取反
  2. print(10 > 3) # True
  3. print(not 10 > 3) # False
  4. # and连接左右两个条件,左右两个条件必须同时成立,最终结果才为True
  5. print(True and 1 > 0 and "aaa" == "aaa") # True
  6. print(False and 1 < 0 and "aaa" != "aaa") # False
  7. # or连接左右两个条件,左右两个条件但凡有一个成立,最终结果都为True
  8. print(True or 1 > 0 or "aaa" == "aaa") # True
  9. print(False or 1 > 0 or "aaa" != "aaa") # True
  10. # 短路运算
  11. print(10 and 0 or '' and 0 or 'abc' or 'egon' == 'dsb' and 333 or 10 > 4) # abc
  12. print((10 and 0) or ('' and 0) or 'abc' or ('egon' == 'dsb' and 333) or 10 > 4) # abc

2.4.4 补充

  1. # 对于and运算符,两边的值都为真时最终结果才为真,但是只要其中有一个值为假,那么最终结果就是假:
  2. # 如果左边表达式的值为假,不管右边表达式的值是什么最终结果都是假,此时and会把左边表达式的值作为最终结果。
  3. # 如果左边表达式的值为真,那么最终值是不能确定的,and会继续计算右边表达式的值,并将右边表达式的值作为最终结果。
  4. # 对于or运算符,情况是类似的,两边的值都为假时最终结果才为假,只要其中有一个值为真,那么最终结果就是真:
  5. # 如果左边表达式的值为真,不管右边表达式的值是什么最终结果都是真,此时or会把左边表达式的值作为最终结果。
  6. # 如果左边表达式的值为假,那么最终值是不能确定的,or会继续计算右边表达式的值,并将右边表达式的值作为最终结果。
  7. print(1 and 3) # 得3
  8. print(1 and 3 or 4) # 得3
  9. print(0 and 2 or 1 or 4) # 得到1
  10. print(0 or False and 1) # 得到False

2.5 身份运算

2.5.1 is

  • is 比较的是id

2.5.2 ==

  • == 比较的是值

2.5.3 总结

  • is 相等值一定相等
  • == 相等id不一定相等

02python开发之基本运算符的更多相关文章

  1. Python开发——数据类型【运算符】

    算数运算符 比较运算符 赋值运算符 逻辑运算符 成员运算符

  2. Python开发:Python运算符

    运算符 1.算数运算: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返 ...

  3. 吴裕雄--天生自然 PHP开发学习:运算符

    <?php $x=10; $y=6; echo ($x + $y); // 输出16 echo '<br>'; // 换行 echo ($x - $y); // 输出4 echo ' ...

  4. 吴裕雄--天生自然 JAVA开发学习:运算符

    public class Test { public static void main(String[] args) { int a = 10; int b = 20; int c = 25; int ...

  5. python开发基础(二)-运算符以及数据类型

    ##运算符 算数运算符: ---> 赋值运算符 >>>返回结果为值 + # 加 - # 减 * # 乘 / # 除以 ** # 幂运算 % # 取余数 // # 取商 #### ...

  6. 微信小程序开发之三元运算符代替wx.if/wx.else

    直接上代码 实现功能为:当fbphotoFirst为空时,src路径为“pic/信息反馈1-1_14.png“,并且点击事件uploadfbphotoFirst有效,否则为路径fbphotoFirst ...

  7. 吴裕雄--天生自然 JAVASCRIPT开发学习:运算符

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 吴裕雄--天生自然 PYTHON3开发学习:运算符

    #!/usr/bin/python3 a = 21 b = 10 c = 0 c = a + b print ("1 - c 的值为:", c) c = a - b print ( ...

  9. python开发基础(二)运算符以及数据类型之bool(布尔值))

    # encoding: utf-8 # module builtins # from (built-in) # by generator 1.147 """ Built- ...

随机推荐

  1. 2018HUAS_ACM暑假比赛5题解

    目录 Problem A Problem B Problem C Problem D Problem E Problem F Problem A 思路 这是一道带权并查集问题 因为只有三种种类,我们分 ...

  2. kubernetes教程第一章-kubeadm高可用安装k8s集群

    目录 Kubeadm高可用安装k8s集群 kubeadm高可用安装1.18基本说明 k8s高可用架构解析 kubeadm基本环境配置 kubeadm基本组件安装 kubeadm集群初始化 高可用Mas ...

  3. 如果只推荐一本 Python 书,我要 Pick 它!

    今年二月初,我偶然看到了一条推特: <流畅的Python>一书的作者发布了一条激动人心的消息:他正在写作第二版! 如果要票选最佳的 Python 进阶类书目,这本书肯定会是得票率最高的书籍 ...

  4. maven项目导入并运行

    idea导入maven工程流程 找到要导入的文件位置 打开导入 选择manve 一直next就好 选择jdk,选择自己的jdk--home就可以 点击finished 等待坐标导入,查看右侧maven ...

  5. tomcat 登录主页成功 点击Manager App 401 等问题

    1.将项目部署在tomcat的安装路径webapps下(如果报404,查下该应用是否在tomcat的webapps下部署着) 2.启动tomcat成功,http://127.0.0.1:8080成功, ...

  6. 通过两行代码即可调整苹果电脑 Launchpad 图标大小

    之前用 13 寸 Mac 的时候我还没觉得,后来换了 16 寸就发现有点不对劲了.因为 Mac 的高分辨率,当你进入 Launchpad 界面,应用图标的大小可能会让你怀疑:这特么是苹果的设计吗?有点 ...

  7. NMS总结

    目录 NMS总结 一. NMS 二. Soft-NMS 三. IOU-Guided NMS 四. Softer-NMS 五. DIOU-NMS 六. 总结 NMS总结 一. NMS 目标检测:同一个类 ...

  8. symfony3.4 配置高效的邮箱swiftmailer插件

    网站经常需要邮件发送,symfony里面swiftmailerBundle是一个非常并且稳定的发送邮件的第三方插件. 我们来看一下symfony里面的邮件怎么配置. 第一步我们先下载bundle: c ...

  9. win10安装linux子系统(wsl)

    win10安装linux子系统(wsl) 1.打开Microsoft Store 方式一:在电脑左下角打开 方式二:在电脑左下角的搜索里里输入Microsoft Store 打开Microsoft S ...

  10. import tensorflow 出现非法指令(核心已转储)

    使用 conda install -c conda-forge tensorflow 或者 conda install -c conda-forge tensorflow-gpu 试下.