2020118运算符

运算符

运算符的概念

• 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”
1.2 运算符的分类
	• 算术运算符
	• 赋值运算符
	• 比较运算符(关系运算符)
	• 逻辑运算符
	• 条件运算符(三元运算符)

算术运算符

• 加法运算符 表现形式 + 
• 减法运算符 表现形式 -
• 乘法运算符 表现形式 *
>>>6*2
12
>>>'6'*2
66
>>>'a'*2
aa
• 除法运算符 表现形式 /
• // 整除,只会保留计算后的整数位,总会返回一个整型
• % 取模,求两个数相除的余数
>>> 7 % 5
2
>>> 8 % 4
0
• ** 幂运算,求一个值的几次幂
>>> 6**2
36

赋值运算符

复制运算符的特殊写法  x = x + 3 其实是和 x += 3 是一样的
•  +=  (x+= 3 相当于 x = x + 3 )
•  -= (x -= 3 相当于 x= x - 3 ) 
• *=  (x *= 3 相当于 x = x* 3 )
• **= (x **= 3 相当于 x = x ** 3 )
• /=  (x /= 3 相当于 x = x/ 3 )
• //= (x //= 3 相当于 x = x // 3 )
• %=  (x %= 3 相当于 x= x % 3 )

比较运算符

• 比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False
	• > 比较左侧值是否大于右侧值
>>>2>3
False
>>>'a'>'b'
False
>>>'a'>'ab'
False
	• >= 比较左侧的值是否大于或等于右侧的值
	• < 比较左侧值是否小于右侧值
	• <= 比较左侧的值是否小于或等于右侧的值
- 特殊的比较方式
	• == 比较两个对象的值是否相等
>>> 2==2
True
	• != 比较两个对象的值是否不相等
>>>0!=0
False
>>>0 != False
False
>>>None!=''
True
>>>None!=' '
True
	• is 比较两个对象是否是同一个对象,比较的是对象的id
	• is not 比较两个对象是否不是同一个对象,比较的是对象的id
>>> x = y = [4,5,6]
>>> z = [4,5,6]
>>> x == y
True
>>> x == z
True
>>> x is y
True
>>> x is z
False
>>>
>>> print id(x)
3075326572
>>> print id(y)
3075326572
>>> print id(z)
3075328140

逻辑运算符

5.1 not 逻辑非
	• not可以对符号右侧的值进行非运算,对于布尔值,非运算会对其进行取反操作,True变False,False变True
5.2 and 逻辑与
	• and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
	• 与运算是找False的,如果第一个值为False,则不再看第二个值
5.3 or 逻辑或
	• 或运算两个值中只要有一个True,就会返回True
	• 或运算是找True的
5.4 非布尔值的与或运算
	• 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
	• 非布尔值与运算的规则
	• 与运算是找False的,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值
	• 非布尔值或运算的规则
	• 或运算是找True的,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值
6. 条件运算符(三元运算符) 

在这里插入图片描述

	条件运算符在执行时,会先对条件表达式进行求值判断
		1.如果判断结果为True,则执行语句1,并返回执行结果
		2.如果判断结果为False,则执行语句2,并返回执行结果
	语法: 语句1 if 条件表达式 else 语句2
a = int( input("Input a: ") )
b = int( input("Input b: ") )
print("a大于b") if a>b else ( print("a小于b") if a<b else print("a等于b") )
7. 运算符的优先级
	运算符优先级参照表

在这里插入图片描述

变量在内存中的原理

原理:变量在内存中就是一块特定的存储区域(地址)。
1.引用变量
	- 两个引用指向同一个int数据
a = 10
b = 10
print(id(a), id(b))
#结果:地址一样
140719107053504 140719107053504
• 两个引用指向同一个str数据
str1 = 'abcdefg'
str2 = 'abcdefg'
print(id(str1), id(str2))
#结果:地址一样
1765163554608 1765163554608
• 两个引用指向同一个list数据
list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(id(list1), id(list2))
#结果:地址不一样
1765159501952 1765163354496
2. 拷贝
list1 = [1, 2, 3]
list2 = list1.copy()
print(id(list1), id(list2))
#结果:地址不一样
1765163554048 1765159501952

示例代码

- 以4种格式化字符串的方式来实现 520 xxx 嫁给我好吗
str1='520'
str2='亲爱的'

print(str1+str2+'嫁给我吧!')

print(f'{str1}{str2}嫁给我吧!')

print('%s%s嫁给我吧!'%(str1,str2))

print('{0}{1}嫁给我吧!'.format(str1,str2))
结果:
520亲爱的嫁给我吧!
520亲爱的嫁给我吧!
520亲爱的嫁给我吧!
520亲爱的嫁给我吧!
- 现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值
a=7
b=5
c=10
max = a if a > b and a > c else (b if b > c else c)
print(f'最大值:{max}')
最大值:10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值