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

Python 字符串和 数字(int、float、Decimal、Fraction 等) 的一些使用技巧

Python 字符串和 数字(int、float、Decimal、Fraction 等) 的一些使用技巧

一、字符串高级用法

1.f-string 高级格式化(推荐)

name = "Alice"
age = 25
pi = 3.1415926
print(f"Hello {name}, you are {age} years old, π≈{pi:.2f}")
# 输出: Hello Alice, you are 25 years old, π≈3.14

支持表达式

print(f"Next year you'll be {age + 1}")
print(f"{name.upper()} has {len(name)} letters.")

2.高级切片与步长

s = "abcdefg"
print(s[::-1])   # gfedcba 反转字符串
print(s[::2])    # aceg  每隔一个取字符

3.高效拼接与 join

parts = ["Python", "高级", "用法"]
print(" ".join(parts))  # 比字符串相加更高效(尤其是循环拼接时)

4.高级替换与正则提取

import re
s = "价格:¥123.45 元"
price = re.search(r"¥(\d+\.\d+)", s)
print(price.group(1))  # 123.45

5.translate + maketrans 批量替换

s = "hello world"
table = str.maketrans("hw", "HW")
print(s.translate(table))  # Hello World

6.strip / partition / splitlines / split

s = "  a=b=c  "
print(s.strip())            # a=b=c
print(s.partition("="))     # ('a', '=', 'b=c')
print("a\nb\nc".splitlines())  # ['a', 'b', 'c']
print(s.split('='))  # ['  a', 'b', 'c  ']

二、数字高级用法

1.浮点精度问题与 Decimal

from decimal import Decimal, getcontext
getcontext().prec = 10  # 设置精度
print(Decimal("0.1") + Decimal("0.2"))  # 0.3 (精确)

2.分数表示 — Fraction

from fractions import Fraction
f = Fraction(3, 4) + Fraction(1, 2)
print(f)  # 5/4
print(float(f))  # 1.25

3.divmod, pow 三目计算

a, b = 17, 5
print(divmod(a, b))  # (3, 2)
print(pow(2, 10))    # 1024
print(pow(2, 3, 5))  # (2**3) % 5 = 3

4.数字格式化

print(f"{n:,.2f}")  # 1,234,567.89
print(f"{n:e}")     # 1.234568e+06

5.复数与数学扩展

结合 cmath 模块可计算复数开方、对数、指数等。

z = 3 + 4j
print(abs(z))       # 5.0
print(z.real, z.imag)

三、综合技巧:字符串与数字结合

1.使用 format_map 结合字典

data = {"name": "Alice", "age": 25}
print("{name}今年{age}岁".format_map(data))

2.正则提取数字

import re
s = "总价为 ¥123.45 元"
price = float(re.search(r"(\d+\.\d+)", s).group(1))

3.类型安全的拼接

num = 10
s = f"结果是:{num:,d}"  # 千分位整数
print(s)  # 结果是:10

本文章的原文地址
GitHub主页

http://www.hskmm.com/?act=detail&tid=37433

相关文章:

  • Python 类、对象、继承、方法 的一些使用技巧
  • Python 列表、字典、集合、生成器、迭代器 的一些使用技巧
  • 上海AI短视频获客企业口碑榜:技术实力、服务案例及市场覆盖率的深度解析
  • 【为美好CTF献上祝福】杂项笔记
  • 权威调研榜单:扬州公考笔试机构TOP3榜单好评深度解析
  • PyOCD使用指南
  • 嵌入式主板全景解析:从选型到趋势,读懂工业智能的核心载体
  • 2025 年唐山油漆生产厂家最新推荐榜单:精选优质企业,解析专业品牌选购指南唐山油漆批发/唐山油漆生产公司推荐
  • vscode创建快捷代码块,同时配置vue2和vue3的快捷代码块
  • DolphinScheduler依赖机制、Open-Falcon告警推送与监控的优化实践
  • Tailwind CSS 使用入门
  • 2025 年托管班加盟品牌最新推荐排行榜:聚焦国内优质机构,为投资者精选靠谱加盟项目托管班机构加盟/儿童托管班中心加盟/课后托管班加盟/小学托管班加盟连锁推荐
  • 终于能打出生僻字了!麒麟系统搜狗输入法完整安装指南 - 实践
  • docker 离线下载安装部署
  • 第六周第二天6.2
  • godot + Avalonia 渲染第三方UI
  • 国标GB28181算法算力平台EasyGBS的云边协同的算力调度模式关键技术解析
  • 2025-10-23 cocos安装
  • 监控系统搭建集成实例
  • WPF 和 Avalonia 开发者的 html css 前端指南 ScrollViewer 篇
  • 用EasyPlayer播国标GB28181算法算力平台EasyGBS视频流,居然比点外卖还简单
  • 2025 年氙灯老化 / 紫外老化 / 冷热冲击 / 恒温恒湿 / 高低温 / 快速温变试验箱厂家推荐:柳沁仪器,多行业检测设备的优质供应伙伴
  • 测试美化效果
  • CF1140E Palindrome-less Arrays
  • Windows Server 2016 中文版、英文版下载 (2025 年 10 月更新)
  • 2025年护栏厂家权威推荐榜单:不锈钢栏杆、桥梁防撞护栏、河道景观护栏等全品类生产供应商精选
  • Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
  • Windows Server 2025 中文版、英文版下载 (2025 年 10 月更新)
  • 零样本学习(Zero-Shot Learning‌)
  • mac安装stable diffusion简易部署