Hirdetés
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- lkristóf: Prohardver fórum userscript – hogy lásd, mikor neked válaszoltak
- Elektromos rásegítésű kerékpárok
- Meggyi001: Áram nélkül....méltóság nélkül.....
- Mr Dini: Mindent a StreamSharkról!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
Új hozzászólás Aktív témák
-
cousin333
addikt
A namedtuple egy "gyártó függvény" (factory function), aminek az eredménye ebben az esetben egy osztály lesz (mintha mondjuk nem kellene megírnod a Kör osztályt előre, hanem futás közben dinamikusan hoznád létre). Az i2c_io_pinout tehát lényegében egy osztály (amit talán elegánsabb lenne ennek megfelelően camel-case-el jelölni: pl. I2cIoPinout), az i2c_io_state meg valóban egy példány.
Az adott számú "kulcsnevet" vagy az eredeti elnevezés tömbbel éred el, vagy a _fields paraméterrel. Pl.:
i2c_io_state._fields[1]Őszintén szólva nem tudom, mire kell, de nekem az a véleményem, hogy ha ezt akarod elérni, akkor nem jól használod a típust, hiszen ez pont arra lenne jó, hogy ne kelljen ismerni a sorrendet a létrehozást követően.
Alapvetően én az egész külső IC-nek egy osztályt hoznék létre, hasonlóan a már létező I2C, SPI... stb. osztályokhoz, ami aztán minden létező funkciót egy névtérbe "csomagol". Valami ilyesmi struktúrával:
class IoModule(object):MASK_SWITCH1 = 0x30def __init__(self, interface):self.port = interfaceself.portA_status = Noneself.portB_status = Nonedef connect(self):.... # connect heredef close(self):self.port.close()def update_ports(self):self.portA_status = self.port.read(<reg_portA>)self.portB_status = self.port.read(<reg_portB>)def compare_portA(self):port_old = self.portA_statusself.update_ports()port = self.portA_statusreturn port & port_old@propertydef id(self):return self.port.read(<id_reg>)@propertydef Switch1(self):return True if self.port_status & self.MASK_SWITCH else FalseEbben az esetben az osztályunk példányosításkor megkapja az interfészt (ami ebben az esetben egy I2C objektum), és azt használja a továbbiakban. A fenti kód elég kezdetleges, csak a struktúrát akartam megmutatni.
ui: ha listaelemeken akarsz végigmenni, akkor ne használd a range(len(x)) formulát. Ha az elem kell, akkor
for elem in lista:print(elem)Ha kell a sorszám is, akkor enumerate:
for i, elem in enumerate(lista):print('Az', i, 'elem a(z)', elem)Ha pedig több egyforma listád van, akkor zip:
for elemA, elemB in zip(listaA, listaB):print('Az A eleme:', elemA, 'a B eleme pedig:', elemB)
Új hozzászólás Aktív témák
- Villanyszerelés
- Eredeti játékok OFF topik
- Le Mans Ultimate
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- exHWSW - Értünk mindenhez IS
- ThinkPad (NEM IdeaPad)
- Crimson Desert
- Víz- gáz- és fűtésszerelés
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Ubiquiti hálózati eszközök
- További aktív témák...
- AMD Ryzen 5 1600X AM4
- Eladó Apple iPad (2020) 2. generáció Cellular + WiFi 512 GB
- iPhone 16 128GB gyári független hibátlan 2028.10.20. Apple jótállás
- iPhone 17 256GB gyári független hibátlan 2029.02.13. Apple jótállás
- Ryzen 7 7800X3D +ASRock X870 PRO RS WIFI +32GB 6000MHz DDR5 kit! GAR/SZÁMLA (a Te nevedre kiállítva)
- Friss készlet! MacBook Pro 14" M1 16GB RAM 27%-os áfás számla (0349AB)
- Microsoft Surface Laptop Studio 2in1 / i5-11300H 16GB RAM Érintőkijelző
- HIBÁTLAN iPhone 12 Pro Max 256GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS4306, 100 AKKSI
- ASUS TUF RTX 5090 OC 32GB GDDR7 TUF-RTX5090-32G-GAMING Videokártya! BeszámítOK
- Oculus Meta Quest 2 64 GB 6 hó garancia, számlával!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
