Python开发【第2节】【Python运算符】

Python语言支持以下类型的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 运算符优先级

1、算术运算符

  假设变量a = 10,变量b = 21:

运算符描述实例
+加 - 两个对象相加a + b 输出结果 31
-减 - 得到负数或是一个数减去另一个数a - b 输出结果 -11
*乘 - 两个数相乘或是返回一个被重复若干次字串a * b 输出结果 210
/除 - x 除以 yb / a 输出结果 2.1
%取模 - 返回除法的余数b % a 输出结果 1
**幂 - 返回x的y次幂a**b 为10的21次方
//取整除 - 返回商的整数部分9//2 输出结果 4 ,
9.0//2.0 输出结果 4.0

2、比较(关系)运算符

  假设变量a = 10,变量b = 21:

运算符描述实例
==等于 - 比较对象是否相等(a == b) 返回 False。
!=不等于 - 比较两个对象是否不相等(a != b) 返回 True。
>大于 - 返回x是否大于y(a > b) 返回 False。
<小于 - 返回x是否小于y。返回1表示真,返回0表示假。
这分别与特殊的变量True和False等价。注意,这些变量名的大写。
(a < b) 返回 True。
>=大于等于 - 返回x是否大于等于y。(a >= b) 返回 False。
<=小于等于 - 返回x是否小于等于y。(a <= b) 返回 True。

3、赋值运算符

  假设变量a = 10,变量b = 21:

运算符描述实例
=简单的赋值运算符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

 

4、位运算符

  假设变量 a = 60,b = 13:

>>> a=18        
>>> bin(a)      # 将变量a的数值转成二进制数值输出
'0b10010'>>> b = 0b10010  #将二进制的数值赋给变量b
>>> b
18# 下面是二进制运算
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a  = 1100 0011

 

