Giống như Java (hoặc php), tôi sử dụng để phân tách các lớp thành các tệp.
Có phải cùng một thỏa thuận trong Python không? Ngoài ra, tôi nên đặt tên tệp như thế nào?
Chữ thường như classname.py hoặc giống như ClassName.py?
Tôi có cần phải làm điều gì đó đặc biệt nếu tôi muốn tạo một đối tượng từ lớp này hay thực tế là nó trong cùng một "dự án" (netbeans) làm cho nó ok để tạo ra một đối tượng từ nó?Có phải các lớp học bằng Python trong các tệp khác nhau không?
Trả lời
Trong Python, một tệp được gọi là module. Mô-đun có thể bao gồm nhiều lớp học hoặc chức năng.
Vì Python là không phải chỉ là ngôn ngữ OO, không có quy tắc nào có quy tắc cho biết, một tệp chỉ nên chứa một lớp.
Một tệp (mô-đun) phải chứa các lớp/chức năng thuộc về nhau, tức là cung cấp chức năng tương tự hoặc phụ thuộc vào nhau.
Tất nhiên bạn không nên phóng đại điều này. Khả năng đọc thực sự bị ảnh hưởng nếu module của bạn có quá nhiều lớp hoặc chức năng. Sau đó, có lẽ là thời gian để tập hợp lại chức năng thành các mô-đun khác nhau và tạo ra packages.
Đối với quy ước đặt tên, bạn có thể muốn đọc PEP 8 nhưng trong ngắn hạn:
lớp Names
Hầu như không có ngoại lệ, tên lớp sử dụng quy ước CapWords. Các lớp học sử dụng nội bộ có thêm một dấu gạch dưới.
và
Package và Module Tên
Modules cần phải có, tên toàn chữ thường ngắn. Dấu gạch dưới có thể được sử dụng trong tên mô-đun nếu nó cải thiện khả năng đọc. Các gói Python nên cũng có tên ngắn, tất cả chữ thường, mặc dù việc sử dụng dấu gạch dưới là không khuyến khích.
Vì tên mô-đun được ánh xạ tới tên tệp và một số hệ thống tệp là trường hợp không phân biệt chữ hoa và tên ngắn, điều quan trọng là mô-đun tên được chọn khá ngắn - đây không phải là vấn đề trên Unix , nhưng có thể là sự cố khi mã được chuyển sang máy Mac cũ hoặc Phiên bản Windows hoặc DOS.
Để tạo một đối tượng, bạn phải nhập các lớp trong file của bạn. E.g
>>> from mymodule import MyClass
>>> obj = MyClass()
hoặc
>>> import mymodule
>>> obj = mymodule.MyClass()
hoặc
>>> from mypackage.mymodule import MyClass
>>> obj = MyClass()
Bạn đang yêu cầu nội dung cơ bản cần thiết, vì vậy tôi khuyên bạn nên đọc tutorial.
Ngoài ra để đặt tên xem PEP8 http: //www.python. org/dev/peps/pep-0008/ – Mark
Ok, vì nó được gọi là một mô-đun, tôi có cần phải nhập nó không? và nếu vậy, giả sử tên tệp của tôi là site.py và tôi muốn sử dụng các lớp từ nó trong tệp khác của tôi blabla.py, tôi có viết một cái gì đó như nhập site.py? – Asaf
@Asaf: Xem câu trả lời cập nhật của tôi. Làm thế nào bạn phải nhập khẩu phụ thuộc vào những thứ khác nhau. Nếu các mô-đun nằm trong cùng một gói, bạn chỉ có thể nhập mô-đun. Nếu không, bạn cũng phải nhập gói. ** Không bao giờ ** bao gồm hậu tố tệp (tức là '.py'). Đọc hướng dẫn và tìm kiếm ở đây về SO về cách nhập chính xác. Câu hỏi này đã được hỏi. –
Không, bạn có thể xác định nhiều lớp (và chức năng, v.v.) trong một tệp. Một tập tin cũng được gọi là một mô-đun.
Để sử dụng các lớp/chức năng được xác định trong mô-đun/tệp, bạn cần phải import
mô-đun/tệp.
- 1. Có tốn kém trong Python để đưa các lớp vào các tệp khác nhau không?
- 2. các giá trị khác nhau cho các biến lớp trong mỗi phân lớp trong python
- 3. Có cần phải xác định các nhà thầu di chuyển từ các lớp khác nhau không?
- 4. PHP bao gồm các lớp học trong lớp khác
- 5. Một thư viện/lớp học PHP để đếm từ bằng các ngôn ngữ khác nhau?
- 6. Các lớp học có nghĩa là gì?
- 7. tổ chức các lớp học và mô-đun trong python
- 8. lồng nhau enum trong C# và các lớp học
- 9. Biến toàn cầu Các lớp học Python
- 10. Cách sử dụng các tệp .settings khác nhau cho các môi trường khác nhau trong .NET?
- 11. Xác định các lớp học trong các gói
- 12. Cách sử dụng QNetworkAccessManager trong các lớp khác nhau? Chia sẻ chung dữ liệu quan trọng giữa các lớp học?
- 13. Có phải hình thức xấu để thử và có các lớp khác với chính/form1 tương tác với nhau không?
- 14. Có cách nào để thay thế lớp học bằng cách khác trong Intellij Idea không?
- 15. Python 2.6: Lớp bên trong lớp học?
- 16. C++: lớp khác nhau có cùng tên trong các đơn vị dịch khác nhau
- 17. Tìm các lớp học có sẵn trong Học phần
- 18. các lớp python tham chiếu với nhau
- 19. Gọi các hàm tạo siêu lớp trong python với các đối số khác nhau
- 20. In tất cả các biến trong một lớp học? - Python
- 21. java cách sử dụng các lớp học trong gói khác?
- 22. Các metaclasses của Python và trang trí lớp học
- 23. Các lớp tĩnh trong Python
- 24. Sử dụng các trình nạp lớp khác nhau cho các bài kiểm tra JUnit khác nhau?
- 25. Các nguồn Java giống hệt nhau được biên dịch thành các lớp nhị phân khác nhau
- 26. Phạm vi trong các lớp học coffeescript
- 27. Tệp .mat có chứa các lớp matlab trong python
- 28. ASP.net MVC có phải là một "lớp học" không?
- 29. Không sử dụng lớp học làm lớp cha trong Python
- 30. Lớp học có loại tự học của lớp khác có ý nghĩa không?
Trùng lặp: http://stackoverflow.com/questions/106896/how-many-python-classes-should-i-put-in-one-file –