-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconvert.py
More file actions
90 lines (72 loc) · 2.16 KB
/
convert.py
File metadata and controls
90 lines (72 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import numpy as np
class Convert:
def __init__(self):
# common constants
self.g = 9.81 # on earth
self.sg = 1000 # specific gravity
# Length
self.m = 1
self.km = 1000 * self.m
self.cm = 1 / 100 * self.m
self.mm = 1 / 1000 * self.m
self.inch = 2.54 * self.cm
self.ft = 12 * self.inch
self.yard = 3 * self.ft
self.mi = 5280 * self.ft
# Time
self.s = 1
self.min = 60 * self.s
self.hr = 60 * self.min
self.day = 24 * self.hr
self.week = 7 * self.day
self.year = 365 * self.day
# Mass
self.kg = 1
self.gram = 1 / 1000 * self.kg
self.lbm = 1 / 2.2046 * self.kg
self.slug = 14.594 * self.kg
# Angle
self.rad = 1
self.deg = 3.141592653589793238462643383279/180 * self.rad
self.rev = 2 * 3.141592653589793238462643383279 * self.rad
# Force
self.N = self.kg * self.m / self.s ** 2
self.lbs = 4.448 * self.N
# Energy
self.J = self.N * self.m
# Pressure
self.Pa = 1
self.psi = 6.895e3 * self.Pa
self.prefix = {
'peta': 10 ** 15,
'tera': 10 ** 12,
'giga': 10 ** 9,
'mega': 10 ** 6,
'kilo': 10 ** 3,
'hecto': 10 ** 2,
'deka': 10,
'deci': 10 ** -1,
'centi': 10 ** -2,
'milli': 10 ** -3,
'micro': 10 ** -6,
'nano': 10 ** -9,
'pico': 10 ** -12,
'femto': 10 ** -15,
'atto': 10 ** -18
}
def __getattr__(self, item):
return getattr(self, item)
def get_conversion_factor(self):
return {name: 1 for name in dir(self) if '__' not in name}
class ConvertTemperature:
def __init__(self, temp):
# Temperature
self.K = 1
self.C = (temp + 273.15) / temp
self.F = ((temp - 32) * 5 / 9 + 273.15) / temp
self.Rankine = 0.556
if __name__ == "__main__":
c = Convert()
print(c.get_conversion_factor())
print(getattr(c, 'mm'))
print(c['mm'])