การโต้ตอบระหว่างขอบเขตการมองเห็นใน Python

มีกรณีที่ตัวแปรภายนอก (ระดับโลก) และตัวแปรภายใน (ระดับท้องถิ่น) มี ชื่อเดียวกัน:

pythonnum = 1

def func():
  num = 2
  print(num)

ในขณะเดียวกัน สิ่งสำคัญคือต้องเข้าใจว่าตัวแปรท้องถิ่น num แม้ว่าจะมีชื่อเหมือนกับตัวแปรระดับโลก แต่สำหรับ Python แล้วถือเป็นตัวแปรคนละตัว ซึ่งหมายความว่าตัวแปรระดับโลก num จะไม่ ถูกเขียนทับภายในฟังก์ชัน แต่จะรักษา ค่าเริ่มต้นไว้ การเรียกใช้ ฟังก์ชัน func จะแสดงผลในคอนโซล เฉพาะค่าของ num ท้องถิ่นเท่านั้น ส่วน ผ่าน print - จะแสดงค่าของตัวแปร ระดับโลก:

pythonfunc() # จะแสดง 2
print(num) # จะแสดง 1
Задание 1

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:

pythonnum = 10

def func():
  num = 5
  return num

func()
print(num)
Задание 2

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:

pythonnum = 3

def func():
  num = 4
  return num

num = func()
print(num)
Задание 3

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:

pythonnum = 1

def func():
  num = 2
  return 1

num = func()
print(num)
Задание 4

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num1)
Задание 5

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num2)
Задание 6

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:

pythonnum1 = 1

def func():
  num2 = 2

func()
num2 = 3
print(num2)
Задание 7

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:

pythonnum1 = 1
num2 = 2

def func():
  num2 = 3

func()
print(num2)
Задание 8

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้ จะเป็นอย่างไร:

pythonnum1 = 1

def func():
  num1 = 2

print(num1)