JavaScript is required

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)

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