Vì vậy, tôi đang sử dụng các thành viên lớp tĩnh để tôi có thể chia sẻ dữ liệu giữa các phương thức lớp và các phương thức tĩnh của cùng một lớp (chỉ có 1 instantiation của lớp). Tôi hiểu điều này tốt, nhưng tôi chỉ tự hỏi khi các thành viên tĩnh được khởi tạo? Là nó vào nhập khẩu? Trong lần sử dụng đầu tiên của lớp học? Bởi vì tôi sẽ gọi các thành viên tĩnh của lớp này từ hơn 1 mô-đun (do đó có nhiều hơn 1 câu lệnh nhập). Tất cả các module truy cập vào các phương thức tĩnh có chia sẻ cùng các thành viên dữ liệu tĩnh không? Và nếu khách hàng chính của tôi xóa cá thể của lớp của tôi và sau đó tạo lại nó (mà không chấm dứt hoàn toàn hoặc nhập lại nội dung), các thành viên dữ liệu của tôi có được giữ nguyên không?Các thành viên lớp tĩnh python
12
A
Trả lời
13
Chúng sẽ được khởi tạo ở thời gian định nghĩa lớp, sẽ diễn ra vào thời điểm nhập nếu bạn nhập lớp học như một phần của mô-đun. Điều này giả định kiểu định nghĩa thành viên lớp "tĩnh" như sau:
class Foo:
bar = 1
print Foo.bar # prints '1'
Lưu ý rằng, đây là thành viên lớp tĩnh, không cần khởi tạo lớp.
Câu lệnh nhập sẽ thực thi nội dung của mô-đun chính xác một lần, bất kể số lần hoặc vị trí được thực thi.
Có, các thành viên tĩnh sẽ được chia sẻ bởi bất kỳ mã nào truy cập chúng.
Vâng, các thành viên tĩnh của một lớp sẽ được duy trì nếu bạn xóa một đối tượng có loại là lớp rằng:
# Create static member
class Foo:
bar = 1
# Create and destroy object of type Foo
foo = Foo()
del foo
# Check that static members survive
print Foo.bar # Still prints '1'
Các vấn đề liên quan
- 1. Thành viên lớp học "tĩnh"
- 2. Lớp thành viên tĩnh - khai báo lớp riêng tư và lớp thành viên riêng tư?
- 3. Khởi tạo các thành viên tĩnh của một lớp templated
- 4. Các thành viên tĩnh của một lớp thể hiện
- 5. khởi In-lớp của các thành viên dữ liệu tĩnh
- 6. Namespace và các thành viên lớp tĩnh liên kết
- 7. Lớp Singleton so với lớp có thành viên tĩnh
- 8. Thành viên lớp học Python Khởi tạo
- 9. Tại sao các lớp tĩnh có thể chỉ có các thành viên tĩnh?
- 10. Chức năng thành viên tĩnh
- 11. Tĩnh khẳng định để kiểm tra các thành viên dữ liệu lớp const tĩnh?
- 12. Các lớp tĩnh trong Python
- 13. Cấu trúc tĩnh với các thành viên tĩnh
- 14. thành viên khởi tạo tĩnh cho chuyên lớp mẫu
- 15. Các thành viên tĩnh của các lớp chung được chia sẻ giữa các loại
- 16. Thừa kế thành viên tĩnh trong C#
- 17. Ghi đè các thành viên tĩnh trong các lớp dẫn xuất trong PHP
- 18. C#: Thừa hưởng các thành viên tĩnh riêng cho các lớp thừa kế
- 19. Trong Java, các thành viên lớp tĩnh có được chia sẻ giữa các chương trình không?
- 20. C++ Phạm vi biến thành viên tĩnh
- 21. ADL có tra cứu các hàm thành viên tĩnh không?
- 22. biến tĩnh so với thành viên
- 23. SetWindowsHookEx, KeyboardProc và các thành viên không tĩnh
- 24. Cách tạo giao diện .NET với các thành viên tĩnh?
- 25. Thừa kế các thành viên tĩnh trong PHP
- 26. C++ các hàm và biến thành viên tĩnh
- 27. Xác định các thành viên tĩnh trong C++
- 28. Một câu hỏi về các thành viên tĩnh bên trong các lớp không tĩnh và thu gom rác
- 29. Loại bỏ các thành viên tĩnh của mẫu instantiation instantiation
- 30. C++ Các hàm thành viên thừa kế sử dụng các biến tĩnh
Vâng tôi nhận ra tôi không cần phải nhanh chóng lớp. Nhưng cá thể lớp cần truy cập vào các thành viên này cũng như các mô-đun khác. Tôi lo ngại rằng tôi đang nhập mô-đun này từ một số mô-đun khác. Điều đó có nghĩa là các thành viên tĩnh được thiết lập lại cho tất cả các mô-đun? Hoặc mỗi mô-đun nhập khẩu nó sẽ có tập hợp các thành viên tĩnh của riêng mình? – Falmarri
Chỉnh sửa của bạn đã trả lời câu hỏi của tôi, cảm ơn =] – Falmarri