超详解——python数字和运算——小白篇

目录

1.位运算

[2. 常用内置函数/模块](#2. 常用内置函数/模块)

math模块:

random模块:

decimal模块:

3.内置函数:

总结:


1.位运算

位运算是对整数在内存中的二进制表示进行操作。Python支持以下常见的位运算符:

  1. 按位与(&):两个二进制数对应位都为1时,结果的该位才为1。
  2. 按位或(|):两个二进制数对应位有一个为1,结果的该位就为1。
  3. 按位异或(^):两个二进制数对应位不同,结果的该位为1。
  4. 按位取反(~):将二进制数的每一位取反(0变1,1变0)。
  5. 左移(<<):将二进制数的所有位向左移动指定的位数,右侧补0。
  6. 右移(>>):将二进制数的所有位向右移动指定的位数,左侧补0(对于无符号数)或补符号位(对于有符号数)。

示例:

复制代码
a = 60  # 二进制:0011 1100
b = 13  # 二进制:0000 1101

# 按位与
result = a & b  # 结果:0000 1100 (12)
print(result)  # 输出:12

# 按位或
result = a | b  # 结果:0011 1101 (61)
print(result)  # 输出:61

# 按位异或
result = a ^ b  # 结果:0011 0001 (49)
print(result)  # 输出:49

# 按位取反
result = ~a  # 结果:1100 0011 (-61),在Python中,负数用补码表示
print(result)  # 输出:-61

# 左移
result = a << 2  # 结果:1111 0000 (240)
print(result)  # 输出:240

# 右移
result = a >> 2  # 结果:0000 1111 (15)
print(result)  # 输出:15

2. 常用内置函数/模块

Python提供了许多内置函数和模块来进行各种计算和操作。以下是一些常用的内置函数和模块:

  1. math模块:提供数学函数,如平方根、对数、三角函数等。
  2. random模块:用于生成随机数。
  3. decimal模块:提供对十进制浮点数的精确计算。
  4. 内置函数 :如abs()max()min()sum()等。

math模块

复制代码
import math

print(math.sqrt(16))  # 4.0,计算平方根
print(math.log(8, 2))  # 3.0,以2为底的对数
print(math.sin(math.pi / 2))  # 1.0,计算正弦值

random模块

复制代码
import random

print(random.randint(1, 10))  # 生成1到10之间的随机整数
print(random.random())  # 生成0到1之间的随机浮点数
print(random.choice(['a', 'b', 'c']))  # 从列表中随机选择一个元素

decimal模块

复制代码
from decimal import Decimal

a = Decimal('0.1')
b = Decimal('0.2')
c = a + b
print(c)  # 0.3,精确的十进制计算

3.内置函数

复制代码
print(abs(-5))  # 5,计算绝对值
print(max(1, 2, 3))  # 3,返回最大值
print(min(1, 2, 3))  # 1,返回最小值
print(sum([1, 2, 3]))  # 6,计算和

总结:

  • Python支持各种位运算符,可以直接对整数进行二进制操作。
  • math模块提供了丰富的数学函数。
  • random模块用于生成随机数。
  • decimal模块用于精确的十进制浮点数计算。
  • 内置函数如abs()max()min()sum()等,简化了基本的数值操作。
相关推荐
腾讯TNTWeb前端团队6 小时前
helux v5 发布了,像pinia一样优雅地管理你的react状态吧
前端·javascript·react.js
范文杰9 小时前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪9 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪9 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy10 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom11 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom11 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom11 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
uhakadotcom11 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试
uhakadotcom11 小时前
Node.js 包管理器:npm vs pnpm
前端·javascript·面试