Wpis z mikrobloga

Co polecacie aby nie kopiować bezsensowie kodu - mając bardzo dużo podobnych funkcji, w których zmienia się jedynie:
- sygnatura: get-param-xxx,
- numery rejestrów jako argumenty funkcji wywoływanej niżej(w kolejności od 1 do n)
czy jest sposób, aby utworzyć jakiś template?

#programowanie #python
  • 7
@dog_meat: @morsik:

Przykład:
def read-power(self):
return read-reg(1)

def read-voltage(self):
return read-reg(2) itd.
Końcowa częśc nagłówka funkcji np. [power, voltage,...] i numery rejestrów [1,2,...] mogą być trzymane jako key: param.
def read-param(self, num):
return read-reg(num)

czy nie o to chodzi?

--edit
chociaż w sumie na to samo wychodzi co ty zrobiłeś,
to może tak

def read-param(self, name):
names = {
'power': 1,
'voltage': 2
}
num = names.get(name, 1)
return read-reg(num)

coś takiego może