Aktywne Wpisy

normalnychopok +432

Notakaprawda +179
Czemu Bolak zawsze musi przepłacać?
Ty płać 9600zł i dostaniesz kuponik na zegarek -500zł który kosztuje 3250zł (xD) a dla Pana Niemca mamy supercenkę 5813zł, albo 6605zł razem ze słuchawkami za 860zł. Zdjęcie w komentarzu. #patologiazmiasta #polska #heheszki
Ty płać 9600zł i dostaniesz kuponik na zegarek -500zł który kosztuje 3250zł (xD) a dla Pana Niemca mamy supercenkę 5813zł, albo 6605zł razem ze słuchawkami za 860zł. Zdjęcie w komentarzu. #patologiazmiasta #polska #heheszki
źródło: 1000034593
Pobierz





jeśli tworzymy instancje klasy to:
self.name = name
robimy po to, żeby mieć dostęp do tego name poprzez zmienna.name ?
to mogę potem w metodzie klasy:
def metoda(self, zmienna):
?
class Test:____def __init__(self, name)________self.name = nametestźródło: comment_1655539825I7nH4fLPwUbIyJRJZwg1Yx.jpg
Pobierzhttps://medium.com/swlh/oop-basics-class-vs-instance-attributes-in-python3-7a6cfb577282
źródło: comment_1655540380c1zA1ETjh4kGnQzlrXVPKH.jpg
Pobierzczy to będzie działać?
https://pastebin.com/dQtX7Djz
__init__()jest specjalna funkcja i definiuje argumenty wymagane podczas iniicjalizacji instancji obiektu. Wtedy mozesz uzywac atrybutow takiej instancji z zaprogramowanymi wartosciami. Wewnatrz klasy wlasciwe jej metody i atrybuty adresujesz poprzezself. Co oznacza, ze chcesz uzyc atrybutow tej konkretnej instancji.czyli jak chcę używać zmiennych z _init_ w metodzie to muszę zrobić:
self.zmienna = zmienna
i w metodzie używać self.zmienna? muszę to podawać jako argument metody?
https://pastebin.com/SA3C0XAZ
__init__()i kazac definiowac instancje wg przepisu z init (wtedy konstruktor bedzie wymagal tych wlasnie atrybutow na dzien dobry).Druga opcja, to zostawic init pusty, albo go nie definiowac nawet i dynamicznie dodawac atrybuty i ich wartosci do instancji.
1. Podejscie nr.
dodajemy do instancji klasy self.name = "adam" tak?
@mizantrol: Chodzi o podstawy OOP - obiektowego paradygmatu. Tworzysz "obiekty", czyli twory będące polaczeniem danych (atrybutów) i. funkcji, operacji, które można na tych danych przeprowadzić. Jeżeli masz klasę Test, która wymaga podczas inicjalizacji podania atrybutu "name", to znaczy, że możesz stworzyć wiele różnych obiektów według tego przepisu.
i w metodach jedynie self jako argument?
@mizantrol: Możesz, ale to nie będzie zmienna z
__init__, scope zawęża się do metody i będzie rozpatrywał pewną zmienną (którą musisz podać) wewnątrz tej funkcji.W uproszczeniu - tak.
def _init(self, name, word):
self.name = name
self.word
self.name- atrybut dla całej instancji.zmienna = Klasa("jeden", "dwa")
print(zmienna.name)
# da
To samo będzie jak zrobisz:
zmienna.name = "znowucosinnego"