birincisi:
def f():
print(a+b)
a = 3
b = 2
f()
ikincisi:
def f(a,b):
print(a+b)
a = 3
b = 2
f(a,b)
bana birincisi çalışmamalı gibi geliyor ama çalışıyor. fonksiyona a ve b parametrelerini aktarmıyoruz ama fonksiyon tanımlaması dışında tanımlanan a ve b'yi alıp kullanıyor. fonksiyon argümanlarına konulan adları programın içerisinde değişken adı olarak kullanmamak gerekiyor gibi bir yaklaşım var diye anlıyorum. bu konuda biraz kafa karışık.
teşekkür ederim.
edit: nedense indentler görünmüyor.
def f():
print(a+b)
a = 3
b = 2
f()
ikincisi:
def f(a,b):
print(a+b)
a = 3
b = 2
f(a,b)
bana birincisi çalışmamalı gibi geliyor ama çalışıyor. fonksiyona a ve b parametrelerini aktarmıyoruz ama fonksiyon tanımlaması dışında tanımlanan a ve b'yi alıp kullanıyor. fonksiyon argümanlarına konulan adları programın içerisinde değişken adı olarak kullanmamak gerekiyor gibi bir yaklaşım var diye anlıyorum. bu konuda biraz kafa karışık.
teşekkür ederim.
edit: nedense indentler görünmüyor.
Global varibles olduğu için yazacaktım ama @benaaymi güzelce özetlemiş. Fonksiyon dışında tanımladığınız değişkenler global değerler olup fonksiyon içinde dikkate alındığı ve ulaşılabilir oldukları için kod çalışıyor.
superior
1