• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Zmienne w funkcji PYTHON

+1 głos
746 wizyt
pytanie zadane 14 czerwca 2021 w Python przez Zabijaka2002 Nowicjusz (200 p.)
zamknięte 16 czerwca 2021 przez Zabijaka2002

Witam,

wiem, że to kuriozalne pytanie ale nigdzie nie mogłem znaleźć odpowiedzi.

Dlaczego w definiowanej funkcji możemy odwoływać się do zmiennych spoza niej, nawet gdy nie podajemy ich nazw w argumentach funkcji?

przykład: 

def ok():
    print(x)
x = 1
ok()

 

komentarz zamknięcia: Dostałem wyczerpującą odpowiedź
komentarz 14 czerwca 2021 przez manjaro Nałogowiec (37,390 p.)


A spróbuj zmienić wewnątrz funkcji wartość zmiennej x

 

def ok():
    print(x)
    x += 1
    print(x)
x = 1
ok()

 

1 odpowiedź

+2 głosów
odpowiedź 14 czerwca 2021 przez MsMaciek123 Pasjonat (24,760 p.)
wybrane 14 czerwca 2021 przez Zabijaka2002
 
Najlepsza
Zmienna x w twoim przykładzie, jest zmienną globalną. Takie zmienne są widoczne z każdego miejsca (https://pl.wikipedia.org/wiki/Zmienna_globalna)
komentarz 14 czerwca 2021 przez Zabijaka2002 Nowicjusz (200 p.)
Dzięki!
W innych językach zmienne pisane w ten sposób też są globalne?
komentarz 18 czerwca 2021 przez MsMaciek123 Pasjonat (24,760 p.)
To zależy od języku. W C++ musisz przed zmiennymi pisać jej typ (int, string, float), ale głównie to tak, jeśli chcesz, żeby w C++ zmienna była globalna, to nie może być ona w żadnej funkcji itd.

Podobne pytania

+1 głos
1 odpowiedź 966 wizyt
+1 głos
1 odpowiedź 538 wizyt
pytanie zadane 25 lutego 2020 w Python przez PIxEL Nowicjusz (180 p.)
0 głosów
1 odpowiedź 130 wizyt
pytanie zadane 5 listopada 2019 w Python przez ME4A Nowicjusz (170 p.)

93,600 zapytań

142,525 odpowiedzi

322,993 komentarzy

63,085 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...