当前位置: 首页 > news >正文

【Python Number(数字)】

Python 中的数字类型是编程的基础元素,用于表示数值数据并进行数学运算。以下是 Python 数字类型的核心知识点:


一、基础数字类型

  1. 整数(int

    • 表示整数值,例如 42, -7, 0
    • 支持任意精度(无大小限制):
      a = 10 ** 100  # 10的100次方
      
  2. 浮点数(float

    • 表示小数,例如 3.14, -0.5, 2e3(科学计数法)
    • 注意精度问题:
      0.1 + 0.2  # 结果为 0.30000000000000004(浮点数精度误差)
      
  3. 复数(complex

    • 表示复数,例如 3+4jj 表示虚部)
    • 支持复数运算:
      (2+3j) * (1-2j)  # 结果为 (8-1j)
      

二、数字运算

1. 基本运算
5 + 3   # 加法 → 8
7 - 2   # 减法 → 5
4 * 6   # 乘法 → 24
10 / 3  # 除法 → 3.333...
10 // 3 # 整除 → 3
9 % 2   # 取余 → 1
2 ** 5  # 幂运算 → 32
2. 增强赋值
x = 10
x += 5   # 等价于 x = x + 5 → 15
x *= 2   # 等价于 x = x * 2 → 30
3. 比较运算
5 > 3    # True
3.14 == 3.14  # True
-2 <= 1  # True

三、常用数学函数

通过 math 模块实现高级运算:

import mathmath.sqrt(16)     # 平方根 → 4.0
math.ceil(3.2)    # 向上取整 → 4
math.floor(3.8)   # 向下取整 → 3
math.pi           # 圆周率 → 3.141592653589793
math.sin(math.pi/2)  # 正弦函数 → 1.0

四、数字转换

  1. 类型转换

    int(3.14)    # → 3(截断小数部分)
    float(5)     # → 5.0
    complex(2)   # → 2+0j
    str(123)     # → "123"(转为字符串)
    
  2. 进制转换

    bin(10)      # 二进制 → '0b1010'
    hex(255)     # 十六进制 → '0xff'
    oct(8)       # 八进制 → '0o10'
    

五、随机数生成

通过 random 模块实现:

import randomrandom.random()       # 生成 [0.0, 1.0) 随机浮点数
random.randint(1, 10) # 生成 [1, 10] 随机整数
random.choice([3,6,9])# 随机选择元素 → 可能返回6

六、数字格式化

# 格式化为字符串
f"π≈{math.pi:.2f}"   # → "π≈3.14"# 千位分隔符
format(1234567, ",")  # → '1,234,567'

七、特殊数字值

  • float('inf') : 正无穷大(比任何数都大)
  • float('-inf') : 负无穷大
  • float('nan') : 非数字(Not a Number)

八、应用场景示例

  1. 金融计算

    principal = 1000
    rate = 0.05
    years = 10
    future_value = principal * (1 + rate) ** years  # 复利计算
    
  2. 图像处理

    # 将像素值(0-255)归一化到 [0,1]
    normalized = pixel_value / 255.0
    
  3. 游戏开发

    # 计算抛射体轨迹
    import math
    angle = math.radians(45)
    velocity = 50
    max_height = (velocity ** 2) * (math.sin(angle) ** 2) / (2 * 9.8)
    

通过掌握这些数字类型和运算方法,可以高效处理从简单算术到复杂科学计算的各类数值问题。实际开发中需注意浮点数精度问题和类型转换陷阱。

http://www.xdnf.cn/news/322453.html

相关文章:

  • 欧姆龙 PLC串口转网口模块cjcp系列SG-CJCP-110
  • 2021-11-11 C++泰勒sin(x)以2步进乘方除以阶乘加减第N项
  • 学习Linux的第四天
  • 前后端开发---分离 和 不分离开发
  • python批量配置交换机简单实现
  • 多功能气体检测报警系统,精准监测,守护安全
  • 【MATLAB代码解析】基于蜜蜂交配优化算法的排列组合优化问题MATLAB实现
  • ECMAScript 2016(ES2016):JavaScript 生态的精细化完善
  • 【Python】在for循环里记录报错的次数error,如果遇到连续发生错误 X次时,则跳出循环的写法
  • 追踪大型语言模型的思想(上)(来自针对Claude的分析)
  • 可视化魔法指南
  • Whistle无权限访问本地文件
  • 【javascript】console对象
  • 邮件发送频率如何设置?尊重文化差异是关键!
  • 双线性配对
  • 算法设计与分析实验题-序列对齐
  • 电商双11美妆数据分析(二)
  • Unity WebGL、js发布交互
  • ROBOVERSE:面向可扩展和可泛化机器人学习的统一平台、数据集和基准
  • leetcode文件级全局变量会在测试用例之间相互影响
  • 浅谈C++的new和delete
  • 使用mindie部署qwen2_vl分析视频
  • 线程池详解,生命周期,线程池种类,预热
  • day18 python聚类分析对数据集模型性能影响
  • Content-Type使用场景及示例
  • 阿里云2核2g安装nexus
  • KL散度(Kullback-Leibler Divergence):概率分布差异的量化利器
  • 同步 / 异步、阻塞 / 非阻塞
  • 基于STM32、HAL库的SCD41-D-R2 气体传感器驱动程序设计
  • 数据中心机电建设