Hướng dẫn which of the following is false about private class members in python - điều nào sau đây là sai về các thành viên lớp riêng trong python

Tập hợp các câu hỏi và câu trả lời trắc nghiệm (MCQ) này tập trung vào việc đóng gói.

1. Cái nào trong số này không phải là một tính năng cơ bản của OOP? a) Đóng gói b) Kế thừa c) khởi tạo d) Đa hình
a) Encapsulation
b) Inheritance
c) Instantiation
d) Polymorphism
View Answer

Trả lời: C Giải thích: Bắt đầu chỉ đơn giản là đề cập đến việc tạo ra một ví dụ của lớp. Nó không phải là một tính năng cơ bản của OOP.
Explanation: Instantiation simply refers to creation of an instance of class. It is not a fundamental feature of OOP.

2. Điều nào sau đây là định nghĩa phù hợp nhất để đóng gói? a) Khả năng của một lớp để lấy các thành viên của một lớp khác là một phần của định nghĩa riêng b) Phương tiện của các biến và phương thức đóng gói để hạn chế quyền truy cập vào một số thành viên lớp c) tập trung vào các biến và chuyển các biến cho các hàm D) Cho phép triển khai phần mềm thanh lịch được thiết kế tốt và dễ dàng sửa đổi câu trả lời
a) Ability of a class to derive members of another class as a part of its own definition
b) Means of bundling instance variables and methods in order to restrict access to certain class members
c) Focuses on variables and passing of variables to functions
d) Allows for implementation of elegant software that is well designed and easily modified
View Answer

Trả lời: B Giải thích: Các giá trị được gán bởi hàm tạo cho các thành viên lớp được sử dụng để tạo đối tượng.
Explanation: The values assigned by the constructor to the class members is used to create the object.

3. Đầu ra của mã Python sau đây là gì?

class Demo:
    def __init__(self):
        self.a = 1
        self.__b = 1
 
    def display(self):
        return self.__b
obj = Demo()
print(obj.a)

a) chương trình có lỗi vì không có bất kỳ chức năng nào để trả về self ) Chương trình có lỗi vì bạn không thể đặt tên cho thành viên lớp bằng cách sử dụng câu trả lời __BView
b) The program has an error because b is private and display(self) is returning a private member
c) The program runs fine and 1 is printed
d) The program has an error as you can’t name a class member using __b
View Answer

Trả lời: C Giải thích: Chương trình không có lỗi vì thành viên lớp được công khai được in. 1 được hiển thị. Thực thi trong vỏ Python để xác minh.
Explanation: The program has no error because the class member which is public is printed. 1 is displayed. Execute in python shell to verify.

4. Đầu ra của mã Python sau đây là gì?

class Demo:
    def __init__(self):
        self.a = 1
        self.__b = 1
 
    def display(self):
        return self.__b
 
obj = Demo()
print(obj.__b)

a) chương trình có lỗi vì không có bất kỳ chức năng nào để trả về self.a b) chương trình có lỗi vì B là riêng tư và hiển thị (tự) đang trả lại một thành viên riêng c) chương trình có lỗi vì B là riêng tư và do đó không thể in d) Chương trình chạy tốt và 1 được in câu trả lời
b) The program has an error because b is private and display(self) is returning a private member
c) The program has an error because b is private and hence can’t be printed
d) The program runs fine and 1 is printed
View Answer

Trả lời: C Giải thích: Các biến bắt đầu bằng hai dấu gạch dưới được cho là thành viên tư nhân của lớp và họ có thể được truy cập trực tiếp.
Explanation: Variables beginning with two underscores are said to be private members of the class and they can’t be accessed directly.

5. Các phương thức của một lớp cung cấp quyền truy cập cho các thành viên tư nhân của lớp được gọi là ______ và ______ a) Getters/setters b) __repr __/__ str__ c) Các hàm do người dùng xác định
a) getters/setters
b) __repr__/__str__
c) user-defined functions/in-built functions
d) __init__/__del__
View Answer

Trả lời: Giải thích: Mục đích của getters và setters là để nhận (return) và set (gán) các biến thể hiện riêng của một lớp.
Explanation: The purpose of getters and setters is to get(return) and set(assign) private instance variables of a class.

6. Cái nào trong số này là trường dữ liệu riêng?

def Demo:
def __init__(self):
    __a = 1
    self.__b = 1
    self.__c__ = 1
    __d__= 1

