Podcast
Questions and Answers
Trong Python, biến nào sau đây có phạm vi hoạt động chỉ giới hạn bên trong hàm nơi nó được khai báo?
Trong Python, biến nào sau đây có phạm vi hoạt động chỉ giới hạn bên trong hàm nơi nó được khai báo?
- Biến địa phương (local) (correct)
- Biến hằng (constant)
- Biến tĩnh (static)
- Biến toàn cục (global)
Điều gì xảy ra khi bạn cố gắng truy cập một biến địa phương từ bên ngoài hàm mà nó được khai báo trong Python?
Điều gì xảy ra khi bạn cố gắng truy cập một biến địa phương từ bên ngoài hàm mà nó được khai báo trong Python?
- Python sẽ tìm kiếm biến trong các hàm khác.
- Python sẽ báo lỗi NameError. (correct)
- Biến sẽ tự động được tạo ở phạm vi toàn cục.
- Biến sẽ trả về `None`.
Trong Python, biến nào sau đây có thể được truy cập và sửa đổi từ bất kỳ đâu trong chương trình, bao gồm cả bên trong các hàm?
Trong Python, biến nào sau đây có thể được truy cập và sửa đổi từ bất kỳ đâu trong chương trình, bao gồm cả bên trong các hàm?
- Biến cục bộ
- Biến toàn cục (correct)
- Biến địa phương
- Tham số của hàm
Khi một biến toàn cục và một biến địa phương có cùng tên trong một hàm, biến nào sẽ được ưu tiên sử dụng trong hàm đó?
Khi một biến toàn cục và một biến địa phương có cùng tên trong một hàm, biến nào sẽ được ưu tiên sử dụng trong hàm đó?
Để có thể sửa đổi một biến toàn cục bên trong một hàm, bạn cần sử dụng từ khóa nào trong Python?
Để có thể sửa đổi một biến toàn cục bên trong một hàm, bạn cần sử dụng từ khóa nào trong Python?
Xét đoạn code sau:
def my_func():
x = 10
print(x)
x = 5
my_func()
print(x)
Kết quả in ra màn hình sẽ là gì?
Xét đoạn code sau:
def my_func():
x = 10
print(x)
x = 5
my_func()
print(x)
Kết quả in ra màn hình sẽ là gì?
Xét đoạn code sau:
x = 5
def my_func():
global x
x = 10
print(x)
my_func()
print(x)
Kết quả in ra màn hình sẽ là gì?
Xét đoạn code sau:
x = 5
def my_func():
global x
x = 10
print(x)
my_func()
print(x)
Kết quả in ra màn hình sẽ là gì?
Trong Python, nếu một biến được gán giá trị bên ngoài bất kỳ hàm nào, nó được coi là:
Trong Python, nếu một biến được gán giá trị bên ngoài bất kỳ hàm nào, nó được coi là:
Khi nào một biến địa phương bị hủy (giải phóng bộ nhớ) trong Python?
Khi nào một biến địa phương bị hủy (giải phóng bộ nhớ) trong Python?
Lợi ích chính của việc sử dụng biến địa phương thay vì biến toàn cục là gì?
Lợi ích chính của việc sử dụng biến địa phương thay vì biến toàn cục là gì?
Điều gì sẽ xảy ra nếu bạn cố gắng khai báo một biến địa phương và một biến toàn cục có cùng tên trong cùng một phạm vi?
Điều gì sẽ xảy ra nếu bạn cố gắng khai báo một biến địa phương và một biến toàn cục có cùng tên trong cùng một phạm vi?
Cho đoạn code sau:
def func():
x = 10
def inner_func():
nonlocal x
x = 20
inner_func()
return x
print(func())
Đoạn code trên in ra kết quả gì?
Cho đoạn code sau:
def func():
x = 10
def inner_func():
nonlocal x
x = 20
inner_func()
return x
print(func())
Đoạn code trên in ra kết quả gì?
Khi nào nên sử dụng biến toàn cục trong Python?
Khi nào nên sử dụng biến toàn cục trong Python?
Điều gì xảy ra nếu bạn khai báo một biến bên trong một hàm mà không sử dụng từ khóa global
hoặc nonlocal
, và không có biến nào cùng tên ở phạm vi ngoài?
Điều gì xảy ra nếu bạn khai báo một biến bên trong một hàm mà không sử dụng từ khóa global
hoặc nonlocal
, và không có biến nào cùng tên ở phạm vi ngoài?
Biến nào sau đây có thể được sử dụng mà không cần khai báo trước?
Biến nào sau đây có thể được sử dụng mà không cần khai báo trước?
Cho đoạn code sau:
def outer_func():
x = "hello"
def inner_func():
x = "world"
inner_func()
return x
print(outer_func())
Đoạn code trên in ra kết quả gì?
Cho đoạn code sau:
def outer_func():
x = "hello"
def inner_func():
x = "world"
inner_func()
return x
print(outer_func())
Đoạn code trên in ra kết quả gì?
Cho đoạn code sau:
def outer_func():
x = "hello"
def inner_func():
nonlocal x
x = "world"
inner_func()
return x
print(outer_func())
Đoạn code trên thay đổi như sau:
def outer_func():
x = "hello"
def inner_func():
global x
x = "world"
inner_func()
return x
print(outer_func())
Đoạn code trên in ra kết quả gì?
Cho đoạn code sau:
def outer_func():
x = "hello"
def inner_func():
nonlocal x
x = "world"
inner_func()
return x
print(outer_func())
Đoạn code trên thay đổi như sau:
def outer_func():
x = "hello"
def inner_func():
global x
x = "world"
inner_func()
return x
print(outer_func())
Đoạn code trên in ra kết quả gì?
Trong Python, khai báo biến toàn cục trong một hàm khi nào sẽ gây ra lỗi?
Trong Python, khai báo biến toàn cục trong một hàm khi nào sẽ gây ra lỗi?
Trong Python, điều gì sẽ xảy ra nếu bạn cố gắng thay đổi giá trị của một biến toàn cục bên trong một hàm mà không sử dụng từ khóa global
?
Trong Python, điều gì sẽ xảy ra nếu bạn cố gắng thay đổi giá trị của một biến toàn cục bên trong một hàm mà không sử dụng từ khóa global
?
Phạm vi của biến có ảnh hưởng lớn nhất đến yếu tố nào của chương trình?
Phạm vi của biến có ảnh hưởng lớn nhất đến yếu tố nào của chương trình?
Flashcards
Phạm vi của biến là gì?
Phạm vi của biến là gì?
Phạm vi hoạt động của biến trong chương trình và hàm.
Phạm vi của biến trong hàm
Phạm vi của biến trong hàm
Các biến chỉ có thể được sử dụng bên trong hàm mà chúng được khai báo.
Biến khai báo ngoài hàm
Biến khai báo ngoài hàm
Một biến được khai báo bên ngoài hàm có thể được truy cập từ bên trong hàm, nhưng giá trị của nó không thể thay đổi trừ khi sử dụng từ khóa global
.
Khai báo biến global
Khai báo biến global
Signup and view all the flashcards
Viết hàm chọn lọc
Viết hàm chọn lọc
Signup and view all the flashcards
Hàm tách và chuyển đổi từ
Hàm tách và chuyển đổi từ
Signup and view all the flashcards
Str.upper() là gì?
Str.upper() là gì?
Signup and view all the flashcards
Str.lower() là gì?
Str.lower() là gì?
Signup and view all the flashcards
Str.title() là gì?
Str.title() là gì?
Signup and view all the flashcards
Study Notes
Bài 28: Phạm Vi Của Biến
- Bài học này dành cho môn Tin Học lớp 10, dự kiến kéo dài 2 tiết.
Mục tiêu bài học:
- Kiến thức: Hiểu và trình bày phạm vi hoạt động của biến trong chương trình và hàm.
- Kỹ năng: Tự chủ học tập, giao tiếp, hợp tác, sáng tạo và giải quyết vấn đề.
- Phẩm chất: Yêu cầu sự nghiêm túc, tập trung và chủ động.
Chuẩn bị cho bài học:
- Sách giáo khoa (Sgk), sách bài tập (Sbt) và giáo án.
Hoạt động khởi động:
- Mục tiêu: Tạo hứng thú học tập.
- Học sinh sử dụng kiến thức hiện có để trả lời các câu hỏi gợi mở từ giáo viên.
- Biến được khai báo trong chương trình chính (ngoài hàm) có dùng được trong hàm không?
- Biến khai báo trong hàm có dùng được bên ngoài hàm không?
- Bài học sẽ giúp làm sáng tỏ các câu hỏi này.
Phạm vi của biến khai báo trong hàm:
- Biến khai báo bên trong hàm chỉ có hiệu lực bên trong hàm đó
- Chương trình chính không thể truy cập các biến này.
- Các biến bên ngoài hàm có thể được sử dụng hoặc bị thay đổi trong một hàm.
- Nếu sau khi thực thi hàm mà các biến không thay đổi, điều đó cho thấy biến đó chỉ có trong hàm
- Biến
n
chỉ có tác dụng trong hàmfunc
; gọi nó bên ngoài hàm sẽ gây ra lỗiNameError
. - Trong Python, biến khai báo trong hàm có tính địa phương (cục bộ), không có hiệu lực bên ngoài hàm.
- Nếu có lệnh:
a, b = 1, 2
- Định nghĩa hàm
f(a, b)
như sau:
def f(a, b): a = a + b b = b * a return a + b
- Giá trị của
a
vàb
sau khi thực hiệnf(1, 2)
hoặcf(10, 20)
sẽ là bao nhiêu?
- Có thể khai báo biến trùng tên bên trong hàm so với bên ngoài.
Phạm vi của biến khai báo ngoài hàm:
-
Biến khai báo bên ngoài hàm không có tác dụng bên trong hàm trừ khi dùng từ khóa
global
. -
Bên trong hàm có thể truy cập giá trị của biến khai báo trước đó ở bên ngoài hàm.
-
Ví dụ, với:
def f(n):
t = n + 1
return t
t = 10
f(5) # Kết quả: 6
t # Kết quả: 10
-
Biến
t
bên ngoài hàm không bị ảnh hưởng bởi hàmf(n)
. -
Ví dụ, với:
def f(a, b):
return a + b + N
N = 10
f(1, 2) # Kết quả: 13
-
Giá trị N được lấy từ biến ngoài hàm
-
Để một biến bên ngoài có tác dụng bên trong hàm, cần khai báo lại biến trong hàm với từ khóa
global
. -
Biến khai báo bên ngoài hàm chỉ có thể truy cập giá trị để sử dụng bên trong hàm mà không làm thay đổi giá trị của biến đó (trừ khi dùng
global
).
Ví dụ về sử dụng global
:
def f(n):
global t
t = 2 * n + 1
return t
t = 10
f(1) # Kết quả: 3
t # Kết quả: 3
- Nếu hàm
f(x, y)
được định nghĩa như sau:
def f(x, y):
a = 2 * (x + y)
print(a + n)
- Kết quả in ra khi thực hiện các lệnh sau là gì?
n = 10
f(1, 2)
Thực hành:
- Mục tiêu: Rèn kỹ năng lập trình liên quan đến phạm vi biến.
Nhiệm vụ 1:
-
Viết hàm nhận danh sách
A
các số và một số thựcx
. -
Hàm trả về danh sách
B
chỉ chứa các phần tử củaA
lớn hơn hoặc bằngx
. -
Hướng dẫn: Khởi tạo danh sách
B
trong hàm và thêm các phần tử thỏa mãn điều kiện.def Select(A, x): B = [] for k in range(len(A)): if A[k] >= x: B.append(A[k]) return B
Nhiệm vụ 2:
- Viết hàm nhận xâu ký tự
Str
và sốc
. - Hàm trả về danh sách các từ tách từ
Str
, chuyển đổi theo giá trị củac
:c = 0
: Chuyển thành chữ in hoa.c = 1
: Chuyển thành chữ in thường.c = 2
: Chuyển ký tự đầu mỗi từ thành chữ in hoa.
- Hướng dẫn: Dùng
split()
để tách từ và các hàmupper()
,lower()
,title()
để chuyển đổi.
Nhiệm vụ 3:
- Viết chương trình:
- Nhập dãy số nguyên từ bàn phím (cách nhau bởi dấu cách), chuyển vào danh sách
A
, inA
. - Trích các phần tử lớn hơn 0 từ
A
vào danh sáchB
, inB
. - Trích các phần tử nhỏ hơn 0 từ
A
vào danh sáchC
, inC
.
- Mỗi bước thực hiện bằng một hàm riêng.
Luyện tập và vận dụng:
- Viết hàm có đầu vào là danh sách các xâu ký tự (
slist
), trả về danh sách các ký tự đầu tiên của mỗi xâu trongslist
(clist
). - Viết hàm
Tach_day(A)
:
- Tách danh sách
A
thành hai danh sáchB
vàC
. - Danh sách
B
chứa các phần tử ở vị trí chẵn củaA
. - Danh sách
C
chứa các phần tử ở vị trí lẻ củaA
.
Vận dụng:
- Viết hàm với đầu vào
m
,n
, trả về ước chung lớn nhất (ƯCLN) và bội chung nhỏ nhất (BCNN) củam
,n
.
- Gợi ý: Sử dụng công thức
ƯCLN(m, n) * BCNN(m, n) = m * n
.
- Viết chương trình nhập ngày, tháng, năm (day, month, year) từ bàn phím và kiểm tra tính hợp lệ của dữ liệu nhập vào.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.