Khẳng định nào là đúng về chương trình dưới đây?
class A:
def __init__(self):
self.x = 1
self.__y = 1
def getY(self):
return self.__y
a = A()
a.x = 45
print(a.x)
class A:
def __init__(self):
self.x = 1
self.__y = 1
def getY(self):
return self.__y
a = A()
a.x = 45
print(a.x)
A.
Chương trình có lỗi xảy ra vì ' x ' là thuộc tính private, không thể truy cập được từ bên ngoài lớp.
B.
Chương trình chạy bình thường và kết quả được in ra là 1.
C.
Chương trình có lỗi xảy ra vì ' __y ' là thuộc tính private, không thể truy cập được từ bên ngoài lớp.
D.
Chương trình chạy bình thường và kết quả được in ra là 4
Trả lời:
Đáp án đúng: D
Chương trình Python này định nghĩa một lớp `A` với một thuộc tính công khai `x` và một thuộc tính riêng tư `__y`. Thuộc tính `x` được khởi tạo là 1, sau đó được gán lại giá trị 45 bên ngoài lớp. Thuộc tính `__y` là một thuộc tính private (được biểu thị bằng tiền tố `__`), nhưng nó không gây ra lỗi trong trường hợp này vì nó chỉ được truy cập bên trong lớp thông qua phương thức `getY`. Câu lệnh `print(a.x)` sẽ in giá trị của `a.x`, mà đã được gán bằng 45. Vì vậy, chương trình chạy bình thường và in ra 45. Tuy nhiên, không có đáp án nào chính xác hoàn toàn. Đáp án D gần đúng nhất, nhưng kết quả in ra phải là 45 chứ không phải 4. Do đó, cần phải xem xét lại các đáp án hoặc chỉnh sửa câu hỏi.
Tổng hợp 200 câu hỏi trắc nghiệm lập trình Python có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
50 câu hỏi 60 phút
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