a) __a b) __b c) __c__ d) __d__view Trả lời
b) __b
c) __c__
d) __d__
View Answer

Trả lời: B Giải thích: Các biến như bản thân .__ B là thành viên riêng của lớp.
Explanation: Variables such as self.__b are private members of the class.

7. Đầu ra của mã Python sau đây là gì?

class Demo:
     def __init__(self):
         self.a = 1
         self.__b = 1
 
     def get(self):
         return self.__b
 
obj = Demo()
print(obj.get())

a) chương trình có lỗi vì không có bất kỳ chức năng nào để trả về self.a b) chương trình có lỗi vì B là riêng tư và hiển thị (tự) đang trả lại một thành viên riêng c) chương trình có lỗi vì B là riêng tư và do đó không thể in d) Chương trình chạy tốt và 1 được in câu trả lời
b) The program has an error because b is private and display(self) is returning a private member
c) The program has an error because b is private and hence can’t be printed
d) The program runs fine and 1 is printed
View Answer

Trả lời: C Giải thích: Các biến bắt đầu bằng hai dấu gạch dưới được cho là thành viên tư nhân của lớp và họ có thể được truy cập trực tiếp.
Explanation: Here, get(self) is a member of the class. Hence, it can even return a private member of the class. Because of this reason, the program runs fine and 1 is printed.

5. Các phương thức của một lớp cung cấp quyền truy cập cho các thành viên tư nhân của lớp được gọi là ______ và ______ a) Getters/setters b) __repr __/__ str__ c) Các hàm do người dùng xác định

class Demo:
     def __init__(self):
         self.a = 1
         self.__b = 1
     def get(self):
         return self.__b
obj = Demo()
obj.a=45
print(obj.a)

Trả lời: Giải thích: Mục đích của getters và setters là để nhận (return) và set (gán) các biến thể hiện riêng của một lớp.
b) The program has an error because the value of members of a class can’t be changed from outside the class
c) The program runs properly and prints 1
d) The program has an error because the value of members outside a class can only be changed as self.a=45
View Answer

6. Cái nào trong số này là trường dữ liệu riêng?
Explanation: It is possible to change the values of public class members using the object of the class.

a) __a b) __b c) __c__ d) __d__view Trả lời
a) True
b) False
View Answer

Trả lời: B Giải thích: Các biến như bản thân .__ B là thành viên riêng của lớp.
Explanation: Private members of a class are accessible if written as follows: obj._Classname__privatemember. Such renaming of identifiers is called as name mangling.

7. Đầu ra của mã Python sau đây là gì?
a) True
b) False
View Answer

Trả lời: D Giải thích: Ở đây, Get (Tự) là thành viên của lớp. Do đó, nó thậm chí có thể trả lại một thành viên riêng của lớp. Vì lý do này, chương trình chạy tốt và 1 được in.
Explanation: Name mangling prevents unintentional access of private members of a class, while still allowing access when needed. Unless the variable is accessed with its mangled name, it will not be found.

8. Đầu ra của mã Python sau đây là gì?

class fruits:
    def __init__(self):
        self.price = 100
        self.__bags = 5
    def display(self):
        print(self.__bags)
obj=fruits()
obj.display()

a) Chương trình chạy đúng và in 45 b) Chương trình có lỗi vì giá trị của các thành viên của lớp không thể thay đổi từ bên ngoài lớp C) Chương trình chạy đúng và in 1 d) Chương trình có lỗi vì Giá trị của các thành viên bên ngoài một lớp chỉ có thể được thay đổi dưới dạng self.a = 45View Trả lời
b) The program runs fine but nothing is printed
c) The program runs fine and 5 is printed
d) The program has an error because display() can’t be accessed
View Answer

Trả lời: Giải thích: Có thể thay đổi giá trị của các thành viên lớp công khai bằng cách sử dụng đối tượng của lớp.
Explanation: Private class members can be printed by methods which are members of the class.

9. Thành viên tư nhân của một lớp không thể được truy cập. a) Đúng b) câu trả lời FalseView

 class student:
    def __init__(self):
        self.marks = 97
        self.__cgpa = 8.7
    def display(self):
        print(self.marks)
obj=student()
print(obj._student__cgpa)

