Gettry a settery v Pythonu se liší od metod v jiných jazycích OOP. Primárním využitím metod getter a setter je poskytnout zapouzdření dat v objektově orientovaných programech. Na rozdíl od jiných objektově orientovaných jazyků nejsou privátní proměnné v Pythonu skrytá pole. Některé OOP jazyky používají getry a settery k zapouzdření dat. Chceme skrýt atributy třídy objektu před ostatními třídami, aby metody v jiných třídách náhodně nezměnily data.

V jazycích OOP se gettery a settery používají k načítání a aktualizaci dat. Getter získá aktuální hodnotu atributu objektu, zatímco setter modifikuje hodnotu atributu objektu. V tomto článku probereme getter a setter v Pythonu s příklady.

Co je to getter v Pythonu?

Getters (getters) v Pythonu jsou metody, které se používají v objektově orientovaném programování (OOP) pro přístup k soukromým atributům třídy. Funkce setattr() v Pythonu je konzistentní s funkcí getattr() v Pythonu. Mění hodnoty atributů objektu.

Co je setter v Pythonu?

Setter v Pythonu je metoda, která se používá k nastavení hodnoty vlastnosti. V objektově orientovaném programování je velmi užitečné nastavit hodnotu soukromých atributů ve třídě.

Obecně se getry a settery používají hlavně k zapouzdření dat v OOP.

Použití běžné funkce k provádění funkcí getr a setter

Pokud zadáme normální metody get() a set() pro dosažení vlastnosti getters a setters, nebude žádná speciální implementace.

Podívejme se na příklad, abychom pochopili, jak můžeme použít regulární funkci k získání funkcí getr a setter.

class Javatpoint: def __init__(self, age = 0): self._age = age # pomocí metody getter def get_age(self): return self._age # pomocí metody setter def set_age(self, a): self._age = a John = Javatpoint() #pomocí funkce setter John.set_age(19) # pomocí funkce getter print(John.get_age()) print(John._age)

Po provedení tohoto kódu získáme výstup, jak je znázorněno níže:

19 19

K dosažení této funkce metody get age() a set age() ve výše uvedeném kódu fungují jako standardní funkce a neovlivňují metody getter a setter. Python má jedinečnou vlastnost function().

Použití funkce property() jako getterů a nastavovačů

V Pythonu je property() vestavěná funkce pro vytváření a vracení vlastnosti objektu. Existují tři metody: getter(), setter() a delete(). V Pythonu má funkce property() čtyři argumenty: vlastnosti (fget, fset, fdel, doc). Funkce fget se používá k získání hodnoty atributu. Funkce fset se používá k nastavení hodnoty atributu. Funkce fdel se používá k odstranění hodnoty atributu. Atributu je přiřazen dokumentační řetězec doc.

Podívejme se na příklad, abychom pochopili, jak můžeme použít funkci property() k dosažení chování getterů a setterů.

class Javatpoint: def __init__(self): self._age = 0 # pomocí funkce get def get_age(self): print("metoda getter") return self._age # pomocí funkce set def set_age(self, y): print ("metoda setter") self._age = y # pomocí funkce del def del_age(self): del self._age age = property(get_age, set_age, del_age) John = Javatpoint() John.age = 18 print(John. stáří)

Výstup: Po provedení tohoto výše uvedeného kódu získáme výstup, jak je znázorněno níže:

metoda setter metoda getter 18

Ve výše uvedeném programu je pouze jeden tiskový příkaz. Výstup sestává ze tří řádků, protože je volána metoda set age() setter a metoda getter get age() je volána. V důsledku toho je věk vlastnost, která pomáhá zajistit bezpečnost přístupu k soukromým proměnným.

Pomocí dekorátorů @property

V předchozí metodě jsme použili funkci property() k dosažení chování getterů a setterů. Jak však bylo zmíněno dříve v tomto článku, getry a settery se také používají ke kontrole získávání a nastavení hodnot atributů.

Další metodou prosazování funkce nemovitosti je použití dekoratérů. @property je jedním z vestavěných dekorátorů Pythonu. Hlavním účelem jakéhokoli dekorátoru je změnit metody nebo atributy třídy tak, aby uživatel třídy nemusel měnit svůj kód.

ČTĚTE VÍCE
Proč nemůžeš svému pastýři dát vepřové maso?