运算符描述实例
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a & b) 输出结果 12 ,二进制解释: 0000 1100
l按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a l b) 输出结果 61 ,二进制解释: 0011 1101
^按位异或运算符:当两对应的二进位相异时,结果为1(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<<左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。a << 2 输出结果 240 ,二进制解释: 1111 0000
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数a >> 2 输出结果 15 ,二进制解释: 0000 1111

 

5、逻辑运算符

  变量 a = 10, b = 20:

运算符逻辑表达式描述实例
andx and y布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20。
orx or y布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。(a or b) 返回 10。
notnot x布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False

 

6、成员运算符

运算符描述实例
in如果在指定的序列中找到值返回 True,否则返回 False。x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in如果在指定的序列中没有找到值返回 True,否则返回 False。x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

 

#!/usr/bin/python3a = 10
b = 20
list = [1, 2, 3, 4, 5 ];if ( a in list ):print ("1 - 变量 a 在给定的列表中 list 中")
else:print ("1 - 变量 a 不在给定的列表中 list 中")if ( b not in list ):print ("2 - 变量 b 不在给定的列表中 list 中")
else:print ("2 - 变量 b 在给定的列表中 list 中")# 修改变量 a 的值
a = 2
if ( a in list ):print ("3 - 变量 a 在给定的列表中 list 中")
else:print ("3 - 变量 a 不在给定的列表中 list 中")

7、身份运算符

  身份运算符用于比较两个对象的存储单元。

运算符描述实例
isis是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is notis not 是判断两个标识符是不是引用自不同对象x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

 

#!/usr/bin/python3a = 20
b = 20if ( a is b ):print ("1 - a 和 b 有相同的标识")
else:print ("1 - a 和 b 没有相同的标识")if ( id(a) == id(b) ):print ("2 - a 和 b 有相同的标识")
else:print ("2 - a 和 b 没有相同的标识")# 修改变量 b 的值
b = 30
if ( a is b ):print ("3 - a 和 b 有相同的标识")
else:print ("3 - a 和 b 没有相同的标识")if ( a is not b ):print ("4 - a 和 b 没有相同的标识")
else:print ("4 - a 和 b 有相同的标识")程序执行结果:
1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识
is 与 == 区别:
# is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
>>>a = [1, 2, 3]
>>> b = a
>>> b is a 
True
>>> b == a
True
>>> b = a[:]   # 其中[:]表示复制传值
>>> b is a
False
>>> b == a
True 

8、运算符优先级

  以下表格列出了从最高到最低优先级的所有运算符:

运算符描述
**指数 (最高优先级)
~ + -按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //乘,除,取模和取整除
+ -加法减法
>> <<右移,左移运算符
&位 'AND'
^ l位运算符
<= < > >=比较运算符
<> == !=等于运算符
= %= /= //= -= += = *=赋值运算符
is is not身份运算符
in not in成员运算符
not or and逻辑运算符

  

转载于:https://www.cnblogs.com/loser1949/p/9484928.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366132.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mybatis-plus分页查询_SpringBoot + MyBatisPlus 快速入门

Hello,大家好&#xff01;前面与大家分享了一次如何搭建Java项目脚手架&#xff0c;并且送给大家一个基础项目模板。那今天与大家分享如何使用这个基础项目&#xff0c;也就是快速上手 SpringBoots ➕ MyBatisPlus。 项目 / 目录结构 天津商业大学学院信息 这是一张天津商业大学…

php 获取每年的节假日,shell获取每年农历节日的日期

原创内容&#xff0c;转载请注明出处&#xff1a;https://www.myzhenai.com.cn/post/3711.html我打算自己写一个每年节日就自动在网站上展示灯笼的源码功能&#xff0c;但是这里最重要的是要获得每年春节、端午节、中秋节等节日的日期&#xff0c;因为要自己写这判断这些日期的…

AJAX跨域问题解决方法(1)——禁止浏览器进行跨域限制

思路&#xff1a;通过命令行修改浏览器启动参数&#xff0c;使得浏览器不进行跨域检查&#xff0c;从而允许跨域 方法&#xff1a;命令行参数启动浏览器后添加参数--disable-web-security 例&#xff1a;chrome --disable-web-security --disabl-web-security参数的作用是禁…

Android Studio 管理所有程序退出

import android.app.Activity; import java.util.ArrayList; import java.util.List;public class fa {public static List<Activity> activitieanew ArrayList<>();public static void add(Activity act){activitiea.add(act);//在创建活动是加入}public static v…

项目学生:Web服务集成

这是Project Student的一部分。 其他职位包括带有Jersey的 Web服务 客户端&#xff0c;带有Jersey的 Web服务服务器 &#xff0c; 业务层 &#xff0c; 具有Spring数据的持久性和分片集成测试数据 。 早些时候&#xff0c;我们成功地针对持久性/业务层&#xff08;使用嵌入式H…

python爬虫requests实战_Python爬虫之requests库网络爬取简单实战

实例1&#xff1a;直接爬取网页 实例2 &#xff1a; 构造headers&#xff0c;突破访问限制&#xff0c;模拟浏览器爬取网页 实例3 &#xff1a; 分析请求参数&#xff0c;构造请求参数爬取所需网页 实例4&#xff1a; 爬取图片 实例5&#xff1a; 分析请求参数&#xff0c;构造…

某制冷设备制造厂商

某制冷设备制造厂商 该公司是一家以钣金加工&#xff0c;制冷设备制造、销售为主的公司&#xff0c;其产品广泛应用于高级宾馆、饭店及大型餐饮设施等。销售网点遍及日本、北美、欧洲及东南亚&#xff0c;产品深受世界各地用户的欢迎。 该公司原先使用的是TPICS生产管理系统&am…

原生JS实现的DOM操作笔记(草稿整理)

原生JS实现的DOM一系列操作参考&#xff1a; 原生JavaScript封装DOM库siblings: 原生JS-查找相邻的元素-siblings方法的实现addClass,removeClass,hasClass,toggleClass&#xff1a;原生js添加删除class原生js添加删除class 代码如下&#xff1a; var dom {/** 功能说明&…

简单的Gradle Java插件自定义

正如我在“ 用Gradle构建Java的初步了解”一文中所展示的那样&#xff0c;当人们使用Java插件并将文件和目录放置在该插件期望的位置时&#xff0c; Gradle尤其适用于构建Java应用程序的基础知识&#xff08;惯例-基于项目的布局 &#xff09;。 但是&#xff0c;并非总是有一种…

k8s 重点

这几个月参与了几场面试&#xff0c;设计了多道面试题&#xff0c;觉得可以综合考察应聘人对 kubernetes的掌握情况。在这里分享下&#xff0c;供应聘人自查以及其他面试官参考。 这些面试题的设计初衷并不是考察 kubernetes 的使用。这种笔者认为较为流于表面&#xff0c;因为…

python中print的用法_python中print用法

print用法 参考文档&#xff1a; https://blog.csdn.net/sinat_28576553/article/details/81154912 目录 一、print()函数概述 二、变量的输出 三、数据的格式化输出 3.1 %字符 3.2 最小字段宽度和精度 3.3 转换标志 3.4 格式字符归纳 四、换行与防止换行 一、print()函数概述 …

java 播放.pcm文件,java播发PCM文件

java播放PCM文件import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import javax.sound.sampled.AudioFormat;import javax.sound.sampled.AudioSystem;import javax.sound.sa…

02 re模块

# re的工作是在python中执行正则表达式 import re# # find # result re.findall("\d", "baby的电话号是: 185123456789") # print(result) # # it re.finditer("\d", "baby123456789的电话号是: 185123456789") # for el in it: # …

网页中二维码识别规则

识别规则 这里采用的逻辑是截屏识别&#xff0c;当客户端发现用户在网页的img标签内进行长按操作时&#xff0c;会立刻截屏并且启动二维码识别算法。所以这里用于二维码识别的图片是截屏&#xff0c;而不是之前有人提到的img标签中的图片。 为什么要用截屏&#xff0c;这也是…

使用Mockito测试Spring组件

我认为&#xff0c;能够对弹簧组件进行单元测试而无需使用临时测试配置加载完整的弹簧上下文&#xff0c;这是一个很大的优势&#xff0c;因为它干净&#xff0c;易于维护&#xff0c;编写速度更快&#xff0c;更改平滑。 实现此目标的一种方法是使用Mockito并告诉他用Mocks &…

python数字转换_Python实现中文数字转换为阿拉伯数字的方法示例

本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a; 一、需求 今天写了三千二百行代码。 今天写了3200行代码。 两行意思相同&#xff0c;只是表达方式不太能够&#xff0c;统一掉。 二、原理 数字的特征是 数字 …

LeetCode第14题:最长公共前缀

题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar"…

臭名昭著的sun.misc.Unsafe解释

Java虚拟机的最大竞争对手可能是托管C&#xff03;等语言的Microsoft CLR 。 CLR允许编写不安全的代码作为低级编程的入口&#xff0c;这在JVM上很难实现。 如果您需要Java中的此类高级功能&#xff0c;则可能会被迫使用JNI &#xff0c;这需要您了解一些C并Swift导致代码紧密耦…

主从复制

五 主从复制 Replication(重要&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;) 5.1、介绍 基于主库二进制日志实时恢复到备库。 5.2、原理 5.2.1 主从复制的前提 &#xff08;1&#xff09;两台或两台以上数据库实例 &#xff08;2&#xff09;主库…

手机号正则表达 php,php 手机号码正则表达试程序代码_PHP教程

代码如下function funcMtel($str)//手机号码正则表达试{return (preg_match(“/(?:13d{1}|15[03689])d{8}$/”,$str))?true:false;}测试18678785887返回为false原因分析&#xff0c;查看了发现上面正则只能验证以13,15开头的&#xff0c;自然18开头的是不可以用的修改后代码如…