表达式

  • 由一个或者几个数字或者变量或者运算符合成的一行代码
  • 通常返回一个结果

运算符

  • 由一个以上的值经过一系列的运算得到新值的过程叫运算
  • 用来操作运算的符号叫运算符
  • 运算符分类
    • 算数运算符
    • 比较或者关系运算符
    • 赋值运算符
    • 逻辑运算符
    • 位运算
    • 成员运算符
    • 身份运算符
# 表达式案例
a = 1+2

算数运算符

  • 用来进行算数运算符
  • 通常用来表示加减乘除
  • Python没有自增自减运算符
# 算数运算符案例
# 加减跟数学意义基本一致 a = 9 + 2
print(a) b = 9 - 2
print(b) c = 8 * 2
print(c) # python除法分为的普通除法,地板除,取余
# 正常除法
# 此操作在python2.x 和3.x 中有些不同,2中结果为四舍五入整数,3中结果为小数
a = 9 / 2
print(a) # 除以负数的结果
a = 9 / -2
print(a) # 地板除--取整
a = 9 // 2
print(a) # python中向下取整即向更小的数取整数
a = 9 // -2
print(a) # 取余
a = 9 % 2
print(a) # 除于负数取余的结果
# x%y等价于x-(( x//y )* y ) 数学:被除数x= 商(x//y)* 除数y + 余数
a = 9 % -4
print(a) # 两个乘号就是指数
a = 7 ** 2
print(a)
11
7
16
4.5
-4.5
4
-5
1
-3
49

比较预算符

  • 对两个内容进行比较的运算符
  • 结果一定是布尔值,即 True/False
# 等于 ==
a = 3 == 4
print(a) # 不等于 !=
a = 3 != 4
print(a) # 其他的符号是
# > ,>=,<.<=
print(3 >= 8)
print("afdafafadf">"dsafad")
False
True
False
False

赋值运算符

  • 把一个值放到变量里去
# 赋值符号 =
a = 9 # 复杂赋值
a = b = 9
a,b = 1,2 # 赋值的缩写
cc = 0
cc = cc+ 3
print(cc) #下面符号是赋值的缩写
cc += 3
print(cc) #所有数学运算符都可以缩写
# -=,*=,/=,//=,%=,**=,都是缩写形式
# python里面没有 ++,--
3
6

逻辑运算符

  • 对布尔类型变量或者值进行运算的符号
  • and:逻辑与
  • or :逻辑或
  • not:逻辑非
  • python里面的逻辑运算没有异或
  • 运算规则:
    • and看做乘法,or看做加法
    • True看做1,False看做0
    • 则逻辑运算就能转换成整数数学运算
    • 最后结果如果是0则为False,否则为True
  • 逻辑运算的短路问题
    • 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
# 逻辑表达举例
a = True
b = True
c = False aa = a and b #左边表达式可以转换成1*1
print(aa) bb = a and c
print(bb) cc = 100 and c
print(cc) # 布尔值跟数字的转换
# 数字转换成布尔值的时候, 0 = false, 其余是true
# 布尔值转换成数字的时候: True = 1, Flase = 0
True
False
False
# 短路问题案例1
a = True
b = True
c = False aa = a or b and (a and b) # 转换成 1+ .... ......
print(aa)
True
# 短路问题案例2
def a():
print('a')
return True
def b():
print('b')
return True aaa = a() and b()
print(aaa) # 字符串乘以数字,表示对这个字符串重复多少遍
print("*" * 20)
bbb = a() orb()#短路发生
print(bbb)
a
b
True
********************
a
b
True

成员运算符

  • 用来检测一个值或者变量是否在某一个集合里面
  • in:成员运算符
  • not in:不在里面的意思
# in 案例

L = [1,2,3,4,5]
a = 6
aa = a in L
print(aa) # a没在L里面
aa = a not in L
print(aa)
False
True

身份运算符

  • 用来确定两个变量是否是同一个变量
  • is:变量运算符 是
  • is not:不是
  • 学Python的想必都知道,对整数N\in[-5,256],解释器对他们做了单独的处理,放进了固定的内存中,不因每次运行而变化
# 身份运算符定义
a = 1
b = 100989888 aa = a is b
print(aa) # a,b仅仅是值一样,并不代表a,b是同一个变量,可以理解为它们有一定的内存地址
a = 100989888
b = 100989888
aa = a is b
print(aa) #该案例不一样,小整数[-5,256]之间不需要重新开辟内存 ,它们将放到同一个内存地址中
a = 5
b = 5
aa = a is b
print(aa)
False
False
True

运算符优先级

1. 小括号具有最高优先级
2. **指数(高优先级)
3. ~ + - 按位翻转,医院加号和减号(最后两个的方法名为+@和-@)
4. 乘,除,取模和取整数 * / % //
5. 加法减法+ -
6. 右移 >>、<<左移运算符
7. & AND ^ | 位运算符
8. <= < > >= 比较预算夫
9. <> == != 等于运算符
10. = %= /= //= -= += *= **= 赋值运算符
11. is 与 is not 身份运算符
12. in 与 not in 成员运算符
13. and、or、not 逻辑运算符

