summaryrefslogtreecommitdiffhomepage
path: root/cs-cz/python3.html.markdown
diff options
context:
space:
mode:
authorTomas Bedrich <ja@tbedrich.cz>2015-09-10 18:14:25 +0200
committerTomas Bedrich <ja@tbedrich.cz>2015-09-10 18:14:25 +0200
commit003db4af9b6d10d9737c28103a66c61887eb1c19 (patch)
tree38467b98b419a1a74dc4b74ab1fa1b4eca0183f3 /cs-cz/python3.html.markdown
parent61634fc32a4b9962062e890de98250aea8db3c24 (diff)
Classes
Diffstat (limited to 'cs-cz/python3.html.markdown')
-rw-r--r--cs-cz/python3.html.markdown83
1 files changed, 41 insertions, 42 deletions
diff --git a/cs-cz/python3.html.markdown b/cs-cz/python3.html.markdown
index e842321b..0364b43d 100644
--- a/cs-cz/python3.html.markdown
+++ b/cs-cz/python3.html.markdown
@@ -509,59 +509,58 @@ filter(lambda x: x > 5, [3, 4, 5, 6, 7])
## 5. Třídy
####################################################
-# We subclass from object to get a class.
-class Human(object):
-
- # A class attribute. It is shared by all instances of this class
- species = "H. sapiens"
-
- # Basic initializer, this is called when this class is instantiated.
- # Note that the double leading and trailing underscores denote objects
- # or attributes that are used by python but that live in user-controlled
- # namespaces. Methods(or objects or attributes) like: __init__, __str__,
- # __repr__ etc. are called magic methods (or sometimes called dunder methods)
- # You should not invent such names on your own.
- def __init__(self, name):
- # Assign the argument to the instance's name attribute
- self.name = name
-
- # An instance method. All methods take "self" as the first argument
- def say(self, msg):
- return "{name}: {message}".format(name=self.name, message=msg)
-
- # A class method is shared among all instances
- # They are called with the calling class as the first argument
+# Třída Clovek je potomkem (dědí od) třídy object
+class Clovek(object):
+
+ # Atribut třídy - je sdílený všemi instancemi
+ druh = "H. sapiens"
+
+ # Toto je kostruktor. Je volán, když vytváříme instanci třídy. Dvě
+ # podtržítka na začátku a na konci značí, že se jedná o atribut nebo
+ # objekt využívaný Pythonem ke speciálním účelům, ale můžete sami
+ # definovat jeho chování. Metody jako __init__, __str__, __repr__
+ # a další se nazývají "magické metody". Nikdy nepoužívejte toto
+ # speciální pojmenování pro běžné metody.
+ def __init__(self, jmeno):
+ # Přiřazení parametru do atributu instance jmeno
+ self.jmeno = jmeno
+
+ # Metoda instance - všechny metody instance mají "self" jako první parametr
+ def rekni(self, hlaska):
+ return "{jmeno}: {hlaska}".format(jmeno=self.jmeno, hlaska=hlaska)
+
+ # Metoda třídy - sdílená všemi instancemi
+ # Dostává jako první parametr třídu, na které je volána
@classmethod
- def get_species(cls):
- return cls.species
+ def vrat_druh(cls):
+ return cls.druh
- # A static method is called without a class or instance reference
+ # Statická metoda je volána bez reference na třídu nebo instanci
@staticmethod
- def grunt():
- return "*grunt*"
+ def odkaslej_si():
+ return "*ehm*"
-# Instantiate a class
-i = Human(name="Ian")
-print(i.say("hi")) # prints out "Ian: hi"
+# Vytvoření instance
+d = Clovek(jmeno="David")
+a = Clovek("Adéla")
+print(d.rekni("ahoj")) # Vypíše: "David: ahoj"
+print(a.rekni("nazdar")) # Vypíše: "Adéla: nazdar"
-j = Human("Joel")
-print(j.say("hello")) # prints out "Joel: hello"
+# Volání třídní metody
+d.vrat_druh() # => "H. sapiens"
-# Call our class method
-i.get_species() # => "H. sapiens"
+# Změna atributu třídy
+Clovek.druh = "H. neanderthalensis"
+d.vrat_druh() # => "H. neanderthalensis"
+a.vrat_druh() # => "H. neanderthalensis"
-# Change the shared attribute
-Human.species = "H. neanderthalensis"
-i.get_species() # => "H. neanderthalensis"
-j.get_species() # => "H. neanderthalensis"
-
-# Call the static method
-Human.grunt() # => "*grunt*"
+# Volání statické metody
+Clovek.odkaslej_si() # => "*ehm*"
####################################################
-## 6. Modules
+## 6. Moduly
####################################################
# You can import modules