a) Chương trình chạy tốt và 8.7 được in b) lỗi vì các thành viên lớp tư nhân có thể truy cập C) Lỗi vì cú pháp thích hợp cho tên Mangling đã được triển khai D) Chương trình chạy tốt nhưng không có gì được in
b) Error because private class members can’t be accessed
c) Error because the proper syntax for name mangling hasn’t been implemented
d) The program runs fine but nothing is printed
View Answer

Trả lời: Giải thích: Tên Xử lý đã được thực hiện đúng trong mã được đưa ra ở trên và do đó chương trình chạy đúng.
Explanation: Name mangling has been properly implemented in the code given above and hence the program runs properly.

13. Điều nào sau đây là sai về các thành viên lớp được bảo vệ? a) chúng bắt đầu với một dấu gạch dưới b) Chúng có thể được truy cập bằng các lớp con c) chúng có thể được truy cập bằng tên phương thức xua tan) chúng có thể được truy cập trong câu trả lời của ClassView
a) They begin with one underscore
b) They can be accessed by subclasses
c) They can be accessed by name mangling method
d) They can be accessed within a class
View Answer

Trả lời: C Giải thích: Các thành viên trong lớp được bảo vệ có thể được truy cập bằng cách mang tên.
Explanation: Protected class members can’t be accessed by name mangling.

14. Đầu ra của mã Python sau đây là gì?

class objects:
    def __init__(self):
        self.colour = None
        self._shape = "Circle" 
 
    def display(self, s):
        self._shape = s
obj=objects()
print(obj._objects_shape)

a) Chương trình chạy tốt vì tên xáo trộn đã được thực hiện đúng b) lỗi vì hình dạng thành viên là lỗi thành viên được bảo vệ Câu trả lời
b) Error because the member shape is a protected member
c) Error because the proper syntax for name mangling hasn’t been implemented
d) Error because the member shape is a private member
View Answer

Trả lời: B Giải thích: Các thành viên được bảo vệ bắt đầu bằng một dấu gạch dưới và họ chỉ có thể được truy cập trong một lớp hoặc bởi các lớp con.
Explanation: Protected members begin with one underscore and they can only be accessed within a class or by subclasses.

Sê -ri Giáo dục & Học tập toàn cầu Sanfoundry - Python.

Để thực hành tất cả các lĩnh vực của Python, đây là bộ hoàn chỉnh của hơn 1000 câu hỏi và câu trả lời nhiều lựa chọn.

Bước tiếp theo:

  • Nhận Giấy chứng nhận miễn phí trong chương trình Python
  • Tham gia cuộc thi chứng nhận lập trình Python
  • Trở thành một người xếp hạng hàng đầu trong chương trình Python
  • Thực hiện các bài kiểm tra lập trình Python
  • Các bài kiểm tra thực hành theo chương: Chương 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10
  • Các bài kiểm tra giả chương: Chương 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10,

Điều gì là đúng về các thành viên tư nhân của một lớp học?

Điều nào trong số những điều sau đây là đúng? Giải thích: Các thành viên tư nhân có thể truy cập trong lớp. Không có hạn chế sử dụng thành viên tư nhân của các thành viên công khai hoặc được bảo vệ. Tất cả các thành viên có thể truy cập các chức năng thành viên riêng của lớp.The private members are accessible within the class. There is no restriction on use of private members by public or protected members. All the members can access the private member functions of the class.

Điều nào sau đây là sai về các thành viên lớp bảo vệ?

13. Điều nào sau đây là sai về các thành viên lớp được bảo vệ?Giải thích: Các thành viên lớp được bảo vệ không thể được truy cập bằng cách mang tên.Protected class members can't be accessed by name mangling.

Trường dữ liệu riêng tư trong Python là gì?

Khi chúng tôi tuyên bố thành viên dữ liệu là riêng tư, điều đó có nghĩa là họ chỉ có thể truy cập được bên lớp và không thể truy cập được bên ngoài lớp.Kỹ thuật tạo ra một biến hoặc phương thức riêng tư được gọi là dữ liệu.accessible only side the class and are inaccessible outside the class. The technique of making a variable or method private is called data mangling.

Điều nào sau đây không phải là phương pháp lớp trong Python?

Giải thích: Việc gán nhiều hơn một hàm cho một toán tử cụ thể được gọi là quá tải toán tử.2. Điều nào sau đây không phải là phương pháp lớp?Giải thích: Ba phương pháp lớp khác nhau trong Python là các phương pháp tĩnh, giới hạn và không giới hạn.static, bounded and unbounded methods.