前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >day03-运算符

day03-运算符

作者头像
似小陈吖
发布2023-10-17 10:02:26
1620
发布2023-10-17 10:02:26
举报
文章被收录于专栏:测试那些事测试那些事

Python提供了多种类型的运算符,用于执行各种操作,包括算术运算、比较运算、逻辑运算、赋值运算等。

1、算数运算符

运算符

作用

例子

结果

+

7+2

9

-

7+2

5

*

7*2

14

/

除(保留小数点)

7/2

3.5

//

整除(取商)

7//2

3

%

除(取余数)

7%2

1

**

次方

7**2

49

+加法运算符

发现如果是数字的话,+会用于相加

如果是字符串的时候,会将字符串拼接

支持列表和元祖

-减法运算符

数字的话,用作减法,字典也能使用

*乘法运算符

数字的话,用作乘法

如果是字符串*N,会将N 个字符串连接起来

支持列表和元祖

///%运算符

/属于普通除法,得到的结果是与数学运算中的除法是一致的,比如10/3=3.333333333333333

//%需要一起来看,两者都是除法运算,但是区别的是取的值不同

比如:两个数相除,会得到一个商,还有一个余数,//**取的是商,而**%**取的是余数**

如果两个数中有浮点数,最终结果也是浮点数

**运算符

**运算符不仅可以实现次方运算,还可以间接地实现开方运算

2、赋值运算符

赋值运算符用来把右侧的值传递给左侧的变量(或者常量)

代码语言:javascript
复制
# 将值赋值给变量
old_age = 5

# 将变量的值赋值给另一个变量
age = old_age

# 将运算后的值赋值给变量
new_age = age + 1

而我们赋值还可以连续赋值,比如a=b=c=5

赋值我们要从右向左看,首先把5这个数值赋给c,所以c就等于5,然后又把c赋给了b,所以b也等于5,以此类推,a、b、c的值都等于5

而我们赋值之前也讲过,还可以对多变量进行同时赋值,我们这里在复习下

代码语言:javascript
复制
# 将值赋值给多个变量
a, b = 1, 2

# 给多种数据类型赋值给多个变量
c, d, e, f, = 1, 2.0, "字符串", True

# 给列表、元祖、集合、字典赋值
g, h, i, j = [1, 2, 3, 4], (1, 2, 3, 4), {1, 2, 3, 4}, {1: 1, 2: 2}

print(a, b, c, d, e, f, g, h, i, j)

上述属于最基本的赋值运算符,还有一些结合的运算符,我们来看下:

赋值运算符

作用

例子

等价于

=

基本的赋值运算

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

我们通过代码来加深下印象

代码语言:javascript
复制
a, b, c, d, e, f, g = 1, 2, 3, 4, 5, 6, 7

a += 1
b -= 1
c *= 2
d /= 2
e %= 2
f **= 2
g //= 3

print(a, b, c, d, e, f, g)


# 输出结果
2 1 6 2.0 1 36 2

自己动手练习一下吧!

赋值运算符已经掌握,那我们day02-变量中的高级练习题中 a与b的值交换,不用临时变量是不是也可以做了

tips:如果我们变量没有赋值 n += 10 想想这种是否可以参与运算

3、比较运算符

在Python中,比较运算符用于比较两个值之间的关系,并返回一个布尔值(True或False)表示比较结果的真假

支持的比较运算符:

比较运算符

作用

大于,前者大于后者返回True,否则返回False

<

小于,前者小于后者返回True,否则返回False

==

等于,如果==两边的值相等,则返回 True,否则返回False

=

大于等于,如果前面的值大>=后面的值,则返回 True,否则返回 False

<=

小于等于,如果前面的值<=等于后面的值,则返回 True,否则返回 False

!=

不等于,如果!=两边的值不相等,则返回 True,否则返回 False

is

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

is not

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

练习一下:

tips:那我们用is来比较一下呢

2 is 1 发现报错了

报错信息:语法警告(SyntaxWarning),is使用了字面值,你是否想用==

分析:is是用来判断变量引用的对象是否相同,而1和2都是整数,而整数呢,属于不可变数据类型,所以无法判断对象的是否相同,所以我们判断整数得用==

==is的区别

== 是用来判断两边的值是不是相等

is 用来判断两个变量对象是不是相等,也可以说,判断两个对象是否引用同一个内存地址,而在变量中我们学到,查看变量地址用到的是id()这个函数,所以is也可以当成 id(a) == id(b),如果地址相等,返回True

代码语言:javascript
复制
a = "hello"
b = "hello"
print(id(a))
print(id(b))
print(a is b)
print(a == b)

# 输出结果
# 2682889953328
# 2682889953328
# True
# True


a = [1, 2, 3]
b = [1, 2, 3]
print(id(a))   
print(id(b))   
print(a is b)  
print(a == b)  

# 输出结果
# 2581265316736
# 2581266649024
# False
# True

4、逻辑运算符

在我们上学时的数学学习中,学习过"且","或","非",而在我们Python中,也有类似的逻辑运算

逻辑运算符

含义

格式

作用

and

逻辑与运算,等价于"且"

a and b

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

or

逻辑或运算,等价于"或"

a or b

当a和b有一个为真, 则为真,都为假时才为假

not

逻辑非运算,等价于"非"

not a

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

而逻辑运算符经常与比较运算符结合使用

