1.is 和==的区别
当比较变量是不可变类型比如str时,is和==没有区别
当比较变量是list,dict时,is和==不能划等号
原因:
- is, is not 对比的是两个变量的内存地址
- ==, != 对比的是两个变量的值
2.保留结果精度Decimal
import decimal
from decimal import Decimal
decimal.getcontext().prec=4
IN:Decimal(3.999999)/Decimal(3)
OUT:1.333
3.被忽略的print
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
- 将对象以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按
str()方式进行转换为字符串输出; - 关键字参数
sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符; - 关键字参数
end是输出结束时的字符,默认是换行符\n; - 关键字参数
file是定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件; - 关键字参数
flush是立即把内容输出到流文件,不作缓存。
4.反码:正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反)。
补码:正数的补码就是原码,负数的补码是反码+1。
5.assert
assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。
6.列表推导式【总是不知道怎么加入if】
x = [i for i in range(100) if (i % 2) != 0 and (i % 3) == 0]
本文探讨了Python中is与==操作符的差异,特别是在处理不可变类型如str和可变类型如list、dict时的不同。此外,介绍了如何使用Decimal进行高精度计算并保留结果。还讲解了print函数的参数用法,以及如何控制输出格式。文章进一步解释了二进制表示中正数和负数的反码和补码概念,并讨论了断言assert在代码调试中的应用。最后,通过一个例子展示了如何在列表推导式中结合if条件语句进行操作。
2193

被折叠的 条评论
为什么被折叠?



