首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Python零基础到入门】Python基础语法篇——运算符 学习

【Python零基础到入门】Python基础语法篇——运算符 学习

作者头像
呆呆敲代码的小Y
发布2021-11-29 11:35:58
发布2021-11-29 11:35:58
38900
代码可运行
举报
运行总次数:0
代码可运行

目录

前言

Python基础语法篇——运算符

运算符在每种编程语言中都存在,Python中自然也不列外

那本篇文章就来讲一下Python中的一些运算符的含义和使用练习

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

  • 算术运算符
  • 赋值运算符
  • 比较(关系)运算符
  • 逻辑运算符
  • 位运算符
  • 三目运算符
  • 运算符优先级

下面我们就来挨个看一下他们的含义和使用方法!

算术运算符

算术运算符就是我们平时说的加减乘除等等最常见的运算符

在Python中的算术运算符有以下几种:

运算符

说明

实例

结果

+

12.45 + 67

79.45

-

11.11 - 1.01

10.01

*

3*5

15

/

除法(和数学中的规则一样)

5/2

2.5

//

整除(只保留商的整数部分)

5//2

2

%

取余,即返回除法的余数

5%2

1

**

幂运算/次方运算,即返回 x 的 y 次方

2 ** 10

1024

下面看看在示例代码中算术运算符的使用:

代码语言:javascript
代码运行次数:0
运行
复制
#!/usr/bin/python3
 
a = 21
b = 10
c = 0
 
c = a + b
print ("1 - c 的值为:", c)
 
c = a - b
print ("2 - c 的值为:", c)
 
c = a * b
print ("3 - c 的值为:", c)
 
c = a / b
print ("4 - c 的值为:", c)
 
c = a % b
print ("5 - c 的值为:", c)
 
# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b 
print ("6 - c 的值为:", c)
 
a = 10
b = 5
c = a//b 
print ("7 - c 的值为:", c)

输出结果:

1 - c 的值为: 31 2 - c 的值为: 11 3 - c 的值为: 210 4 - c 的值为: 2.1 5 - c 的值为: 1 6 - c 的值为: 8 7 - c 的值为: 2

赋值运算符

说完了算数运算符再来看看赋值运算符,也是非常常用的一种

  • 赋值运算符用来把右侧的值传递给左侧的变量(或者常量);
  • 可以直接将右侧的值交给左侧的变量,也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等。
  • Python 中最基本的赋值运算符是等号=;
  • 结合其它运算符,=还能扩展出更强大的赋值运算符。

=是 Python 中最常见、最基本的赋值运算符,用来将一个表达式的值赋给另一个变量,请看下面的例子:

代码语言:javascript
代码运行次数:0
运行
复制
#将字面量(直接量)赋值给变量
n1 = 100
f1 = 47.5
s1 = "http://c.biancheng.net/python/"

#将一个变量的值赋给另一个变量
n2 = n1
f2 = f1

#将某些运算的值赋给变量
sum1 = 25 + 46 
sum2 = n1 % 6
s2 = str(1234)  #将数字转换成字符串
s3 = str(100) + "abc"

还可以使用连续赋值,如果将赋值表达式的值再赋值给另外一个变量,这就构成了连续赋值

参考下面这个示例

代码语言:javascript
代码运行次数:0
运行
复制
a = b = c = 123
  • 先将 100 赋值给 c,所以 c 的值是 100
  • b = c = 100 表示将 c = 100 的值赋给 b,因此 b 的值也是 100。
  • 以此类推,a 的值也是 100。

=还可与其他运算符(包括算术运算符、位运算符和逻辑运算符)相结合,扩展成为功能更加强大的赋值运算符

下面可以查看组合的运算符用法

运算符

说 明

用法举例

等价形式

=

最基本的赋值运算

x = y

x = y

+=

加赋值

x += y

x = x + y

-=

减赋值

x -= y

x = x - y

*=

乘赋值

x *= y

x = x * y

/=

除赋值

x /= y

x = x / y

%=

取余数赋值

x %= y

x = x % y

**=

幂赋值

x **= y

x = x ** y

//=

取整数赋值

x //= y

x = x // y

&=

按位与赋值

x &= y

x = x & y

=

按位或赋值

x

^=

按位异或赋值

x ^= y

x = x ^ y

<<=

左移赋值

x <<= y

x = x << y,这里的 y 指的是左移的位数

>>=

右移赋值

x >>= y

x = x >> y,这里的 y 指的是右移的位数

来看一个简单的例子

代码语言:javascript
代码运行次数:0
运行
复制
a = 100
b = 25.5
a -= 80  #等价于 a=a-80
b *= a - 10 #等价于 b=b*( a - 10 )
print("a=%d" % n1)
print("b=%.2f" % f1)

上述代码输出结果为:

n1=20 f1=255.00

比较运算符

比较运算符,也称关系运算符,用于对常量、变量或表达式的结果进行大小比较。

如果这种比较是成立的,则返回 True(真),反之则返回 False(假)。

以下假设变量a为10,变量b为20:

运算符

描述

实例

==

等于 - 比较对象是否相等

