单位转换器
在多个物理维度之间转换单位。
功能
- 多个类别:长度、质量、温度、时间、体积等。
- 复合单位:速度、密度、压力
- 精度控制:可配置的小数位数
- 批量转换:转换数值列表
- 公式显示:显示转换公式
快速开始
from unit_converter import UnitConverter
converter = UnitConverter()
# Simple conversion
result = converter.convert(100, "km", "miles")
print(f"100 km = {result:.2f} miles")
# With full details
result = converter.convert_with_details(72, "fahrenheit", "celsius")
print(result)
CLI 用法
# Basic conversion
python unit_converter.py 100 km miles
# Temperature
python unit_converter.py 98.6 fahrenheit celsius
# With precision
python unit_converter.py 1.5 kg lbs --precision 4
# List supported units
python unit_converter.py --list
# List units in category
python unit_converter.py --list length
# Show formula
python unit_converter.py 100 cm inches --formula
API 参考
UnitConverter 类
class UnitConverter:
def __init__(self)
# Conversion
def convert(self, value: float, from_unit: str, to_unit: str) -> float
def convert_with_details(self, value: float, from_unit: str, to_unit: str) -> dict
def batch_convert(self, values: list, from_unit: str, to_unit: str) -> list
# Information
def list_categories(self) -> list
def list_units(self, category: str = None) -> dict
def get_formula(self, from_unit: str, to_unit: str) -> str
def find_unit(self, query: str) -> list
支持的类别
长度
| 单位 | 别名 |
|---|
| meter | m |
| kilometer | km |
| centimeter | cm |
| millimeter | mm |
| inch | in |
| foot | ft |
| yard | yd |
| mile | mi |
| nautical_mile | nm |
质量
| 单位 | 别名 |
|---|
| kilogram | kg |
| gram | g |
| milligram | mg |
| pound | lb, lbs |
| ounce | oz |
| ton | |
| metric_ton | tonne |
温度
| 单位 | 别名 |
|---|
| celsius | c |
| fahrenheit | f |
| kelvin | k |
时间
| 单位 | 别名 |
|---|
| second | s, sec |
| minute | min |
| hour | h, hr |
| day | d |
| week | wk |
| month | mo |
| year | yr |
体积
| 单位 | 别名 |
|---|
| liter | l |
| milliliter | ml |
| gallon | gal |
| quart | qt |
| pint | pt |
| cup | |
| fluid_ounce | fl_oz |
| cubic_meter | m3 |
面积
| 单位 | 别名 |
|---|
| square_meter | m2, sqm |
| square_kilometer | km2 |
| square_foot | sqft, ft2 |
| acre | |
| hectare | ha |
速度
| 单位 | 别名 |
|---|
| meters_per_second | m/s, mps |
| kilometers_per_hour | km/h, kph |
| miles_per_hour | mph |
| knots | kt |
数字存储
| 单位 | 别名 |
|---|
| byte | b |
| kilobyte | kb |
| megabyte | mb |
| gigabyte | gb |
| terabyte | tb |
能量
| 单位 | 别名 |
|---|
| joule | j |
| kilojoule | kj |
| calorie | cal |
| kilocalorie | kcal |
| watt_hour | wh |
| kilowatt_hour | kwh |
示例工作流
批量转换
converter = UnitConverter()
weights_kg = [50, 75, 100, 125]
weights_lbs = converter.batch_convert(weights_kg, "kg", "lbs")
for kg, lbs in zip(weights_kg, weights_lbs):
print(f"{kg} kg = {lbs:.1f} lbs")
查找兼容单位
converter = UnitConverter()
# Search for units
matches = converter.find_unit("meter")
# Returns: ['meter', 'kilometer', 'centimeter', ...]
获取转换公式
converter = UnitConverter()
formula = converter.get_formula("celsius", "fahrenheit")
print(formula) # "F = (C × 9/5) + 32"
输出格式
convert_with_details()
{
"value": 100,
"from_unit": "km",
"to_unit": "miles",
"result": 62.1371,
"formula": "miles = km × 0.621371",
"category": "length"
}
依赖项
无外部依赖项——使用 Python 标准库。