『Python基础』第7节:基本运算符
一. 基本运算符
运算按种类可以分为: 算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算.
今天我们只学习算数运算、比较运算、逻辑运算、赋值运算、成员运算
1.1 算数运算
以下假设变量: a = 10, b = 20
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 |
a + b = 30 |
- | 减 - 得到负数或者是一个数减去另一个数 |
-b = -20, a - b = -10 |
* | 乘 - 两个数相乘或者是返回一个被重复若干次的字符串 |
a * b = 200 |
/ | 除 - x 除以 y |
b / a = 2 |
% | 取模 - 返回除法的余数 |
b % a = 0 |
** | 幂 - 返回x的y次幂 |
a ** b = 100000000000000000000 |
// | 整除 - 返回商的整数部分 |
9 // 2 = 4, 9.0 // 2.0 = 4.0 |
1.2 比较运算
以下假设变量: a = 10, b = 20
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 |
(a == b) 返回 False |
!= | 不等于 - 比较两个对象是否不相等 |
(a != b) 返回 True |
<> | 不等于 - 比较两个对象是否不相等 |
(a <> b) 返回 True. 类似 != |
> | 大于 - (x > y), 返回x是否大于y |
(a > b) 返回 False |
< | 小于 - (x < y), 返回x是否小于y. |
(a < b) 返回 True |
>= | 大于或等于 - (x >= y) 返回x是否大于等于y |
(a >= b) 返回 False |
<= | 小于或等于 - (x <= y) 返回x是否小于等于y |
(a <= b) 返回 True |
所有比较运算符返回1表示真, 返回0表示假.
1.3 赋值运算
以下假设变量: a = 10, b = 20
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b, 将a + b的运算结果赋值给c |
+= | 加法赋值运算符 | c += a, 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a, 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a, 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a, 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a, 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a, 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a, 等效于 c = c // a |
1.4 逻辑运算
以下假设变量: a = True, b = False
运算符 | 描述 | 实例 |
---|---|---|
and | 布尔与 - 如果x为False, x and y返回False, 否则它返回y的计算值. |
(a and b) 返回 False |
or | 布尔或 - 如果x为True, 它返回True, 否则它返回y的计算值 |
(a or b) 返回 True |
not | 布尔非 - 如果x为True, 返回False; 如果x为False, 它返回True |
not(a and b) 返回 True |
1.4.1 逻辑运算的优先级
在没有括号()
的情况下not
优先级高于and
, and
优先级高于or
, 即优先级关系为()
> not
> and
> or
, 同一优先级从左往右计算.
例题:
判断下列逻辑语句的True, False
1. 3>4 or 4<3 and 1==1
2. 1 < 2 and 3 < 4 or 1>2
3. 2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
4. 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
5. 1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
6. not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
1.4.2 逻辑运算的快速运算
x or y, x为真, 值就是x; x为假, 值就是y
x and y, x为真, 值就是y; x为假, 值就是x
例题:
求出下列逻辑语句的值
8 or 4
0 and 3
0 or 4 and 3 or 7 or 9 and 6
1.5 成员运算
以下假设变量x = 2, y = [1, 2, 3, 4]
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值, 返回True, 否则返回False | (x in y), 返回True |
not in | 如果在指定的序列中没有找到值, 返回True, 否则返回False | (x not in y), 返回False |
例题:
判断子元素是否在原字符串(字典, 列表, 集合)中
print('喜欢' in 'dkfljadklf喜欢hfjdkas')
print('a' in 'bcvd')
print('y' not in 'ofkjdslaf')
二. Python运算符的优先级
以下表格列出了从最高到最低优先级的所有运算符
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
~, +, - | 按位翻转, 一元加号[+2], 一元减号[-2] (注意与加法, 减法区分) |
*, /, %, // | 乘, 除, 取模, 整除 |
+, - | 加法, 减法 |
>>, << | 右移, 左移 |
& | 位AND |
^, | | 位运算符 |
<=, <. >, >= | 比较运算符 |
<>, ==, != | 等于运算符 |
=, %=, /=, //=, -=, +=, *=, **= | 赋值运算符 |
is, is not | 身份运算符 |
in, not in | 成员运算符 |
not, and, or | 逻辑运算符 |
『Python基础』第7节:基本运算符的更多相关文章
- 『Python基础』第4节:基础数据类型初识
本节只是对基础数据类型做个简单介绍, 详情会在之后慢慢介绍 什么是数据类型? 我们人类可以分清数字与字符串的区别, 可是计算机不能. 虽然计算机很强大, 但在某种程度上又很傻, 除非你明确告诉它数字与 ...
- 『Python基础』第2节: Python简介及入门
一. Python介绍 Python是一门高级计算机程序设计语言,1989年,荷兰的Guido von Rossum创造了它.Guido是是一个牛人,1982年,他从阿姆斯特丹大学获得了数学和计算机硕 ...
- 『Python基础』第39节 函数的返回值
1. 函数的返回值 一个函数就是封装一个功能, 这个功能一般都会有一个最终结果的. 比如写一个登录的函数, 最终登录是否成功你总得告诉我一声吧? 还有咱们之前也用过 len() 这个函数, ...
- 『Python基础』第20节:深浅copy
一. 赋值运算 l1 = [1, 2, 'conan', [11, 22]] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 'conan', [11, 22]] p ...
- 『Python基础』第8节:格式化输出
现在有一个需求, 询问用户的姓名, 年龄, 工作, 爱好, 然后打印成以下格式 ************ info of Conan ************ name: Conan age: 23 ...
- 『Python基础』第6节:流程控制之while循环
在生活中经常遇到循环的事情, 比如循环列表播放歌曲等. 在Python中, 也有循环, 就是其流程控制语句while. 1. 基本循环 while 条件: 循环体 # 如果条件为真, 那么就执行循环体 ...
- 『Python基础』第5节:条件控制
if 语句的使用 单分支 if 条件: 满足条件后要执行的代码 例如: if 2 < 3: print(222) print(333) 每个条件后面都要使用冒号 :, 表示接下来是满足条件后要执 ...
- 『Python基础』第1节 Windows环境下安装Python3.x
一. Python安装 1. 下载安装包 https://www.python.org/downloads/release/python-374/ # 3.7安装包 # 如需安装python2.7版本 ...
- 『Go基础』第5节 第一个Go程序
本节我们来学习写一个最简单的Go程序: 打印 Hello Go. 第一个Go程序, 只要跟着做, 留下个印象就可以. 用Goland创建一个 hello_go.go 文件(后缀为 .go ). 文件内 ...
随机推荐
- PHP如何解决网站大流量与高并发的问题(二)
转载:https://zhyunfe.github.io/2017/10/02/php-interview-prepare-hc-2/ 数据库缓存 相关概念 什么是数据库缓存? 为什么使用缓存 使用M ...
- firewalld 实现nat 转发外网转发到内网 实现访问外网端口到内网
第0步骤: 开启转发生效 [root@node178.oldboy.com ~]# cat /proc/sys/net/ipv4/ip_forward1 [root@node178.oldboy.c ...
- Android常用优秀开源框架
Android常用优秀开源框架 https://github.com/Ericsongyl/AOSF AOSF:全称为Android Open Source Framework,即Android优秀开 ...
- Git - 高级合并
Git - 高级合并https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%AB%98%E7%BA%A7%E5%90%88%E5%B9%B6 ...
- Centos 安装 nginx 特定版本
CentOS 6.9/7通过yum安装指定版本的Nginx - EasonJim - 博客园https://www.cnblogs.com/EasonJim/p/9020896.html [root@ ...
- 为Apache添加MP4扩展
apxs是apache的一个辅助工具软件,它通常用来为apache安装扩展模块,甚至可以直接将.c的源程序自动编译成.so程序,并能自动配置httpd.conf文件,将新安装的扩展添加到配置文件中启用 ...
- nginx报警:nginx: [warn] could not build optimal server_names_hash, you should increase either server_names_hash_max_size: 512 or server_names_hash_bucket_size: 64; ignoring server_names_hash_bucket_size
date: 2019-08-12 16:33:05 author: headsen chen notice :个人原创 告警现象: 解决办法:在http的部分添加hash缓冲值 测试:如下图, ...
- IDEA优化配置,提高启动和运行速度
IDEA优化配置,提高启动和运行速度 参考链接:https://blog.csdn.net/riju4713/article/details/83217013,http://www.pc0359. ...
- Flutter 中的常见的按钮组件 以及自定义按钮组件
Flutter 里有很多的 Button 组件很多,常见的按钮组件有:RaisedButton.FlatButton. IconButton.OutlineButton.ButtonBar.Float ...
- ISO/IEC 9899:2011 条款6.7.3——类型限定符
6.7.3 类型限定符 语法 1.type-qualifier: const restrict volatile _Atomic 约束 2.除了指针类型(其被引用的类型是一个对象类型)之外的类型,不应 ...