Если ваши объекты str() или list() могут оказаться пустыми, например: astr = '' или alist = [], то вы можете использовать alist[-1:] вместо alist[-1] для объекта " тождество».
some_list = [1, 2, 3]
some_list[-1] = 5 # Set the last element
some_list[-2] = 3 # Set the second to last element
some_list
a_list = ['zero', 'one', 'two', 'three']
a_list[-1]
'three'
Вы хотели сделать это:
duct_ret = Duct(0.4, 0.3, 10, 18, 19.5, 3, 1, 1010, 1.2)
#---- INPUT
#-- Geometry
import ENGINE as EN
duct_ret.c_s = EN.cross_section(duct_ret.width, duct_ret.height)
print(duct_ret.c_s)
print(EN.Tair_outlet(duct_ret.Ts_int, duct_ret.Tair_inlet, duct_ret.hint, duct_ret.c_s, duct_ret.v_air, duct_ret.rho_air, duct_ret.cp_air, duct_ret.L))
Другой лучший вариант:
class Duct:
def __init__(self, width, height, L, Tair_inlet, Ts_int, hint, v_air, cp_air, rho_air):
self.width = width
self.height = height
self.L = L
self.Tair_inlet = Tair_inlet
self.Ts_int = Ts_int
self.hint = hint
self.v_air = v_air
self.cp_air = cp_air
self.rho_air = rho_air
self.c_s = EN.cross_section(self.width, self.height)
duct_ret = Duct(0.4, 0.3, 10, 18, 19.5, 3, 1, 1010, 1.2)
print(duct_ret.c_s)
print(EN.Tair_outlet(duct_ret.Ts_int, duct_ret.Tair_inlet, duct_ret.hint, duct_ret.c_s, duct_ret.v_air, duct_ret.rho_air, duct_ret.cp_air, duct_ret.L))
Вы не определяете
self.c_s
в своем__init__()
изDuct
. Кроме того, почему вы беспокоитесь о__init__
, когда вы просто перезаписываете атрибуты?