Tiết 45 + 46
BÀI 28: PHẠM VI CỦA BIẾN (KNTTVCS)
Phạm vi của biến khai báo trong hàm Python
Xét đoạn chương trình 1:
# Phần khai báo hàm
def Ham(a, b):
a = a * 2
b = a + b
n = 10
return a + b + n
# Phần chương trình chính
a, b = -1, 2
print('Kết quả sau khi gọi hàm:')
print('Giá trị hàm:', Ham(a, b))
print('Giá trị a =', a)
print('Giá trị b =', b)
print('Giá trị n =', n) # Dòng này sẽ gây lỗi NameError vì n chỉ được định
nghĩa trong hàm Ham
|
Kết quả sau khi gọi hàm: Giá trị
hàm: 9 Giá trị
a = -1 Giá trị
b = 2 (Dòng print n bị lỗi) |
Xét đoạn chương trình 2:
# Phần khai báo hàm
def Ham(a, b):
a = a + b
b = b * a
print('- Giá trị a trong hàm:',
a)
print('- Giá trị b trong hàm:',
b)
# Phần chương trình chính
a, b = 1, 2
print('Kết quả sau khi gọi hàm:')
Ham(a, b)
print('Giá trị a =', a)
print('Giá trị b =', b)
|
Kết quả sau khi gọi hàm: - Giá
trị a trong hàm: 3 - Giá
trị b trong hàm: 6 Giá trị
a = 1
Giá trị
b = 2 |
Xét đoạn chương trình 3:
# Phần khai báo hàm
def Ham():
a = 10
b = 5
print(a, '+', b, '=', a +
b)
# Phần chương trình chính
a, b = 7, -3
print('Kết quả sau khi gọi hàm:', end = ' ')
Ham()
print('Giá trị a =', a)
print('Giá trị b =', b)
|
Kết quả sau khi gọi hàm: 10 + 5 = 15 Giá trị
a = 7
Giá trị
b = -3 |
Xét đoạn chương trình 4:
# Phần khai báo hàm
def Ham(n):
t = n + 1
return t
# Phần chương trình chính
t = 10
print('Giá trị của t trong hàm:', Ham(3))
print('Giá trị của t ngoài hàm:', t)
|
Kết quả sau khi gọi hàm: Giá trị của t trong hàm: 4 Giá trị của t ngoài hàm: 10 |
Xét đoạn chương trình 5:
# Phần khai báo hàm
def Ham(a, b):
return a + b + n # Sử dụng biến n toàn cục
# Phần chương trình chính
n = 3
print('Kết quả sau khi gọi hàm:', Ham(1, 2))
|
Kết quả sau khi gọi hàm: 6 |
Xét đoạn chương trình 6:
# Phần khai báo hàm
def Ham(n):
global t # Khai báo sử dụng biến t toàn cục
t = 2 * n + 1
return t
# Phần chương trình chính
t = 3
print('Giá trị của t bên trong hàm:', Ham(2))
print('Giá trị của t bên ngoài hàm:', t)
|
Kết quả sau khi gọi hàm: Giá trị của t bên trong hàm: 5 Giá trị của t bên ngoài hàm: 5 |