6.Python中的运算符(举例详解)

Python中的运算符类型可分为算数运算符、赋值运算符、比较运算符、逻辑运算符和成员运算符五种类型。

本文提供了大量实例,在学习过程中,建议复制到自己的计算机中运行并观察结果,有效加强理解。

一、算数运算符

算数运算符主要用于计算,例如,+、-、*、/都属于算术运算符。接下来我们以a = 20,b = 10为例。

运算符

描述

实例

+

加:两个对象相加

a + b = 30

“i love” + “ python”,结果为“i love python”

+还可以用于字符串的拼接

-

减:得到符数或一个数减另一个数

a - b =10;

-a = -20。

*

乘:两个数相乘或是返回一个被重复若干次的字符串

a * b = 200;

name = "Tom"

name * 3 输出结果为“TomTomTom”。

/

除:a除以b

a / b = 2

%

取余:返回除法的余数

a % b = 0;

c = 9,判断c是奇数还是偶数,c除以2,余数为0则为偶数

c % 2 = 1,依据结果判断c为奇数。

**

幂:返回a的b次幂

a ** b =1024000000000 即20的10次方幂;

pi = 3.14,r=10mm,计算圆的面积 = pi * r ** 2 = 314mm2。

//

取整除:返回商的整数部分

a // b = 2

二、赋值运算符

运算符描述实例
=简单赋值运算符

sum1=20;

sum1,sum2 = 20,10等效于sum1=20,sum2=10;

sum = sum1 + sum2;

country = ['China','Japan','Korea']

country1,country2,country3 = country
country1 Out[22]: 'China' 

country2 Out[23]: 'Japan'

country3 Out[24]: 'Korea';不同的数据类型有灵活多样的赋值方法

+=加法赋值运算

c += a等效于c = c + a

c = 20 ,c += 30 ,结果c = 50,即c = c + 30

-=减法赋值运算

c -= a等效于c = c - a

c = 20 , c -= 30 ,结果c = -10 ,即c = c - 30

*=乘法赋值运算

c *= a等效于c = c * a

c = 20 , c *= 30 ,结果c = 600 ,即c = c * 30

/=除法赋值运算

c /= a等效于c = c / a

c = 20 , c /= 30 ,结果c = 0.66666... ,即c = c / 30

%=取模赋值运算符

c %= a等效于c = c % a

c = 20 , c %= 7 ,结果c = 6 ,即c = c % 7

**=幂赋值运算符

c **= a等效于c = c ** a

c = 20 , c **= 2 ,结果c = 400 ,即c = c ** 2

//=取整除赋值运算符

c //= a等效于c = c // a

c = 20 , c //= 3 ,结果c = 6 ,即c = c // 3

三、比较运算符

比较运算符用于比较两个数,其返回的结果只能是True或False。

运算符描述实例
==等于:判断两个数是否相等如果a=3,b=3,则a=b为True
!=不等于:判断两个数是否不相等

如果a=3,b=3,则a!=b为False

如果name1="Tom",name2="Jim"

则name1 != name2为True

>大于:判断左数是否大于右数

如果a=7,b=3,则a>b为True

如果name1="Tom",name2="Tim",则name1>name2为True ***

<小于:判断左数是否小于右数

如果a=7,b=3,则a<b为False

如果name1="Tom",name2="Tony",则name1<name2为True

>=大于等于:判断左数是否大于等于右数

如果a=7,b=3,则a>=b为True

如果name1="Tom",name2="Tim",则name1>=name2为True

<=小于等于:判断左数是否小于等于右数

如果a=7,b=3,则a<=b为False

如果name1="Tom",name2="Tony",则name1<=name2为True

***  比较运算符除了可以比较数值,还可以用于比较两个字符串。在进行字符串比较时,是按位比较,从左边第一位开始逐一比较字符的ASCII码,如果第一位相同,则继续比较下一位,直到有一位不同,则按这一位大小确定两个字符串的大小,后面的不再比较。

>>> name1="Tom"
>>> name2="Tony"
>>> print([ord(x) for x in name1])  ord函数可用于获取单个字符的ASCII
[84, 111, 109]   对应T,o,m三个字母的ASCII码
>>> print([ord(x) for x in name2])
[84, 111, 110, 121]  对应T,o,n,y三个字母的ASCII码
>>> name1<=name2  第三位Tom的字母是m,对应值为109,Tony的字母是n,对应值为110,所以比较结果为真
True

