Portál AbcLinuxu, 5. května 2025 21:26

Dotaz: Python - funkce a proměnná

3.12.2015 06:25 zdenek
Python - funkce a proměnná
Přečteno: 593×
Odpovědět | Admin
Jak po kliknutí na tlačítko získat hodnotu proměnné mimo funkci ? Viz zjednodušený příklad:

from Tkinter import *
A = 0
def funkce(i):
    global A; A = 1

print A   # Nic - hodnota promenne A se po kliknuti nevytiskne mimo funkci

main = Tk()
Button(text="Klikni", command=lambda: funkce(1)).pack()
main.mainloop()

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.12.2015 06:42 zdenek
Rozbalit Rozbalit vše Re: Python - funkce a proměnná
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pochopitelně, místo A = 1 může být takřka cokoliv, třeba A = 23756 nebo i řetězec, např. A ="Ahoj" apod. Prostě cokoliv, co chci proměnné A přiřadit.
3.12.2015 10:04 poko | skóre: 9
Rozbalit Rozbalit vše Re: Python - funkce a proměnná
Odpovědět | | Sbalit | Link | Blokovat | Admin
cele je to volajake divne pre mna ale ak ti ide iba o to aby sa po kliku na button zavolal aj print tak ho musis dat do funkcie 'funkce' (odsadit)
def funkce(i):
    global A; A = 1 

    print A   # po kliku sa zavola aj toto
3.12.2015 10:18 poko | skóre: 9
Rozbalit Rozbalit vše Re: Python - funkce a proměnná
eh.. este parkrat som precital tu otazku a ty to asi chces fakt mimo tej funkcie. A preco by sa ten print mal vobec zavolat? on sa mimo tej fcie zavola pri spusteni toho skriptu ale nie je ziadny dovod preco by sa to malo volat aj niekedy inokedy.
Jendа avatar 3.12.2015 15:59 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Python - funkce a proměnná
Odpovědět | | Sbalit | Link | Blokovat | Admin
: A = 0

: def funkce(i):
...:     global A; A = 1 
...:     

: funkce(666)

: print(A)
1
Mně to funguje.
3.12.2015 18:57 zdenek
Rozbalit Rozbalit vše Re: Python - funkce a proměnná
Jasně, ale nechci tu funkci volat.

Zeptám se jinak. Proč globální proměnná není automaticky dostupná mimo funkci ?

Jendа avatar 3.12.2015 19:12 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Python - funkce a proměnná
Proč globální proměnná není automaticky dostupná mimo funkci ?
Globální proměnná je normálně dostupná v globálním kontextu („mimo funkce“)
Jendа avatar 3.12.2015 19:13 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Python - funkce a proměnná
Asi budeš muset podrobněji popsat, co přesně očekáváš a co to dělá, protože už to tu dva lidé zjevně nepochopili.
12.12.2015 12:08 Snow
Rozbalit Rozbalit vše Re: Python - funkce a proměnná
A proc by mela bejt dostupna kdyz tu funkci nepouzivas? ta promena resp odkaz se nastavi v dobe kdyz prave funkci zavolas, jinak ne. Je to stejnej smysl jako by si chtel aby se ti ta funkce provedla kdyz si ji nezavolal, navic davat ve funkci promenou jako globalni je pitomost, od toho preci funkce a tridy sou, sby meli svuj vlastni svet, jestli chces aby byla promena dostupna i jinde dej ji o krok vejs...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.