การโต้ตอบระหว่างขอบเขตการมองเห็นใน Python
มีกรณีที่ตัวแปรภายนอก (ระดับโลก) และตัวแปรภายใน (ระดับท้องถิ่น) มี ชื่อเดียวกัน:
num = 1
def func():
num = 2
print(num)
ในขณะเดียวกัน สิ่งสำคัญคือต้องเข้าใจว่าตัวแปรท้องถิ่น num
แม้ว่าจะมีชื่อเหมือนกับตัวแปรระดับโลก
แต่สำหรับ Python แล้วถือเป็นตัวแปรคนละตัว
ซึ่งหมายความว่าตัวแปรระดับโลก num จะไม่
ถูกเขียนทับภายในฟังก์ชัน แต่จะรักษา
ค่าเริ่มต้นไว้ การเรียกใช้
ฟังก์ชัน func จะแสดงผลในคอนโซล
เฉพาะค่าของ num ท้องถิ่นเท่านั้น ส่วน
ผ่าน print - จะแสดงค่าของตัวแปร
ระดับโลก:
func() # จะแสดง 2
print(num) # จะแสดง 1
ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:
num = 10
def func():
num = 5
return num
func()
print(num)
ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:
num = 3
def func():
num = 4
return num
num = func()
print(num)
ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:
num = 1
def func():
num = 2
return 1
num = func()
print(num)
ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:
num1 = 1
def func():
num2 = 2
func()
print(num1)
ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:
num1 = 1
def func():
num2 = 2
func()
print(num2)
ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:
num1 = 1
def func():
num2 = 2
func()
num2 = 3
print(num2)
ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:
num1 = 1
num2 = 2
def func():
num2 = 3
func()
print(num2)
ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:
num1 = 1
def func():
num1 = 2
print(num1)