一起来了解python的运算符
作者:童话的python之旅 发布时间:2022-08-29 03:01:17
标签:python,运算符
1、算数运算符
小例中:
a = 5
b = 3
算数运算符 | 描述 | 小例 |
---|---|---|
+ | 加 | a + b = 8 |
- | 减 | a - b = 2 |
* | 乘 | a * b = 15 |
/ | 除 | a / b = 1.6666666666666667 |
// | 整除 | a // b = 1 |
% | 取余 | a % b = 2 |
** | 幂 | a ** b = 125 |
注:
(1)、整数经过除法运算后变成浮点数(小数);
(2)、整除结果只取整数部分,小数点以及后面的数字删除;
取余的四种情况:
1、正常情况
5 % 3 = 2
2、被除数为负数
-5 % 3 = 1
计算过程:
(-2) + 3 = 1
在正常情况下的余数前减负号,然后与除数相加得最终结果
3、除数为负数
5 % -3 = -1
计算过程:
2 + (-3)= -1
在正常情况下的余数,然后与除数相加得最终结果
4、被除数和除数都为负数
-5 % -3 = -2
计算过程:
在正常情况的余数前面加负号,也就是正常情况的余数的相反数
2、比较运算符
比较运算符运算的结果为布尔值,当结果正确时为True(真),当结果错误时为False(假)。
小例中:
a = 1
b = 2
比较运算符 | 描述 | 小例 |
---|---|---|
> | 大于 | a > b -->False |
< | 小于 | a < b -->True |
>= | 大于等于 | a >= b -->False |
<= | 小于等于 | a <= b --> True |
== | 等于 | a == b --> False |
!= | 不等于 | a != b --> True |
注:
>=、<= 只要满足一个条件结果就为真
3、赋值运算符
小例中:
a = 2
b = 3
赋值运算符 | 描述 | 小例 |
---|---|---|
= | 简单的赋值运算符 | a = b,将b的值赋值给a, 结果a=3 |
+= | 加法赋值运算符 | a += b,等于a = a + b, 结果a=5 |
-= | 减法赋值运算符 | a -= b,等于a = a - b, 结果a=-1 |
*= | 乘法赋值运算符 | a *= b,等于a = a * b, 结果a=6 |
/= | 除法赋值运算符 | a /= b,等于a = a / b, 结果a=0.6666666666666666 |
//= | 整除赋值运算符 | a //= b,等于a = a // b, 结果a=0 |
**= | 幂赋值运算符 | a **= b,等于a = a ** b, 结果a=6 |
4、成员运算符
成员运算符 | 描述 |
---|---|
in | x in y,判断x是不是在y中,如果在则返回True,否则返回False |
not in | x not in y,判断x是不是在y中,如果不在则返回True,否则返回False |
使用场景
1、字符串
2、列表
3、元组
4、集合
5、字典
6、---
实例
# 字符串
s = '这里是字符串的成员运算符的实例'
res1 = '字符串' in s
print(res1)# True
res2 = '字符串' not in s
print(res2)# False
# 列表
ls = [1 ,2,3]
ls1 = 1 in ls
print(ls1)# True
ls2 = 1 not in ls
print(ls2)# False
# 元组
tp = ('1','2','3')
tp1 = '1' in tp
print(tp1)# True
tp2 = '1' not in tp
print(tp2)# False
# 集合
st = {1,2,3}
st1 = 1 in st
print(st1)# True
st2 = 1 not in st
print(st2)# False
# 字典
dic = {'k1':'v1','k2':'v2','k3':'v3'}
dic1 = 'k1' in dic
print(dic1)# True
dic2 = 'k1' not in dic
print(dic2)# False
# 成员运算符 判断字典时 判断的是键 不是那个所对应的值
dic3 = 'v1' in dic
print(dic3)# False
5、身份运算符
身份运算符 | 描述 |
---|---|
is | x is y,检测x和y在内存中是不是同一个地址,如果是则返回Ture,否则返回False |
not is | x not is y,检测x和y在内存中是不是同一个地址,如果不是则返回Ture,否则返回False |
实例
# 这些实例都已pycharm运行,python自带解释器有所区别
# 整数、浮点数、布尔值相同地址相等
int1 = 5
int2 = 5
print(int1 is int2)# True
float1 = 1.0
float2 = 1.0
print(float1 is float2)# True
bool1 = True
bool2 = True
print(bool1 is bool2)# True
# 字符串相同地址相等
s1 = '123'
s2 = '123'
print(s1 is s2)# True
# 元组相同地址相等
tp1 = ()
tp2 = ()
print(tp1 is tp2)# True
# 列表、集合、字典,无论什么情况地址都不相同
ls1 = []
ls2 = []
print(ls1 is ls2)# False
6、逻辑运算符
逻辑运算符 | 描述 | 小例 |
---|---|---|
and | 逻辑与 :全真为真,一假为假 | 2>3 and 3<2 ---->True |
or | 逻辑或:全假为假,一真为真 | 1>2 or 2<1 ---->False |
not | 逻辑非:与原值相反 | not 2>1 ---->False |
实例
a = 1
b = 2
c = False
ser1 = a<b and b>a
print(ser1)# True
ser2 = a>b or b<a
print(ser2)# False
ser3 = not c
print(ser3)# True
逻辑短路
适用一个and或者一个or:
1、一个and时:x and y,如果x为假,则and后面的y不进行运算,结果直接为False。
2、一个or时:x or y,如果x为真,则or后面的y不进行运算,结果直接为True。
逻辑优先级
逻辑优先级:() > not > and > or
res1 = True and (False or True) # --> True and True
print(res1)# True
res2 = False or not True # -->False or False
print(res2)# False
res3 = False and True or False and True or False # -->False or False or False
print(res3)# False
7、位运算符
位运算是先将数据转换成二进制值数据,然后再进行一系列的运算。
位运算符 | 描述 |
---|---|
& | 按位与 |
| | 按位或 |
~ | 按位非 |
^ | 按位异或 |
>> | 右移 |
<< | 左移 |
按位与
进行按位与运算的两个值,相同位置的二进制位值都为1,则结果为1,否则为0。
8 = 1000
9 = 1001
8&9 = 1000 --->8
按位或
进行按位或运算的两个值,相同位置的二进制位值只要有一个为1,则结果为1。
9 = 1001
10 = 1010
8|9= 1011 -->11
按位非
进行按位非运算,结果为:原值加一的绝对值即| n+1|
a = 6
b = -6
~a = |6+1| = 7
~b = |-6+1| = 5
按位异或
进行按位异或运算的两个值,相同位置的二进制位值相同,则结果为0,否则为1。
9 = 1001
10 = 1010
9^10 = 0011-->3
右移
进行右移运算的值,右移几位,则有效二进制位右移几位。等效于n>>m等于n整除2的m次幂。
9 = 1001
9>>1= 0100 -->4
10 = 1010
10>>2= 0010-->2
左移
进行左移运算的值,左移几位,则有效二进制位左移几位。等效于n<<m 等于n乘以2的m次幂。
9 = 1001
9<<1 = 10010-->18
10 = 1010
10<<2= 101000-->40
8.运算符的优先级
1、乘、除 > 加、减
2、()> not > and > or
3、按位非(~) > 右移(>>)、左移 (<<)> 按位与(&) > 按位异或(^) > 按位或(|)
1、乘、除 > 加、减
2、()> not > and > or
3、按位非(~) > 右移(>>)、左移 (<<)> 按位与(&) > 按位异或(^) > 按位或(|)
一元运算符: 同一时间只操作一个数字运算的 ,例: ~1,-12
二元运算符: 同一时间只操作两个数字运算的 ,例:5 + 3
1、一元运算符优先级 > 二元运算符
2、所有运算符当中 ** 幂运算优先级最高
3、所有运算符当中 = 赋值运算符优先级最低
算数运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符>赋值运算符
来源:https://blog.csdn.net/weixin_50627146/article/details/122650098