(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

!=

不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False

(a != b) 返回 True

is

判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False

(a is b) 返回 False

is not

判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False

(a is not b) 返回 True

比较运算符的使用举例:

代码语言:javascript
代码运行次数:0
运行
复制
print("89是否大于100:", 89 > 100)
print("24*5是否大于等于76:", 24*5 >= 76)
print("86.5是否等于86.5:", 86.5 == 86.5)
print("34是否等于34.0:", 34 == 34.0)
print("False是否小于True:", False < True)
print("True是否等于True:", True < True)

上述代码输出结果为:

89是否大于100: False 24*5是否大于等于76: True 86.5是否等于86.5: True 34是否等于34.0: True False是否小于True: True True是否等于True: False

位运算符

按位运算符是把数字看作二进制来进行计算的。 众所周知,我们的计算机都是基于二进制进行计算的,也就是0和1 我们平时的数字(十进制)都是可以转换成二进制的,例子如下:

假设我们现在有两个数a=60,b=13。代码示例如下

代码语言:javascript
代码运行次数:0
运行
复制
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

按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。

^

按位异或运算符:当两对应的二进位相异时,结果为1

(a ^ b) 输出结果 49 ,二进制解释: 0011 0001

~

按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1

(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。

<<

左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

a << 2 输出结

>>

右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,

">>"右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111

实例演示如下:

代码语言:javascript
代码运行次数:0
运行
复制
#!/usr/bin/python3
 
a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0
 
c = a & b        # 12 = 0000 1100
print ("1 - c 的值为:", c)
 
c = a | b        # 61 = 0011 1101 
print ("2 - c 的值为:", c)
 
c = a ^ b        # 49 = 0011 0001
print ("3 - c 的值为:", c)
 
c = ~a           # -61 = 1100 0011
print ("4 - c 的值为:", c)
 
c = a << 2       # 240 = 1111 0000
print ("5 - c 的值为:", c)
 
c = a >> 2       # 15 = 0000 1111
print ("6 - c 的值为:", c)

以上实例输出结果:

1 - c 的值为: 12 2 - c 的值为: 61 3 - c 的值为: 49 4 - c 的值为: -61 5 - c 的值为: 240 6 - c 的值为: 15

逻辑运算符

逻辑运算符就是我们通常说的'与' '或' '非',Python中也支持逻辑运算符

逻辑运算符

含义

基本格式

说明

and

逻辑与运算,等价于数学中的“且”

a and b

当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。

or

逻辑或运算,等价于数学中的“或”

a or b

当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。

not

逻辑非运算,等价于数学中的“非”

not a

如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。

逻辑运算符一般和关系运算符结合使用,例如:

代码语言:javascript
代码运行次数:0
运行
复制
age = int(input("请输入年龄:"))
height = int(input("请输入身高:"))

if age>=18 and age<=30 and height >=170 and height <= 185 :
    print("恭喜,你符合报考飞行员的条件")
else:
    print("抱歉,你不符合报考飞行员的条件")

可能的运行结果:

代码语言:javascript
代码运行次数:0
运行
复制
请输入年龄:22↙
请输入身高:180↙
恭喜,你符合报考飞行员的条件

三目运算符

三目运算符 在其它编程语言中有? :的写法,但是在Python中并没有使用该运算符,则是直接使用 if else 关键字来实现相同的功能。示例如下:

普通写法:

代码语言:javascript
代码运行次数:0
运行
复制
if a>b:
    max = a;
else:
    max = b;

三目运算符写法:

代码语言:javascript
代码运行次数:0
运行
复制
max = a if a>b else b

上述代码解释:

  • 如果 a>b 成立,就把 a 作为整个表达式的值,并赋给变量 max;
  • 如果 a> b 不成立,就把 b 作为整个表达式的值,并赋给变量 max。

还可以嵌套使用

代码语言:javascript
代码运行次数:0
运行
复制
a if a>b else c if c>d else d

运算符优先级

所谓优先级,就是当多个运算符同时出现在一个表达式中时,先执行哪个运算符。

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

运算符说明

Python运算符

优先级

结合性

优先级顺序

小括号

( )

19

索引运算符

x[i] 或 x[i1: i2 [:i3]]

18

属性访问

x.attribute

17

乘方

**

16

按位取反

~

15

符号运算符

+(正号)、-(负号)

14

乘除

*、/、//、%

13

加减

+、-

12

位移

>>、<<

11

按位与

&

10

按位异或

^

9

按位或

I

8

比较运算符

==、!=、>、>=、<、<=

7

is 运算符

is、is not

6

in 运算符

in、not in

5

逻辑非

not

4

逻辑与

and

3

逻辑或

or

2

逗号运算符

exp1, exp2

1

总结

  • 本篇文章对Python的运算符做了一个系统的描述,结合实例讲解
  • 讲的不是很深入,适合初学者
  • 运算符也是编程语言中很重要的一个知识点,记得要全部学会哦!
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/11/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 前言
  • Python基础语法篇——运算符
    • 算术运算符
    • 赋值运算符
    • 比较运算符
    • 位运算符
    • 逻辑运算符
    • 三目运算符
    • 运算符优先级
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档