2017-02-09 73 views
5

Wiem, że klas w Pythonie są zazwyczaj cased przy użyciu camelCase.Czy nazwy plików klas w języku Python mają być również znakami CamelCased?

Czy jest to również normalna konwencja, aby plik zawierający tę klasę był przechowywany w wersji wielbłądowej, szczególnie jeśli plik zawiera tylko klasę?

Na przykład, czy klasa className również powinna być przechowywana w className.py zamiast class_name.py?

+3

Klasy Python nie powinny być przechowywane w kamelii zgodnie z PEP8. –

Odpowiedz

5

Poniższa odpowiedź w znacznej mierze pochodzi z this answer.

Jeśli masz zamiar śledzić PEP 8, powinieneś trzymać się nazw pisanych małymi literami, z opcjonalnymi podkreśleniami.

Cytując PEP 8's naming conventions for packages & modules:

Moduły powinny mieć krótkie nazwy all-małe. W nazwie modułu można używać podkreśleń, jeśli poprawia to czytelność.

A dla klas:

Nazwy klas powinny normalnie używać konwencję CapWords.

Zobacz this answer różnicy pomiędzy modułu, klasy i opakowaniu:

moduł Pythona to po prostu plik źródłowy Python, które mogą narazić klas, funkcji i zmiennych globalnych.

1

Moje pytanie brzmi, czy to też normalne konwencja mieć plik zawiera klasa zostać również camelCase'd zwłaszcza jeśli tylko plik zawiera klasę

Krótka odpowiedź: Nie.

Dłuższa odpowiedź: w razie potrzeby należy podać małą literę i podkreślenia.

Od PEP8 "Package and Module Names":

Moduły powinny mieć krótkie, wszystkie-małe nazwy. Podkreślenia mogą być użyte w nazwie modułu, jeśli poprawia to czytelność. Pythonowe pakiety powinny również zawierać krótkie, pisane małymi literami nazwy, chociaż użycie podkreśleń jest odradzane.

Jeśli jesteś niejasny co module jest:

Moduł jest plikiem zawierającym definicje Python i oświadczenia. Nazwa pliku jest nazwą modułu z dołączonym przyrostkiem .py.