Předání hodnot do konstruktoru – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Předání hodnot do konstruktoru – Python – Fórum – Programujte.comPředání hodnot do konstruktoru – Python – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Petr
~ Anonymní uživatel
696 příspěvků
19. 10. 2010   #1
-
0
-

Zdravím,
chtěl bych se zeptat na následující: mám konstruktor, který má pět parametrů. Dále mám list, ve kterém je uloženo 5 hodnot. Je možné nějakým způsobem provést to, že místo abych do konstruktoru předal 5 parametrů, předám konstruktoru pouze jeden paramter (list, který má pět hodnot)? Zkoušel jsem to, ale vypisuje to chybu.

class TestClass(object):

def __init__(self, IDn, name, surname, phone, fax):
self.IDn = IDn
self.name = name
self.surname = surname

def printParam(self):
print IDn + " " + name + " " + surname

a = [12, "Johan", "Trouba", 345223, 4345534]

obj = TestClass(a) # Nefunguje


Předem děkuji za všechny rady :)

Nahlásit jako SPAM
IP: 158.196.66.–
Reklama
Reklama
Blujacker
~ Moderátor
0
Grafoman
19. 10. 2010   #2
-
0
-

co takhle?



...
def __init__(self, seznam):
self.idn=seznam[0]
self.name = seznam[1]
....

Nahlásit jako SPAM
IP: 195.113.242.–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
19. 10. 2010   #3
-
0
-

Druhá možnost je nahradit poslední řádek tímto:

obj = TestClass(*a)

Hvězdička před parametrem znamená, že objekty v listu se předají jako samostatné parametry.

Nahlásit jako SPAM
IP: 212.24.152.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 21 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý