python运算符

本文介绍了Python中的运算符,包括不支持的i++、--i等,并指出它们的作用。同时,解释了Python中逻辑运算符的区别,如and、or代替&&、||。文章还详细阐述了any()和all()函数的使用,以及如何判断字符串是否包含列表元素。此外,讨论了round()函数的四舍五入行为以及其不完全遵循常规四舍五入规则的情况。最后,提到了divmod()函数在处理除法和余数时的应用。
摘要由CSDN通过智能技术生成

运算符

注意

python 中的没有 i++ ,如果写了会报语法错误。

但是python 中有 --i,++i,+-i,-+i,他们不是实现-1操作的,仅仅是作为判断运算符号,类似数学中的负负得正。

python 中没有 && ,!, || 这3个运算符,在逻辑表达式中写成这3个会抱逻辑错误的。要实现同样的功能,要写成 and,not,or

any all

假设有这样一个题目,判断字符串 "My name is Danny " 中是否包含列表['LiMing', 'Tom', 'Danny'] 中的元素,大部分人第一反应的解法可能是:

for i in names:

if i in str:

print("字符串包含列表中的元素")

那有没有更Pythonic的方法呢?那就可以用Python的内置函数any()来实现

if any(i in str for i in names):

print('字符串包含列表中的元素')

any():用于判断一个可迭代函数的元素是否全为False「即 0、空字符串(''), 空列表([]), False」。如果全为False返回False,否则返回True

print(any([0, 1])) # True

print(any([0])) # False

print(any(['a', 'b', ''])) # True

print(any(['', 0])) # False

print(any(['', 0, True, False])) # True

print(any(['', 0, False])) # False

print(any([])) # 空列表 返回False

print(any(())) # 空元组,返回False

与any() 函数类似的还有一个all() 函数。 经常会混淆。

all():all与any相反,用来判断一个可迭代函数的元素是否含有False「即 0、空字符串(''), 空列表([]), False」,如果有一个元素为False,则返回False,否则返回True。

值得注意的是,空列表和空字典会返回True

print(all([0, 1, 2])) # False (元素0为False, 所以返回False)

print(all([1, 2, 3])) # True

print(all(['a', 'b', ''])) # False (元素包含空字符换,所以返回False)

print(all(['a', 'b', 'c'])) # True

print(all(['a', 'b', False])) # False (元素包含False, 所以返回False)

print(all([])) # 空列表,返回True

print(all(())) # 空元组,返回True

优先级

算数

四舍五入

round() 方法返回浮点数x的四舍五入值。

round( x [, n] )

参数

x -- 数值表达式。

n -- 数值表达式,表示从小数点位数。

返回浮点数x的四舍五入值。

round函数并不总是如上所说的四舍五入。如:

In [14]: round(2.355, 2)

Out[14]: 2.35

注:环境为 python3.5.2

因为该函数对于返回的浮点数并不是按照四舍五入的规则来计算,而会收到计算机表示精度的影响。

当参数n不存在时,round()函数的输出为整数。

当参数n存在时,即使为0,round()函数的输出也会是一个浮点数。

n的值可以是负数,表示在整数位部分四舍五入,但结果仍是浮点数。

除非对精确度没什么要求,否则尽量避开用round()函数。近似计算我们还有其他的选择:

使用math模块中的一些函数,比如math.ceiling(天花板除法)。

python自带整除//,还有div函数。

字符串格式化可以做截断使用,例如 "%.2f" % value。

对浮点数精度要求如果很高的话,请用decimal模块。

除法带余数

divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。

divmod(a, b)

参数

a: 数字

b: 数字

比较

赋值

位运算

逻辑

成员

身份

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值