kako pozvati metodu u istoj klasi


Odgovor 1:

Budući da je li varijabla klase, koristite je sa sobom da biste joj pristupili unutar bilo koje metode u klasi.

# uzorak koda razred Glavna: def __init __ (samo): self.my_var = Nema def set_value (self): self.my_var = "Postavi vrijednost objekta my_var" def get_value (self): vrati se self.my_var# stvori objekt glavnogm = Glavni ()ispis (m.get_value ())

Alternativno možete izvesti neku neovisnu operaciju u jednoj funkciji i vratiti je u upotrebu u drugoj funkciji kao:

def do_some_stuff (): lst = [] za i u rasponu (5): lst.append (i) # vrati ovaj izmijenjeni popis povratak lst# koristi popis u drugoj funkcijidef print_lst (): lst = do_some_stuff () za stavku na prvom mjestu: ispis (stavka)

Odgovor 2:
razred cmain: li = [] def _init_ (samo): self.li = [] vratiti se.li def mthd (samo): za i u rasponu (6): self.li.append (i) def mthd2 (samo): za j u rasponu (6): print ("Vrijednost popisa + 1 je {} {}". format (self.li, int (self.li [j]) + 1))obj = cmain ()obj.mthd ()obj.mthd2 ()

Ovdje se pristupa Vašem Popisu i neke se vrijednosti svaki put dodaju +1 u odgovarajuću stavku popisa u tom indeksu ....

Nadam se da ovo pomaže!!!


Odgovor 3:

Možete ga nazvati samo pomoću sebe.

razred Glavna: def __init __ (samo): self.li = [] def metoda_1 (samo): za n u rasponu (6): self.li.append (n) def metoda_2 (samo): ispisati sebe.liobject1 = Main ()object1.method_1 ()object1.method_2 ()

Izlaz:

[0, 1, 2, 3, 4, 5]

Odgovor 4:

Ovo je ono što želite:

def defineAList ():

lokalni_popis = ['1', '2', '3']

print "U svrhu provjere: u defineAList, popis je", local_list

vrati local_list

def useTheList (prosli_popis):

print "U svrhu provjere: u useTheList, popis je", pass_list

def glavni ():

# vraćeni popis se zanemaruje

return_list = defineAList ()

# pass_list unutar useTheList postavljen je na ono što se vraća iz defineAList

useTheList (vraćeni_popis)

glavni()

Možete čak preskočiti privremeni povratni_popis i vratiti vrijednost izravno u useTheList:

def glavni ():

# pass_list unutar useTheList postavljen je na ono što se vraća iz defineAList

useTheList (defineAList ())


Odgovor 5:

kada ste napisali self.li, tada je li dio instance date klase. Budući da je i metoda_2 (samo) dio iste klase, možete pristupiti i li u metodi_2 (samo) pisanjem self.li u metodu_2 (samo).

u method_2 (self), samo trebate napisati self.li da biste mu pristupili.

def metoda_2 (samo): za x u sebi.li: ispis xizlaz:0123456

Odgovor 6:

Dodani popis pridružen je instanci klase i stoga ga možete normalno koristiti

sebe.li

sebe.