猜你喜欢
- 实例如下所示:import numpy as npa1 = np.array([1,2,3,4],dtype=np.complex128)p
- 一、为什么要配置文件1、容易编辑,配置比较集中,方便修改,在大业务量的系统里面,通过配置会方便后人理解整个系统的架构2、做到业务代码和环境解
- 有时候在测试django中一些模块时,不想重新跑一整个django项目,只想跑单个文件,正好写在if __name__ == '__
- 如下所示:# 输入数字使其反向输出num = int(input("请输入一个数:"))i = 0num1 = numw
- 本文实例为大家分享了python利用opencv实现颜色检测的具体代码,供大家参考,具体内容如下需要实现倒车辅助标记检测的功能,倒车辅助标记
- 内置数据类型Python的内置数据类型既包括数值型和布尔型之类的标量,也包括 更为复杂的列表、字典和文件等结构。数值Python有4种数值类
- Saver的用法1. Saver的背景介绍我们经常在训练完一个模型之后希望保存训练的结果,这些结果指的是模型的参数,以便下次迭代的训练或者用
- 前言汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,
- 本文实例讲述了PHP封装的PDO数据库操作类。分享给大家供大家参考,具体如下:<?phpclass DatabaseHandler {
- 语言原生的map存在2个问题:1)不是线程安全的;2)数据量大时候需要尽量避免使用string等,GC压力很大;有人使用泛型实现了相关的co
- python的numpy 能生成一定概率分布的随机数,但如果需要更具体的概率密度,累积概率,就要使用scipy.stats。scipy.st
- 前言本篇来学习在pytest中使用yaml编写测试用例项目结构conftest.py只需在 conftest.py 即可实现使用yaml编写
- int 数字类型class int(object): """ int(x=0) -&g
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 18 - Classes part IClass(
- 代码如下:登陆时记录cookies页面代码 <!--#include file="md5.asp"--&
- 首先通过一个例子来看一下本文中可能用到的对象和相关概念。 #coding: UTF-8 import sys # 模块,sys指向这个模块对
- python爬虫遇到爬取文件内容时,需要一页页的翻页爬取,这样很是麻烦,其实可以获取每个列表信息下的文件名和文件链接,让文件名和文件链接处理
- 你可以输入'脚本'查查看 查找页面中的字符 <script language="JavaScript&quo
- 本文实例讲述了Python使用中文正则表达式匹配指定中文字符串的方法。分享给大家供大家参考,具体如下:业务场景:从中文字句中匹配出指定的中文
- 声明本文章为个人拙见,仅仅提供参考,不一定正确,各位大佬可以发表自己的意见。题目描述考虑到在虚拟机部署中资源提供商通常希望自己的收益最大化,