判断下边代码中返回True还是False

代码语言:javascript
复制
x = 5
y = 10

# 逻辑与(and)
print(x < 10 and y > 5)

# 逻辑或(or)
print(x < 10 or y < 5)

# 逻辑非(not)
print(not x < 10)


# 输出结果
# True
# True
# False

但是逻辑运算符并不都是会返回布尔类型

print(100 and 200) print(100 or 200) 猜猜会返回什么

运行结果:

代码语言:javascript
复制
200
100

对于and运算符如下:

  • 如果第一个数为False,则直接返回第一个数
  • 如果第一个数为True,那返回第二个数

对于or运算符如下:

  • 如果第一个数为True,则直接返回第一个数
  • 如果第一个数为False,那返回第二个数

如果还不能太理解,我们可以分析下:

对于and符号,还是两边都为真,才会返回真;

如果有一个假,则就会返回假;

所以第一个数为假的话,就不用计算第二个数,肯定是假,直接返回第一个数了,而如果第一个数为真的话,还需要计算第二个数的值,所以把第二个数返回

同理or符号,只要有真就会返回真,第一个数为真那就直接返回,如果第一个数不为真,那值不确定,所以只能返回第二个数了

5、成员运算符

Python还支持成员运算符,具体如下

逻辑运算符

含义

格式

作用

in

如果在指定的序列中找到值返回 True,否则返回 False。

a in b

当 a存在于b中,返回真,否则为假

not in

如果在指定的序列中没有找到值返回 True,否则返回 False。

a not in b

当a不在b中, 则为真,否则为假

代码语言:javascript
复制
# 判断下边表达式返回True还是False
"hello" in "hello world"
"hello" not in "hello world"
[1, 2] in [1, 2, 3]
[1, 2] not in [1, 2, 3]
(1, 2) in (1, 2, 3)
(1, 2) not in (1, 2, 3)
{1, 2} in {1, 2, 3}
{1: 2} in {1: 2, 2: 3}

# 输出结果
# True
# Flase
# True
# Flase
# True
# Flase
# Flase
# 报错

集合为什么返回False,字典报错了,这个交给大家查询下

6、三元运算符

在Python中,三元运算符又称三目运算符,可以认为是条件判断的一种简单写法;

需要3个组成:1个是判断条件(返回True或者False)、1个是为真时的结果、1个是为假时的结果。

组成:为真时的结果 if 判断条件 else 为假时的结果(注意,没有冒号)

在Python中,三目运算符会返回一个结果

我们用实例来学习下:

a = 5,b=10,使用三目运算符得出两数中的较大值

代码语言:javascript
复制
a, b = 5, 10
max_num = a if a > b else b
print(max_num)

# 输出结果 10

max_num = a if a > b else b这个如果a>b 成立就会返回真,那把a放到前边,否则就是假,那就会给到后边,所以把b放到后边,然后赋值给max_num

7、运算符优先级

这个可以看这篇文章Python基础 - 运算符优先级

day03练习

初级:

1.编写一个程序,要求用户输入两个整数,用+,-,*,/,//,%,**符号计算并输出结果

2.给定两个变量a和b的初始值为5和3,使用赋值运算符计算并输出以下表达式的结果:

  • a += b
  • a -= b
  • a *= b
  • a /= b
  • a %=b
  • a **=b
  • a //=b

3.编写一个程序,接受用户输入的两个数字分别赋值给变量a和b,

  1. 判断a是否为正数,如果是正数,返回True,否则返回False
  2. 判断a和b是否相等,如果相等,返回"相等",否则返回"不相等"
  3. 判断a和b的和是否大于等于18,如果大于等于,返回True,否则返回Flase

4.编写一个程序,接受用户输入的一个数字,并判断它是否大于10且小于20。如果是返回"符合",不是就返回"不符合"

中级:

1.编写一个程序,接受用户输入的两个数字,并使用赋值运算符实现变量交换,然后输出交换后的结果

2.编写一个程序,接受用户输入的一个正整数,并判断它是否为偶数。如是偶数返回True,是奇数返回False

3.编写一个程序,接受用户输入的一个字符串,并判断它是否包含字母 "a" 或 "b"。如果包含返回True,否则返回False

4.编写一个程序,接受用户输入的一个年份,并判断它是否为闰年且大于2000年(闰年条件:能被4整除且不能被100整除,或者能被400整除),如果符合条件,输出"是闰年且大于2000年",不符合条件,输出"不符合条件"

高级:

1.编写一个程序,要求用户输入1个整数,使用三目运算符判断这个整数是奇数还是偶数,如果奇数返回"奇数",如果是偶数,返回"偶数"。

2.编写一个程序,接受用户输入的一个三位数,并计算它的百位、十位和个位数字之和。并打印输出结果

3.编写一个程序,接受用户输入的一个三位数,判断该数是否为水仙花数(水仙花数指一个三位数,其各个位上数字的立方和等于该数本身如153、370)。

4.编写一个程序,有列表1,2,3,4,5,6,7,8,9和一个整数8,并判断该整数是否在列表的前半部分,且列表长度大于5

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、算数运算符
  • 2、赋值运算符
  • 3、比较运算符
  • 4、逻辑运算符
  • 5、成员运算符
  • 6、三元运算符
  • 7、运算符优先级
  • day03练习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档