>>> import pickle
>>> with open("/tmp/picklefile", "wb") as f:
... pickle.dump({}, f)
...
обычно предпочтительнее использовать реализацию cPickle
>>> import cPickle as pickle
>>> help(pickle.dump)
Help on built-in function dump in module cPickle:
dump(...)
dump(obj, file, protocol=0) -- Write an object in pickle format to the given file.
See the Pickler docstring for the meaning of optional argument proto.
Все правила изложены здесь здесь .
Для get
это явно нарушает правило «Пропустить ненужные слова». Если метод возвращает что-то, сайт вызова будет знать, что он используется для получения некоторого значения. Вам не нужно повторять эту идею. Вы можете рассмотреть возможность превращения этого в вычисляемое свойство, если параметры не требуются.
Для set
иногда это может быть уместно. Если вашему методу нужен только один параметр и имеется соответствующий метод получения,
func getFoo() -> Int {
...
}
func setFoo(_ foo: Int) {
...
}
Это довольно хороший признак того, что его можно превратить в вычисляемое свойство:
var foo: Int {
get { ... }
set { ... }
}
Хороший пример где уместно иметь set
- метод UIButton.setTitle
. Он принимает два параметра, поэтому вычисляемое свойство не будет работать.
Для is
это явно соответствует правилу «Использование булевых методов и свойств следует читать как утверждения о получателе». Так что да, вы должны использовать его для логических членов.