首页 > 编程语言 >Python的运算符与条件表达式

Python的运算符与条件表达式

时间:2024-07-23 13:24:58浏览次数:16  
标签:操作数 示例 Python 运算符 True 表达式

一、运算符

Python数据是通过使用运算符来进行操作的,与数学运算符类似,主要运用于数字计算,比较大小和逻辑运算。Python中的运算符主要包括算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符。

1.算术运算符

算术运算符用在数字表达式中,作用和在数学中是一样的。Python中常用的算术运算符,如下表

运算符说明示例
+加法:运算符两侧值相加a+b
-减法:左侧操作数减去右侧操作数

a-b

*乘法:运算符两侧值相乘a*b
/除法:左侧操作数除以右侧操作数a/b
%求余:左侧操作数除以右侧操作数

a%b

**幂:返回a的b次幂a**b
//取整数:返回商的整数部分a//b

代码示例如下:

>>> a=4
>>> b=6
>>> c=5
>>> d=18
>>> a+b
10
>>> a+b+c
28
>>> d-c
13
>>> a*c*d
360
>>> d/a
4.5
>>> d%c
3
>>> c**a
625
>>> d//a
4

【注意】:(1)在算术运算符中使用“%”运算符求余,如果除数(第二个操作数)是负数,那么结果也是负值。(2)在算术运算符中使用“/”“//”“%”运算符进行运算时,除数不能为0,否则会出现异常。

2.赋值运算符

赋值运算符主要用来为变量赋值。最常用的赋值运算符是“=”,表示把右边结果赋值给左边的变量。Python中常见的赋值运算符如下表所示:

运算符说明示例展开形式
=右边赋值给左边a=ba=b
+=右边值加到左边a+=ba=a+b
-=右边值减到左边a-=ba=a-b
*=

左边值乘以右边

a*=b

a=a*b

/=左边值除以右边a/=ba=a/b
%=左边值对右边值进行求余运算a%=ba=a%b
**=左边值对右边值进行幂运算a**=ba=a**b
//=左边值整除右边a//=ba=a//b

代码示例:

>>> a=10
>>> a
10
>>> a*=10
>>> a
100
>>> a/=10
>>> a
10.0
>>> a%=10
>>> a
0.0
>>> a=10
>>> a**=2
>>> a
100

3.比较运算符

比较运算符也称为关系运算符,是指对符号两边的变量进行比较的运算符。包括比较大小,相等,真假等。如果比较的结果是正确的,则返回True,否则返回False。常用的比较运算符如下表所示。

运算符说明示例
==等于:比较对象是否相等a==b
!=不等于:比较两个对象是否不相等a!=b
>大于:返回a是否大于ba>b
<

小于:返回a是否小于b

a<b

>=大于等于:返回a是否大于等于ba>=b
<=小于等于:返回a是否小于等于ba<=b

代码示例如下:

>>> a=66
>>> a==66
True
>>> a>100
False

4.逻辑运算符

逻辑运算符是对真和假两种布尔值进行运算,运算后的结果仍然是一个布尔值。Python中的逻辑运算符主要包括and(逻辑与)、or(逻辑或)、not(逻辑非)。如下表所示。

运算符说明示例
and逻辑与:当且仅当两个操作数都为真时,条件才为真a and b
or 逻辑或:两个操作数中任何一个数为真,条件则为真a or b
not 逻辑非:用来反转操作数的逻辑状态。如果条件为True,则逻辑非运算符将得到Falsenot a

代码示例如下:

>>> True and True
True
>>> True or True
True
>>> not True
False

5.位运算符

位运算符用于对二进制数进行计算,因而只有先将要执行运算的数据转换为二进制数后,才能进行运算。Python中常用的位运算符如下表所示。

运算符说明示例
&按位与,如果相对应位都是1,则结果为1,否则为0

a&b

|按位或,如果相对应位都是0,则结果为0,否则为1a|b
^按位异或,如果相对应位值相同,则结果为0,否则为1

a^b

~按位取反,运算符反转操作数里的每一位,即0变为1,1变为0~a
<<按位左移运算符,左侧操作数按位左移右侧操作数指定位数a<<b
>>按位右移运算符,左操作数按位右移右侧操作数指定位数

a>>b

6.关键字in和is

Python中有两个关键字in和is。in关键字用于判断某个元素是否包含在指定的序列中;is关键字用于判断两个标识符是不是引用于同一个对象。

代码示例:

>>> 4 in (1,3,5,7,9)
False
>>> 6 not in (1,3,5,7,9)
True
>>> a=9
>>> b=9
>>> a is b
True