Python表达式及运算符的更多相关文章

  1. Python表达式与运算符

    表达式与运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 算术运算符 运算符 描述 + 加 - 两 ...

  2. Python 简明教程 --- 5,Python 表达式与运算符

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度. -- Bill Gates 目录 1, ...

  3. 从0开始的Python学习005运算符与表达式

     地三鲜 土豆+茄子+青椒=地三鲜 这就是一个表达式,表达式是由运算符和操作数组成的. 土豆.茄子和青椒是操作数,炒是运算符,而地三鲜就是最后结果也就是这个表达式的值. 表达式 一个表达式可以分解为运 ...

  4. Python基础-Python的三元运算符和lambda表达式

    1. Python的三元表达式: 现在大部分高级语言都支持 “?”这个三元运算符,它对应的表达式如下:condition ? value if true:value if else 但是 Python ...

  5. python中的运算符及表达式及常用内置函数

    知识内容: 1.运算符与表达式 2.for\while初步了解 3.常用内置函数 一.运算符与表达式 python与其他语言一样支持大多数算数运算符.关系运算符.逻辑运算符以及位运算符,并且有和大多数 ...

  6. Python中的运算符与表达式

    你所编写的大多数语句(逻辑行)都包含了表达式(Expressions).一个表达式的简单例子便是 2+3.表达式可以拆分成运算符(Operators)与操作数(Operands).运算符(Operat ...

  7. python基础-变量运算符(3)

    一.注释 注释就是对代码的解释和说明.目的是为了让别人和自己很容易看懂.为了让别人一看就知道这段代码是做什么用的.正确的程序注释一般包括序言性注释和功能性注释.序言性注释的主要内容包括模块的接口.数据 ...

  8. 03 . Python入门之运算符

    一.什么是运算符? 举个简单的例子** 4 +5 = 9 . 例子中,4** 和 5 被称为操作数,"+" 称为运算符. Python语言支持以下类型的运算符: [算术运算符] [ ...

  9. python基础之运算符

    算术运算符 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 31 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11 * 乘 - 两个数相乘或是返回一个被重复 ...

  10. JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

    1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...

随机推荐

  1. C语言中字符数组的赋值和复制

    /*C中,字符串,即字符数组的赋值与字符变量.常量.变量的赋值是不同的.初学者总会犯错误. 常见错误如下: 1.定义的时候直接用字符串赋值 char a[10]; char a[10]="h ...

  2. getopt函数使用说明

    一.查询linux命令手册: #include<unistd.h> #include<getopt.h> /*所在头文件 */ int getopt(intargc, char ...

  3. 关于JDBC的学习

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  4. 中文数据导入到hive,出现乱码

    中文数据导入到hive,出现乱码 解决方法: 右键要导入的数据文件,选择用Notepad++打开,然后点击"编辑"-->转为UTF-8,最后保存即可. 然后在上传到指定路径下 ...

  5. 如何使用Github创建一个仓库

    创建仓库(对我来说,这是新建) 点击这里的Create repository: 进入到这样一个界面: 其中,Repository name,是我们即将创建完成的仓库名称: 而这里: 需要填写的是对仓库 ...

  6. MySQL学习(四)锁机制

    分类 读锁(共享锁):对同一个数据,多个读操作可以同时进行,互不干扰 写锁(互斥锁):如果当前写操作没有完毕,则无法进行其他的读操作.写操作 操作范围 表锁:一次性对一张表整体加锁.如myisam存储 ...

  7. MybatisX无法自动生成entity实体类

    在做项目的时候,安装MybatisX插件可以让我们不用写实体类,加快我们的开发速度,让我们更专注于业务逻辑的开发,可是最近在做项目的时候,发现MybatisX插件的MybatisX-Generator ...

  8. 操作系统 && C语言 每日学习记录(day1 ~ day8) 已寄

    现在正式工作了,发现之前学的东西,很多一知半解,不通透,准备再好好系统学一些计算机原理的东西,每天学一学,在这里记录一下. 规划(7.17开始): 同学分享了个超级好的操作系统课程,每天看个一节:ht ...

  9. Agora 教程丨一个典型案例,教你如何使用水晶球“数据洞察”

    7 月初,声网Agora 水晶球的"数据洞察"功能正式版上线."数据洞察"可显示两种数据,一种是用量,另一种是质量. "数据洞察"的&quo ...

  10. 中国科学院2019年大学生数学夏令营考试试题 选做 (Mathematica练习)

    目录 试题 1 6 9 solution to (1) solution to (2) 相关读物 试题 选择性地做一些,没有对答案.能机器算的我就不拿纸笔算了,当然实际考试是笔试... 不定期更新 1 ...