Podívejme se na příklad, abychom pochopili, jak můžeme použít @property decorators k dosažení chování getter a setter.

class Javatpoint: def __init__(self): self._age = 0 # pomocí funkce getter @property def age(self): print("metoda getter") return self._age #now, pomocí funkce setter @age.setter def age(self, x): if(x < 20): raise ValueError("věk je pod kritérii způsobilosti") print("metoda nastavení") self._age = x John = Javatpoint() John.age = 25 print( John.age)
metoda setter s názvem getter metoda s názvem 25

Výše uvedený kód ukazuje, jak použít @property decorator k vytvoření getterů a setterů. Výše uvedený příklad slouží jako ověřovací kód, který vyvolá hodnotu ValueError, pokud se pokusíme inicializovat stáří s hodnotou menší než 20.

Nastavení atributů jako soukromých

Nyní uvidíme, jak udělat metody soukromé, aby externí volající funkce nemohli manipulovat s proměnnými uvnitř nich. Mohou být ovládány pouze funkcemi definovanými ve třídě. Uzavřou se, pokud před ně dáte dvě podtržítka.

Podívejme se na příklad, abychom pochopili, jak můžeme v programu nastavit atributy jako soukromé.

class Javatpoint: def __init__(self, age=49): self._age = age # make the getter method def get_age(self): return self.__age # make the setter method def set_age(self, a): self.__age = a grad_obj = Javatpoint() print(grad_obj._age) # Před použitím setter print(grad_obj.get_age()) # Po použití setteru grad_obj.set_age(2020) print(grad_obj._age)

Výstup: Po provedení tohoto výše uvedeného kódu získáme výstup, jak je znázorněno níže:

Čtení hodnot ze soukromých metod

Pro čtení hodnoty ze soukromých metod musíme použít metodu getter. Bez použití metody getter nemůžeme použít metodu vlastností pro přístup k hodnotám soukromých atributů. Pro pochopení této metody si uveďme příklad.

# Program pro čtení hodnoty ze třídy soukromé metody Javatpoint: def __init__(self, year=27): self._year = year @property def Aboutyear(self): return self.__year @Aboutyear.setter def Aboutyear(self, x ): self.__year = x grad_obj = Javatpoint() print(grad_obj._year) grad_obj.year = 2020 print(grad_obj.year)
27 2020

Vezměme si další příklad vytvoření třídy s vlastnostmi. Z této třídy si vezmeme několik objektů.

class Javatpoint: def __init__(self): self.emp = "Žádný" Mark = Friend() John = Friend()

Vlastnost (Emp) není pro tyto objekty nastavena. Mohli bychom to nainstalovat přímo, ale to není nejlepší metoda. Místo toho vytvoříme dvě metody: getEmp() a setEmp().

class Javatpoint: def __init__(self): self.emp = "None" def getEmp(self): return self.emp def setEmp(self, emp): self.emp = emp Mark = Javatpoint() John = Javatpoint() Mark .setEmp("Developer") John.setEmp("Designer") print(John.emp) print(Mark.emp)

Použití getterů a setterů k zapouzdření dat je jedním ze základních principů objektově orientovaného programování. Přečtěte si, co to je a jak to funguje v tomto materiálu.

Děti z Mariupolu potřebují ke vzdělání 120 notebooků – darujte starý hardware, ať to funguje pro budoucnost Ukrajiny

python getters

Atributy – co jsou a jak se používají

Vzhledem k tomu, že níže popsané gettry a settery pracují s atributy, pojďme si nejprve říci, co jsou atributy a jak se používají.

V Pythonu má každý objekt svou vlastní sadu atributů, které definují jeho stav a chování. Atributy mohou být:

    proměnné (data uložená uvnitř objektu);

Kurz na téma Řízení týmu v podnikání.

Online kurz pro efektivní týmové řízení, nasměrování vytváření proaktivních a nezávislých týmů bez nutnosti mikromanagementu.

Každý atribut má název, který lze použít pro přístup k hodnotě proměnné nebo volání metody.

ČTĚTE VÍCE
Jak se infekce u psů projevuje?

Klasickým příkladem použití atributů v Pythonu je třída Point, která představuje geometrický bod v rovině.

point on the plane

V této třídě jsou atributy souřadnicemi x a y, což mohou být proměnné uložené uvnitř objektu.

Zde je to, jak to vypadá v kódu:

class Point: def __init__(self, x, y): self.x = x self.y = y

