Клетус и Дамовиза сделали хорошие предложения. Я также хотел бы добавить, что некоторые (например, я) могут предпочесть такую запись:
function foo(/*bar*/) {
if (arguments.length == 1) {
var bar = arguments[0];
...
}
}
Это служит для того, чтобы документировать разработчикам вашей кодовой базы, что аргумент является необязательным, и также документирует имя, но также предотвращает отображение аргумента в имени функции в отладчике (пример будет отображаться как foo () , а не foo (необязательный_аргумент) . В противном случае разработчики, использующие API) Можно предположить, что это было необходимо.
Редактировать: Это особенно полезно для необязательных аргументов, которые предназначены для внутреннего использования.
Метод ConfigParser.readfp ()
может принимать файловый объект, пытались ли вы открыть файловый объект с правильной кодировкой с помощью модуля кодеков, прежде чем отправлять его в ConfigParser, например ниже:
cfg.readfp(codecs.open("myconfig", "r", "utf8"))
Для Python 3.2 или выше, readfp ()
не рекомендуется. Вместо этого используйте read_file ()
.