NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 3 - Hrací kostka v Pythonu - Zapouzdření a konstruktor

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Martin Petrovaj
Tvůrce
Avatar
Odpovídá na Jiří Forst
Martin Petrovaj:27.7.2018 18:11

Formátování textu nám umožňuje vkládat do něj jednoduše proměnné pomocí zástupných znaků. Docílíme tak přehlednějšího kódu, než kdybychom řetězec nastavovali.

Formátovat text lze pomocí metody format(), …

Formátování probíhá tak, že jako argumenty dáme do metody jednotlivé řetězce, nebo odkazy na řetězce. První argument má index 0, další má index 1, atd.

Příklad:

>>> prvni_retezec = "Python"
>>> retezec = "{0} je nejlepší!".format(prvni_retezec)
>>> retezec
'Python je nejlepší!'

https://www.itnetwork.cz/…-pokracovani

Odpovědět
27.7.2018 18:11
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Bilko
Člen
Avatar
Odpovídá na Martin Petrovaj
Bilko:22.10.2018 13:51

Martin Petrovaj,
diky moc. Toto formatovani mi chybelo.
Psal jsem vsechno jako nudla :-D

Odpovědět
22.10.2018 13:51
I could write a script that would replace you.
Avatar
Martin Petrovaj
Tvůrce
Avatar
Odpovídá na Bilko
Martin Petrovaj:22.10.2018 13:54

Ešte som zabudol poznamenať, že dnes sa už v Pythone 3.6+ formátuje jednoduchšou syntaxou, napr.:

prvni_retezec = "Python"
print(f"{prvni_retezec} je nejlepší!")
Odpovědět
22.10.2018 13:54
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Jan Halouzka
Člen
Avatar
Jan Halouzka:27.1.2019 20:07

Zdravím, mohli byste mi prosím někdo trošku ujasnit __init__? Nějak jsem pořád nepochopil, k čemu přesně slouží.

 
Odpovědět
27.1.2019 20:07
Avatar
Kenvil
Člen
Avatar
Odpovídá na Jan Halouzka
Kenvil:27.1.2019 20:31

Python používá metodu, která se jmenuje __init__ To znamená, že tohle jméno je nějakým způsobem speciální metoda. __init__ se totiž zavolá automaticky, když se vytvoří nový objekt.

 
Odpovědět
27.1.2019 20:31
Avatar
Jan Halouzka
Člen
Avatar
Odpovídá na Kenvil
Jan Halouzka:29.1.2019 14:02

No. :D Moc to ještě nepobírám. Mohli bys mi to teda vysvětlit na tom příkladu s kostkou, co to tam přesně dělá, proč to tam je atd.?

 
Odpovědět
29.1.2019 14:02
Avatar
Jan Halouzka
Člen
Avatar
Odpovídá na Kenvil
Jan Halouzka:29.1.2019 14:02

No. :D Moc to ještě nepobírám. Mohli bys mi to teda vysvětlit na tom příkladu s kostkou, co to tam přesně dělá, proč to tam je atd.?

 
Odpovědět
29.1.2019 14:02
Avatar
jika knaifl
Člen
Avatar
jika knaifl:9.4.2019 20:57

Reknete, jaky je rozdil mezi:

def hod(self):
import random as _random
return _random.randint(1, self.__pocet_sten)

versus

def hod(self):
import random
return random.randint(1, self.__pocet_sten)

???

V tutorialu je napsane, ze modul naimportujeme "vnitrne". Co to znamena?

Diky!

 
Odpovědět
9.4.2019 20:57
Avatar
Odpovídá na jika knaifl
Erik Šťastný:10.4.2019 8:36

V použití žádný rozdíl není, importuješ ten stejný modul jen si pro něj vytvoříš alias (vlastní pojmenování)

Z mého pohledu to nemám rád a nikdy to nepoužívám, akorát pořád zjišťuju co je daný alias zač při čtení kódu.

 
Odpovědět
10.4.2019 8:36
Avatar
Jan Koloničný:8.8.2019 19:50

Ahoj,
I když dělám vše podle vzoru

class Kostka:
    """
    Třída reprezentuje hrací kostku.
    """

    def __init__(self, pocet_sten):
        self.__pocet_sten = pocet_sten

    def vrat_pocet_sten(self):
        return self.__pocet_sten


kostka = Kostka(10)
print(kostka.vrat_pocet_sten())
input()

píše mi to při výstupu:
AttributeError: 'Kostka' object has no attribute '_Kostka__pocet_sten'

Nevím, v čem je problém? Nevíte náhodou někdo?

 
Odpovědět
8.8.2019 19:50
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 87.