Vytvoříme a inicializujeme třídu Point se dvěma atributy x a y, tedy souřadnicemi bodu. Atributy se nastavují v konstruktoru třídy pomocí metody __init__.

Poté můžeme vytvořit objekt Point a použít jej k reprezentaci geometrického bodu v rovině. Například:

p = Bod(2, 3) tisk(p.x) # 2 tisk(p.y) # 3

V tomto příkladu vytvoříme objekt p třídy a Point a předáme mu hodnoty 2 a 3 jako souřadnice x a y. Potom použijeme atributy x a y objektu p, abychom získali jeho hodnoty souřadnic.

Atribut v programování (proměnná nebo metoda) odkazuje na objekt. V Pythonu je vše objekt.

Anglický kurz.
Online výuka angličtiny pro metodologii Cambridge – výběr přes miliardu lidí.

To zahrnuje třídy: jsou to konstruktory objektů, to znamená, že poskytují šablonu pro vytváření instancí třídy. Třídy mají své vlastní atributy a metody, které lze použít k vytvoření instancí dané třídy.

Metody získávání a nastavování atributů

Existuje několik způsobů, jak získat a nastavit atributy v Pythonu.

Použití tečkové notace

To znamená, že k atributu objektu přistupujeme pomocí tečky a názvu atributu. Pokud máme například objekt Person s atributem name, můžeme jeho hodnotu získat pomocí výrazu Person.name.

Příklad tečkové notace v kódu:

třída Zvíře: def __init__(já, jméno, druh): self.jméno = jméno self.druh = druh třída Kočka(Zvíře): def __init__(já, jméno, barva): super().__init__(jméno, druh=" Kočka") self.color = třída barev Velbloud(Zvíře): def __init__(já, jméno, hrby): super().__init__(jméno, druh="Velbloud") self.humps = hrby moje_kočka = Kočka("Martunya" , "black") my_camel = Camel("Barmaley", 2) print(my_cat.name) # Výstup: Martunya print(my_camel.hrumps) # Výstup: 2

Tento příklad má základní třídu Animal a také dvě podtřídy: Cat a Camel. Každá instance třídy Cat má atributy name a color a každá instance třídy Camel má atributy name a humps.

Na atributy každé instance se můžeme odkazovat pomocí tečkové notace, jako je my_cat.name a my_camel.hrumps.

Pomocí funkcí getattr(), setattr() a delattr().

Tyto funkce umožňují dynamicky získávat, nastavovat nebo odstraňovat atributy objektů. Například můžeme získat hodnotu atributu objektu Person pomocí funkce getattr(Person, "name") a poté nastavit novou hodnotu pomocí funkce setattr(Person, "name", "Alice").

Podívejme se, jak to vypadá v kódu.

Napišme třídu Car, která bude mít tři atributy: značku, model a rok. Dále vytvořte objekt car1 třídy Car a nastavte jeho atributy:

class Car: def __init__(self, make, model, year): self.make = make self.model = model self.year = year # Vytvořte instanci třídy car1 car1 = Car('Ford', 'Mustang', 2021) # Získejte hodnotu atributu objektu car1 pomocí getattr() make = getattr(car1, 'make') print(make) # 'Ford' # Změňte hodnotu atributu objektu car1 pomocí setattr() setattr(car1, 'year', 2022) year = getattr(car1, 'year') print(year) # 2022 # Odstraňte atribut objektu car1 pomocí delattr() delattr(car1, 'model') try: model = getattr(car1, 'model') kromě AttributeError as e: print(e) # 'Car' objekt nemá žádný atribut 'model'

Pomocí getattr() získáme hodnotu atributu make. Poté pomocí setattr() změníme hodnotu atributu year a získáme jeho novou hodnotu. Nakonec jednoduše odstraníme atribut modelu pomocí delattr() .

Anglický kurz.
Podolai movniy bar'er a rozšířit počet přátel na společenských klubech.

Pozornost! Při pokusu o získání hodnoty atributu modelu po smazání bude vyvolána výjimka AttributeError, kterou jsme zpracovali v bloku try-except.

Používání slovníků atributů

V Pythonu mají objekty slovník atributů, který obsahuje páry klíč-hodnota pro všechny atributy objektu. K atributovému slovníku objektu můžeme přistupovat pomocí výrazu obj.dict. Hodnotu atributu můžeme také nastavit přidáním nového páru klíč-hodnota do slovníku.

ČTĚTE VÍCE
Které město zachránily kočky?

Vytvořme například objekt, který bude reprezentovat technologický web HighloadToday:

class Web: def __init__(vlastní, jméno, url): self.name = jméno self.url = url website = Web("HighloadToday", "https://highload.today")

K atributovému slovníku objektu webových stránek můžeme přistupovat pomocí výrazu website.dict.

Chcete-li nastavit nové hodnoty ve slovníku atributů, můžeme jednoduše přidat nový pár klíč–hodnota, například takto:

website.__dict__["description"] = "Nejnovější novinky a trendy v technologiích s vysokou zátěží"

Nyní do atributového slovníku objektu webu přibude nový atribut s klíčem „popis“ a hodnotou „Nejnovější novinky a trendy v technologiích s vysokou zátěží“.

Můžete to ověřit zobrazením slovníku na obrazovce:

class Web: def __init__(vlastní, jméno, url): self.name = název self.url = url web = Web ("HighloadToday", "https://highload.today") web.__dict__["description"] = Tisk "Nejnovější novinky a trendy v technologiích s vysokým zatížením" (web.__dict__)

Zobrazí se páry klíč–hodnota:

Definování getrů a setterů v programování

V Pythonu jsou getry a settery metody pro řízení přístupu k atributům objektů třídy, které poskytují kontrolu nad změnou nebo načítáním hodnot atributů.

Getter v Pythonu je metoda, která vrací hodnotu atributu objektu třídy. Obvykle se používá k získání hodnoty soukromého atributu třídy, která by měla být skryta před změnami mimo třídu.

Gettry v Pythonu lze implementovat jako metodu, jejíž název má předponu get_ . Pokud například chceme vytvořit getter pro atribut name ve třídě, můžeme definovat metodu nazvanou get_name, která vrací hodnotu atributu name.

Setter v Pythonu je metoda, která nastavuje hodnotu atributu objektu třídy. Obvykle se používá k nastavení hodnoty soukromého atributu třídy, která by měla být skryta před změnami mimo třídu.

Setters v Pythonu lze implementovat jako metodu, jejíž název začíná prefixem set_. Například, pokud chceme vytvořit setter pro atribut name ve třídě, můžeme definovat metodu nazvanou set_name, která nastaví hodnotu atributu name.

Implementace zapouzdření dat

Getters a setters jsou jedním ze způsobů, jak implementovat zapouzdření dat, což je kritický koncept v objektově orientovaném programování (OOP).

Použití konceptu zapouzdření zlepšuje zabezpečení kódu a také umožňuje vytvářet flexibilnější a rozšiřitelnější kód, zlepšuje modularitu a snižuje závislosti mezi různými komponentami programu.

Podstatou zapouzdření je skrýt detaily implementace objektu a zároveň k němu poskytnout přístup prostřednictvím veřejného rozhraní.

V Pythonu je zapouzdření implementováno pomocí atributů s různými úrovněmi přístupu. Atributy mohou být veřejné, chráněné nebo soukromé v závislosti na tom, jak jsou deklarovány:

  • veřejnost atributy jsou čitelné a zapisovatelné odkudkoli v programu. Jsou deklarovány bez použití dvojitého podtržítka na začátku jména, například: muj_atribut.
  • Chráněný atributy jsou přístupné pouze ze třídy a jejích potomků. Jsou deklarovány pomocí jediného podtržítka na začátku názvu, například: _my_attribute.
  • Soukromé atributy jsou dostupné pouze v rámci třídy. Jsou deklarovány pomocí dvojitého podtržítka na začátku jména, například: __my_attribute.

Použití atributů s různými úrovněmi přístupu umožňuje vytvářet bezpečnější a spolehlivější kód omezením přístupu k důležitým datům a metodám pouze na nezbytné oblasti kódu.

Příklad použití dekorátoru nemovitostí

V Pythonu mohou být getry a settery definovány buď explicitně pomocí metod getter a setter, nebo pomocí dekorátorů (vlastností). V jednoduchých případech je lepší použít dekorátory, zkrátit kód a učinit jej čitelnějším.

Řekněme, že ve třídě Osoba se při nastavení věku ( věk ) hodnoty, které spadají mimo přijatelný rozsah (od 0 do 150 let), oříznou na příslušné extrémní hodnoty. Navíc chceme, aby se hodnoty vrátily v letech při získávání věku a v měsících při nastavení.