【注意】:is于==的区别:is用于判断两个变量引用对象是否为同一个,==用于判断引用变量的值是否相等。

7.运算符的优先级

Python中运算符的运算规则时:优先级高的运算先执行,优先级低的后执行,同一优先级的操作按照从左到右的顺序进行。

 

二、条件表达式

使用运算符将不同类型的数据按照一定的规则连接起来的式子,称为表达式。表达式是Python最重要、最基础的组成元素。在Python中,绝大部分代码都是表达式。例如,变量就是一个表达式,表达式number=666,表示的是将666赋值给变量number。

表达式的赋值顺序是从右到左,为了增强代码的可读性,一般一个表达式占一行。在进行程序开发时,经常会根据表达式的结果有条件地进行赋值。例如,要返回两个数中最大的数,可以使用下面的if语句。

>>> a=8
>>> b=6
>>> if a>b:
        r=a
else:
        r=b

>>> print(r)
8

上面的代码可以使用条件表达式进行化简。

>>> a=8
>>> b=6
>>> r=a if a>b else b
>>> print(r)
8

使用条件表达式时,先计算中间的条件(a>b),如果结果为True(真),返回if语句左边的值,否则返回else右边的值

标签:操作数,示例,Python,运算符,True,表达式
From: https://blog.csdn.net/2401_86008949/article/details/140630779

相关文章

  • 在尝试使用 docker 运行基于 pythonnet 的项目时,找不到 C# 运行时
    屏幕截图我不断收到此错误:RuntimeError:Failedtocreateadefault.NETruntime,whichwouldhavebeen"mono"onthissystem.Eitherinstallacompatibleruntimeorconfigureitexplicitlyvia......
  • Python 在模块中使用变量
    如何将一个文件中声明的变量调用到另一个文件中?大家好我已经在file1中声明了我的变量。我的函数位于file2中,它使用该变量。如何调用主文件中声明的变量。提前致谢当然可以!以下是如何在Python中跨文件使用变量:file1.py(包含变量的文件)#在file1.p......
  • Python 类型提示和 linter
    我一直在向我们的python项目添加静态类型检查,例如像这样:fromtypingimportListfromsomethingimportMyOtherClassclassMyClass:def__init__(self)->None:self.some_var=None#type:List[MyOtherClass]但是,现在我们使用的linter(flake8和......
  • eclipse如何写python程序
    本文主要介绍在Windows系统环境下,搭建能在Eclipse中运行python程序的环境。一、Eclipse下载与安装:Eclipse是写JAVA的IDE,下载地址为:http://www.eclipse.org/downloads/下载安装,网上教程很多,不赘述。二、pydev插件下载与安装:启动Eclipse,点击Help—>EclipseMarketplace......
  • 运行 python 3 代码时出现 python 2 语法错误
    我有一个如下所示的类classExperimentResult(BaseDataObject):def__init__(self,result_type:str,data:dict,references:list):super().__init__()self.type=result_typeself.references=referencesself.data=data......
  • 如何让 python 类型检查器知道它应该返回其类的新实例?
    我想使用classmethod返回当前类的新实例,并且我尝试了如下代码,但它引发了NameError('name'T'isnotDefined')PutthecodeT=TypeVar('T',bound=A)on|||以上也不起作用。classA有什么好主意来处理它吗?Isthereanygoodideatohandleit?......
  • 由于循环依赖而导致的Python注释错误
    我有两个相互依赖的类,并且无需注释即可正常工作。不幸的是,当我尝试注释返回值时,它会导致预期循环依赖错误。Network.pydefprocessors(self)->List[Processor]:#implementationProcessor.pydefnetwork(self)->Network:......
  • 如何在python中发送带有请求的“multipart/form-data”?
    如何在Python中使用multipart/form-data发送requests?如何发送文件,我明白,但是如何通过这种方法发送表单数据无法理解。可以使用Python中的requests库来发送multipart/form-data请求。说得对,requests库可以轻松发送文件,并且发......
  • 我安装了哪个版本的 Python?
    我必须在Windows服务器上运行Python脚本。我如何知道我拥有哪个版本的Python,这真的很重要吗?我正在考虑更新到最新版本的Python。确定在Windows服务器上安装的Python版本至关重要,因为它可以确定脚本的兼容性和可用库。以下是检查方法:使用命令提......
  • @classmethod 在 Python 的类之外做什么?
    在下面的代码中,如果存在@classmethod注释,则允许内部defnew()代替目标的__new__()--但该类会传递两次。如果@classmethod被删除,那么我们会收到类似“”的错误。@classmethod这里在做什么,有没有办法不用它?(我的动机是清晰的:我不理......