Python 常用运算

布尔运算

运算(按优先级升序排列) 结果
x or y if x is false, then y, else x
x and y if x is false, then x, else y
not x if x is false, then True, else False

数字类型

运算 结果
divmod(x, y) (x // y, x % y)
pow(x, y)或x ** y x 的 y 次幂
math.trunc(x) x 截断为 Integral
round(x[, n]) x 舍入到 n 位小数,半数值会舍入到偶数。 如果省略 n,则默认为 0。
math.floor(x) <= x 的最大 Integral
math.ceil(x) >= x 的最小 Integral

整数类型的按位运算

运算(以优先级升序排序) 结果
x | y x 和 y 按位 或 \
x ^ y x 和 y 按位 异或
x & y x 和 y 按位 与
x << n x 左移 n 位
~x x 逐位取反
~3 的计算步骤
转二进制:0 11
计算补码:0 11
按位取反:1 00
转为原码
按位取反:0 11  
末位加一:0 100
符号位为1是负数,即-4

~-3 的计算步骤
转二进制:1 11
计算补码:1 01
按位取反:0 10
转为原码
按位取反:0 01  
末位加一:0 10
符号位为1是负数,即-2

原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
例如,用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

import math

print('# 布尔运算')
print(2 or 3)  # 2
print(2 and 3)  # 3
print(not 3)  # False

print('# 数字类型')
print(divmod(3, 2))  # (1, 1)
print(pow(2, 3))  # 8
print(2**3)  # 8

print(math.trunc(1.678))  # 1
print(round(12.456, 2))  # 12.46
print(math.floor(-2.3))  # -3
print(math.ceil(3.213))  # 4

print('# 整数类型的按位运算')
print(bin(2), bin(3))
print(2 | 3)  # 3
print(2 ^ 3)  # 1
print(2 & 3)  # 2
print(3 << 1)  # 6
print(3 >> 1)  # 1
print(~3)  # -4
print(~-3)  # 2

print('# 整数类型的附加方法')
n = 3
print(bin(3))  # 0b11
print(n.bit_length())  # 2

print('# 浮点类型的附加方法')
print((1.23).as_integer_ratio()) # (2769713770832855, 2251799813685248) 返回一对整数,其比率正好等于原浮点数并且分母为正数。 无穷大会引发 OverflowError 而 NaN 则会引发 ValueError
print((-2.0).is_integer())  # True
print((1.1).is_integer())  # False
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    徵羽kid阅读 814评论 0赞 0
  • 案例代码下载 高级运算符 除了基本运算符中描述的运算符之外,Swift还提供了几个执行更复杂值操作的高级运算符。这...
    酒茶白开水阅读 965评论 0赞 0
  • 一、ECMAScript 一元运算符 一元运算符只有一个参数,即要操作的对象或值。它们是 ECMAScript 中...
    耦耦阅读 606评论 0赞 0
  • 《Python从小白到大牛》已经上市! 本章为大家介绍Python语言中一些主要的运算符(也称操作符),包括算术运...
    tony关东升阅读 1,393评论 0赞 1
  • 我童年的家庭氛围:愉快幸福居多,井然有序,安全。印象中很少有父母吵架,父母分工合作,爸爸妈妈都是农民,妈妈性格温和...
    孙苹阅读 283评论 0赞 0

友情链接更多精彩内容