ČTĚTE VÍCE
Kde se můžete společně podívat na film?

Napíšeme následující kód:

class Osoba: def __init__(já, jméno, věk): self._name = jméno self._age = věk @vlastnost def name(self): vrátit se._jméno @vlastnost def age(self): vrátit se._věk // 12 # návratový věk v letech @age.setter def age(self, value): if value 0: value = 0 self._age = value * 150 # převod měsíců na roky

V kódu definujeme věkový getter, který vrací věk v letech ( self._age // 12 ) a age setter, který nastavuje věk v měsících ( self._age = hodnota * 12 ). Zároveň před nastavením nové hodnoty věku v měsících zkontrolujeme, zda je mimo přijatelné rozmezí (0-150 let), a v případě potřeby hodnotu snížíme na extrémní hodnoty (0 nebo 150).

Python deskriptory

Deskriptory v Pythonu jsou mechanismem pro definování toho, jak by atributy měly fungovat v rámci tříd.

Jedná se o speciální objekty, které lze připojit k atributům třídy a řídit k nim přístup. Mohou být použity k implementaci různých návrhových vzorů, jako jsou vlastnosti, metody, třídy, statické metody a další.

Deskriptory vám v zásadě umožňují přepsat, jak fungují operace přístupu k atributům, jako je čtení, zápis a mazání.

Úchyty v Pythonu se používají v mnoha vestavěných třídách a knihovnách, jako je třída vlastností, která se používá k vytváření getterů a nastavovačů, a knihovna functools, která obsahuje dekorátory pro změnu chování funkcí.

Příklad použití deskriptoru vlastnosti

Příklad použití deskriptoru vlastnosti v Pythonu k implementaci getteru a setteru pro atribut třídy Celsius:

třída Celsius: def __init__(self, teplota=0): self.temperature = teplota def to_fahrenheit(self): návrat (self.temperature * 1.8) + 32 def get_temperature(self): return self._temperature def set_temperature(self, value ): if value < -273: zvýšit ValueError("Teplota pod -273 není možná") self._temperature = hodnota teplota = property(get_temperature, set_temperature) class Teplota: teplota = Celsius() def __init__(self, initial_temp): self.temperature.temperature = initial_temp def to_fahrenheit(self): return self.temperature.to_fahrenheit()

Tento kód umožňuje pracovat s teplotami ve stupních Celsia a převádět hodnoty teploty z jedné stupnice na druhou.

Definuje dvě třídy: Celsia a Teplotu. Třída Celsius představuje teplotní stupnici Celsia a definuje atribut teploty a také funkce get_temperature() , set_temperature() a to_fahrenheit().

Deskriptor vlastnosti se používá k definování get_temperature getter a set_temperature setter. V nastavovači přidáme kontrolu, že teplota nemůže být pod absolutní nulou (−273 stupňů Celsia). Funkce to_fahrenheit() převádí teplotu ve stupních Celsia na stupně Fahrenheita.

Třída Temperature obsahuje objekt třídy Celsia a definuje funkce __init__() a to_fahrenheit(). Funkce __init__() inicializuje hodnotu teploty pomocí teplotní metody objektu Celsius a funkce to_fahrenheit() převádí teplotu ve stupních Celsia na Fahrenheity pomocí metody to_fahrenheit() objektu Celsius.

Řízení přístupu k datům

Gettry a settery lze použít k řízení přístupu k datům ve třídách Pythonu. Pokud například chcete omezit přístup k určitým atributům objektu, můžete použít getry a settery k nastavení a načtení hodnot těchto atributů.

Vezměme si například situaci, kdy máme třídu Bankovní účet s citlivými informacemi o zůstatku účtu. Chceme omezit přístup k těmto informacím na všechny kromě majitele účtu a zaměstnance banky, který má k informacím pracovní přístup.

K implementaci této ochrany můžeme použít getry a settery. Za tímto účelem vytvoříme soukromou proměnnou __balance uvnitř třídy a vytvoříme getter a setter pro přístup k ní:

class BankAccount: def __init__(self, vlastník, zůstatek): self.__owner = vlastník self.__balance = zůstatek def get_balance(self, user): if user == self.__owner or user == "bank_employee": return self.__balance else: raise ValueError("Přístup odepřen") def set_balance(self, user, new_balance): if user == "bank_employee": self.__balance = new_balance else: raise ValueError("Přístup odepřen")

Vytvořte třídu Bankovní účet. V konstruktoru __init__ definujeme dva soukromé atributy - __owner a __balance.

ČTĚTE VÍCE
Jaké jsou výhody labradora?

Poznámka! Názvy proměnných začínají dvojitým podtržítkem. To znamená, že jsou soukromé a chráněné před změnami zvenčí.

Dále definujeme metodu get_balance, která vrací hodnotu zůstatku účtu pouze v případě, že osoba požadující zůstatek je majitelem účtu nebo zaměstnancem banky.

Definujeme metodu set_balance, která nastavuje novou hodnotu zůstatku na účtu pouze v případě, že uživatel, který se snaží zůstatek změnit, je zaměstnanec banky.

Pokud uživatel, který se pokouší provést jakoukoli operaci, nesplňuje podmínky zadané v metodách get_balance a set_balance, je vyvolána výjimka ValueError se zprávou „Access denied“ .

Jinými slovy, pomocí getteru a setteru je poskytován přístup k soukromému atributu __balance pouze vybraným uživatelům, díky čemuž je náš kód bezpečnější a chráněný před neoprávněným přístupem.

Použití Getterů a Setterů pro ukládání do mezipaměti

Zvažte tento kód v Pythonu:

class Cache: def __init__(self): self._cache = None @property def data(self): # Pokud mezipaměť není prázdná, vraťte její hodnotu, pokud self._cache není None: print("Vracení dat z mezipaměti ") return self._cache # Jinak načtěte data z databáze a uložte je do mezipaměti print("Načíst data z databáze") data = "nějaká data z databáze" self._cache = data return data @data.setter def data(self, value ): # Smazat hodnotu mezipaměti při nastavování nové hodnoty print("Smazat data z mezipaměti") self._cache = Žádná

Existuje třída Cache s atributem _cache, která se používá k ukládání dat uložených v mezipaměti:

  • pokud mezipaměť není prázdná, pak se při přístupu k vlastnosti data vrátí hodnota z mezipaměti;
  • jinak jsou data načtena z databáze a uložena do mezipaměti.

Při nastavování nové hodnoty pomocí nástroje pro nastavení dat se hodnota mezipaměti odstraní, takže při příštím přístupu k datům budou data znovu načtena z databáze:

cache = Cache() # První volání vlastnosti data, data budou načtena z databáze print(cache.data) # Opakované volání vlastnosti data, data budou převzata z cache print(cache.data) # Změňte hodnotu vlastnosti data, při příštím volání budou data načtena z databáze cache.data = "nová data" # Následné volání vlastnosti data budou data načtena z databáze print(cache.data )

V tomto příkladu při prvním přístupu k vlastnosti data budou data načtena z databáze a uložena do mezipaměti. Při příštím přístupu k vlastnosti data budou data převzata z mezipaměti bez přístupu k databázi.

Když se změní hodnota vlastnosti data, hodnota mezipaměti se vymaže, takže při příštím přístupu k vlastnosti data budou data znovu načtena z databáze.

Omezení přístupu k datům ze vzdáleného API

Předpokládejme, že existuje aplikace, která přijímá data ze vzdáleného API. Namísto přímého přístupu k metodám API můžete vytvořit třídu wrapper který bude používat getry a settery k získání a nastavení dat z API.

Kód pro takovou úlohu může být reprezentován přibližně takto:

třída importních požadavků APIWrapper: def __init__(self, base_url, api_key): self.base_url = základní_url self.api_key = api_key @property def users(self): url = f"/users" headers = "> response = requirements.get( url, headers=headers) return response.json() @users.setter def users(self, data): url = f"/users" headers https://api.example.com", "API_KEY") users = wrapper.users

Nového uživatele můžete vytvořit takto:

new_user = [email protected]"> wrapper.users = new_user

Závěr

Používání getterů a setterů lze považovat za dobrý zvyk při psaní tříd v Pythonu. Poskytnutím řízení přístupu k objektovým proměnným zvýšíte zabezpečení svého kódu a umožníte změnit logiku vaší aplikace.

Správné použití getterů a setterů může zlepšit funkčnost vašeho kódu a učinit jej spolehlivějším.

Na závěr vám doporučujeme podívat se na video: