Python运算符

3.3 Python运算符

运算符用于执行程序代码运算,根据操作数一般分为一元运算符、二元运算符。例如:2+3,其操作数是23,而运算符则是+。在Python中运算符可以分为以下几种类型:算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符。

3.3.1 算术运算符

+-*:分别对应数学中的加减乘,在此不做过多的赘述。
/:除法,注意结果返回的是浮点数。4 / 2 → 2.0
%:取模,返回除法的余数。7 % 3 → 1
**:幂运算。4 ** 2 → 16
//:取整除,也叫地板除,返回商的整数部分(向下取整)。15 // 6 → 2
1、算术运算符全是对数值类型数据进行操作的运算符
2、算术运算符全是二元运算符
3、返回的类型为数值类型
算术转换规则
1、如果任一操作数为复数,另一操作数会被转换为复数;
2、否则,如果任一操作数为浮点数,另一操作数会被转换为浮点数;
3、否则,两者应该都为整数,不需要进行转换。

3.3.2 比较(关系)运算符

==!=><>=<=:分别对应等于、不等于、大于、小于、大于或等于、小于或等于。
1、比较(关系)运算符可以操作数值类型,也可以操作对象。
2、比较(关系)运算符全是二元运算符。
3、返回的结果为布尔类型(非真即假)

3.3.3 赋值运算符

=:最常用的赋值运算符。a = 5 → 将5赋值给a。
算术运算符 + =:先进行算术运算之后再进行赋值。例如:a += 3等价于:a = a + 3。其它的类似。
=::海象运算符。Python3.8之后新增的一种赋值运算符,可以直接进行赋值后再形成表达式,从而节省代码的编写量。
↓未使用海象运算符

age = 20
if age > 18:
    print("已经成年了")

↓使用海象运算符

if(age:= 20) > 18:
    print("已经成年了")

↓未使用海象运算符

file = open("demo.txt", "r")
while True:
    line = file.readline()
    if not line:
        break
    print(line.strip())

↓使用海象运算符

file = open("demo.txt", "r")
while (line := file.readline()):
    print(line.strip())

↓未使用海象运算符

while True:
   p = input("Enter the password: ")
   if p == "youpassword":
      break

↓使用海象运算符

while(p := input("Enter the password: ")) != "youpassword":
   continue

1、赋值运算符可以操作数值类型,也可以操作对象。
2、赋值运算符全是二元运算符。

3.3.4 逻辑运算符

and:逻辑与,若2个操作数都为真则结果为True,否则为False
or:逻辑或,若2个操作数都为假则结果为False,否则为True
not:逻辑非,取反。若操作数为True,则结果为False。反之亦然。
1、操作数必须为布尔类型或能隐式转换成布尔类型
2、andor是两元运算符,而not是一元运算符。
3、and其实短路逻辑,就是先判断第1个参数的布尔类型,如果是False,那么整个表达式就是False,而不必去判断第2个参数的布尔类型。如果为True,那么整个表达式的最后结果就是第2个参数的布尔类型。这个称之为短路逻辑。or也同理。
4、优先级:not > and > or
5、返回的类型为布尔类型

3.3.5 位运算符

位运算符会将数字转换成二进制并进行运算。位运算符将两个二进制数位从高到低依次进行运算。为了方便讲解,下面的变量a 为 60,b 为 13,a和b的二进制格式为:
a = 0011 1100
b = 0000 1101
&:按位与,如果参与运算的两个2进制位都为1,则结果为1,否则为0。
a & b → 0000 1100
|:按位或,如果参与运算的两个2进制位有一个为1,则结果为1。否则为0。
a & b → 0011 1101
^:按位异,如果参与运算的两个2进制位相异时,结果为1。否则为0。
a ^ b → 0011 0001
~:按位取反,对数据的每个二进制位取反,即把1变为0,把0变为1。
~a = 1100 0011
<<:左移动,运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
a << 2 → 1111 0000
>>:右移动,运算数的各二进位全部右移若干位,由 >> 右边的数字指定了移动的位数,低位丢弃,高位补0。
a >> 2 → 0000 1111
1、操作数必须为整数类型
2、&|^是两元运算符,而~<<>>是一元运算符

3.3.6 成员运算符

成员运算符用来判断某个对象是不是某个序列中的成员。
in:对象在序列中则返回True,否则返回Flase
not in:对象不在序列中则返回True,否则返回False
1、innot in都是二元运算符。
2、返回值为布尔类型。

3.3.7 身份运算符

身份运算符用于对对象执行比较操作,即这些运算符检查两个操作数是否引用相同的对象(具有相同的存储位置)。
is:判断两个标识符是不是引用自同一个对象。x is y:类似id(x) == id(y),如果引用的是同一个对象则返回True,否则返回False
is not:判断两个标识符是不是引用自不同对象。x is not y:类似id(a) != id(b)。如果引用的不是同一个对象则返回结果True,否则返回False
1、isis not都是二元运算符
2、返回的结果为布尔类型。

3.3.8 运算符优先级

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

运算符 描述
** 指数(最高优先级)
~、+、- 按位翻转、正号、负号
*、/、%、// 乘、除、取模、取整除
+、- 加、减
>>、<< 按位右移、按位左移
& 按位与
|、^ 按位或、按位异或
<=、<、>、>= 比较运算符
<>、==、!= 等于运算符
=、%=、/=、//=、-=、+=、*=、**= 赋值运算符
is、is not 身份运算符
in、not in 成员运算符
not、and、or 逻辑运算符

对于某些不清楚优先级的运算符,可以通过括号来改变执行运算顺序。


练习
1、了解Python运算符
2、将教程中所有的运算符示例手敲一遍并熟悉

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python运算符 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 字符串(str、bytes)

    4.3 字符串(str、bytes) 4.3.1 字符串前置知识 4.3.1.1 字符串的概念 字符串由一系列字符组成,字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符串是编程语言中表示文本的数据类型。字符串就是由一个个元素(字符)组成的。像这种由一个个元素按照顺序组成的数据,在Python语言里面,把这种特…

    Python开发 2023年4月2日
    00
  • 类和类的定义

    6.2 类和类的定义 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如学生类,而实例是根据类创建出来的一个个具体的对象,每个对象都拥有相同的方法,但各自的数据可能不同。 6.2.1 什么是类 当你在马路上看到一辆飞驰的奥迪汽车时,这辆奥迪车就是汽车类的一个实例。汽车就是一个类,每辆车都是汽车类的一个实例。可以将…

    Python开发 2023年3月31日
    00
  • 包和库

    2.3 包和库 2.3.1 包的概念 包是在模块之上的概念,为了方便管理而将多个脚本文件(模块文件)进行打包。包是一种用点式模块名构造 Python 模块命名空间的方法。例如,模块名 A.B 表示包 A 中名为 B 的子模块。正如模块可以区分不同模块之间的全局变量名称一样,点式模块名可以区分 NumPy 或 Pillow 等不同多模块包之间的模块名称。包其实…

    2023年4月2日
    00
  • 类型转换及相关函数

    4.11 类型转换及相关函数 在Python中,不同的数据类型是可以相互转换的,下面列举一些之前没有介绍但是比较常见的数据类型转换及相关函数,以供参考。 4.11.1 进制转换类 4.11.1.1 bin(x) 描述将整数转变为以“0b”前缀的二进制字符串。示例>>> bin(3)>>> bin(-10) ‘0b11”-…

    Python开发 2023年4月2日
    00
  • 扑克玩法:9点半–数据分析

    扑克玩法:9点半–数据分析一、前言又是新的一年,在这里先给各位读者大大们拜个晚年。祝大家新年快乐,万事如意,阖家欢乐。过年拜年是中国的传统习俗,在春节期间人们会互相拜访并送上祝福。拜年不仅是一项重要的社交活动,也是一次难忘的旅程。它让我们感受到了团圆与温暖,同时也增强了彼此之间的联系。小编每年大年初一都会去祖母那儿拜年,一起去的还有我的叔叔、堂兄弟们。我们…

    Python开发 2023年3月31日
    00
  • Python关键字(保留字)

    3.2 Python关键字(保留字) 保留字又称关键字,不可用于普通标识符。关键字的拼写必须与这里列出的完全一致。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字。>>> import keyword>>> keyword.kwlist [‘False’, ‘None’, ‘True’,…

    Python开发 2023年4月2日
    00
  • Python获取时光网电影数据

    Python获取时光网电影数据 一、前言 有时候觉得电影真是人类有史以来最伟大的发明,我喜欢看电影,看电影可以让我们增长见闻,学习知识。从某种角度上而言,电影凭借自身独有的魅力大大延长了人类的”寿命”。一部电影如同一本故事书,我可以沉迷到其中,来的一个新的世界,跟着电影主角去经历去感悟。而好的电影是需要慢慢品尝的,不仅提供了各种视觉刺激和情感体验,更能带来思…

    2023年4月2日
    00
  • 字典(dict)

    4.7 字典(dict) 字典是Python中一种非常重要的数据类型。字典和之前的列表、元组不同,里面的元素使用键-值对进行存储。通常字典中元素的键由字符串或数字等可哈希数据类型组成。可以把字典想象成一个集合,只不过每个元素都是由键-值对组成。字典中的元素的键是不能重复的。字典中的元素也是无序的,这点和集合一样。可以通过键获取集合中元素的值,并且速度要远快于…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部