四、逻辑运算符

逻辑运算符用来表示日常交流中的“并且”“或者”“除非”等关系,逻辑运算也称为布尔运算。

运算符逻辑表达式描述实例
andx and y

布尔“与”,一般概念:x,y如果都为True则结果为True,如果x,y中有一个为False则结果为False。

x和y可以是bool类型的表达式,也可以是其他类型。

规则:先判断x,如果x为True、非0、非空,则继续判断y,以y的结果作为输出;如果x为False、为0、为空,则以x的结果作为输出,不再判断y

1.bool类型的表达式:

2>0 and 15>7  结果为True

2<0 and 15>7  结果为False

2>0 and 15<7  结果为False

2.特殊情况:

20 and 10 结果为10

0 and 10 结果为0

20 and 5>3  结果为True

0 and 5>3 结果为0

20 and ""  结果为""

20 and "Tom" 结果为"Tom"

orx or y

布尔“或”,一般概念:x,y如果其中有一个为真,则为真,如果都为False则结果为False。

x和y可以是bool类型的表达式,也可以是其他类型。

规则:先判断x,如果x为True、非0、非空,则以x的结果作为输出,不再判断y;如果x为False、为0、为空,则继续判断y,以y的结果作为输出。

1.bool类型的表达式:

2>0 or 15>7  结果为True

2<0 or 15>7  结果为True

2<0 or 15<7  结果为False

2.特殊情况:

20 or 10 结果为20

0 or 10 结果为10

20 or 5>3  结果为20

0 and 5>3 结果为True

20 and ""  结果为20

20 or "Tom" 结果为20

notnot x布尔“非”,对x的逻辑值取反,结果为True 或者 False

not 3 结果为False

not 0 结果为True

not 5>3 结果为False

not "" 结果为True

not "Tom" 结果为False

not "i" in "internet" 结果为False ***

***  in 为成员运算符,下面我们将详细介绍。

五、成员运算符

成员运算符用于判断指定的序列中是否包含某个值。(字符串是Python序列中的一种,除此以外还有列表、元组、集合和字典,今后我们将逐一学习。)

运算符描述实例
in如果在指定的序列中找到值,结果为True,否则为False

字符串:"Tom" in "Tom is a boy" 结果为True

列表:"Tom" in ["Tom","Jim","Cheryl"] 结果为True

字典:country = {"name" : "China","capital":"Beijing","population":1400000000}

“name” in country 结果为True  ***

not in如果在指定的序列中没有找到值,结果为True,否则为False

字符串:"Tom" not in "Tom is a boy" 结果为False

列表:"Susan" not in ["Tom","Jim","Cheryl"] 结果为True

字典:country = {"name" : "China","capital":"Beijing","population":1400000000}

“China” not in country 结果为True  ***

***  Python对字典使用in 和not in操作符,用于判断键是否存在于字典中,在上例中因为“China”是作为“name”的值存于字典中,而不是键的名称,所以“China” not in country 结果为True。


Python练习-1答案

项目一:

# 任务说明:要求在一行内,仅使用1个print函数、若干换行符和制表符将下列诗句按以下格式打印出来。
'''
Whenever you need me, I'll be here。
    Whenever you're in trouble, I'm always near。
        Whenever you feel alone, and you think everyone has given up。。。
            Reach out for me, and I will give you my everlasting love。
'''

print('''Whenever you need me, I'll be here。\n\tWhenever you're in trouble, I'm always near。\n\t\tWhenever you feel alone, and you think everyone has given up。。。\n\t\t\tReach out for me, and I will give you my everlasting love。''')

项目二:

# 任务一:计算并输出一个小时有多少秒。
print(60 * 60,'秒')

# 任务二:计算半径为10mm的圆的面积。
print(3.14 * 10 ** 2,"平方毫米")

# 任务三:计算长为8mm,宽为6mm矩形的周长。
print(8 * 2 + 6 * 2,"毫米")

# 任务四:A、B两地相距130公里,小轿车以每小时100公里从A驶向B,货车以每小时80公里从B驶向A,最快他们约多少分钟相遇?
print(((130 / (100 + 80)) * 60),"分钟")

# 任务五:班长购买了100个苹果,班上共有40个同学,如果每人分2个,还剩多少个苹果?
print(100 % (40 * 2),"个")

 

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡老师11452

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值