У меня есть опыт программирования со статически типизированными языками. Теперь, пишу код в Python, я испытываю трудности с его удобочитаемостью. Допустим, у меня есть класс Host:
class Host(object):
def __init__(self, name, network_interface):
self.name = name
self.network_interface = network_interface
Я не понимаю из этого определения, что такое "network_interface". Это строка, например "eth0", или это экземпляр класса NetworkInterface? Единственный способ, который я собираюсь решить, - документировать код с помощью "docstring". Что-то вроде этого:
class Host(object):
''' Attributes:
@name: a string
@network_interface: an instance of class NetworkInterface'''
Или могут быть соглашения об именах для таких вещей?