class SomeThing(object):
"""Represents something"""
def method_one(self):
"""This is the first method, will do something useful one day"""
def method_two(self, a, b):
"""Returns the sum of a and b"""
return a + b
W niedawnym przeglądzie niektórych kodu podobnego do powyższego, kolega zapytał:Dlaczego python zezwala na pustą funkcję (z ciągiem dokumentów) bez instrukcji "pass"?
Dlaczego
method_one
pomyślnie analizowany i zaakceptowany przez pytona? Czy pusta funkcja nie potrzebuje ciała składającego się tylko zpass
? to znaczy nie powinno tak wyglądać?
def method_one(self):
"""This is the first method, will do something useful one day"""
pass
Moja odpowiedź w tym czasie było coś takiego:
Chociaż docstring zwykle nie jest uważana za część ciała funkcji, ponieważ nie jest „stracony”, jest on analizowany jako taki, więc
pass
można pominąć.
W duchu sharing knowledge Q&A style, pomyślałem, że zamieszczę tutaj bardziej rygorystyczną odpowiedź.
że specyfikacja gramatyka jest trudne do odczytania o_O –