是否可以将描述符分配给实例属性而不是类属性?

时间:2016-03-15 10:10:59

标签: python descriptor

我正在研究Python描述符。到目前为止,我在Google上找到的所有示例都只为类别属性分配了描述符对象。

是否应始终将描述符分配给类属性?可以将描述符分配给实例属性吗?如果是这样,任何例子或用例?

例如,所有示例都是:

toCP1251 :: Text -> B.ByteString
toCP1251 = B.pack . T.unpack . T.map replace where
  replace l = case (Map.lookup l table) of
      (Just x) -> x
      (Nothing) -> l

  table = Map.fromList $ zip rus cpCodes
  cpCodes = map toEnum (168:184:[192 .. 255]) :: [Char]
  rus =  ['Ё', 'ё', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М',
         'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы',
         'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к',
         'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ',
         'ъ', 'ы', 'ь', 'э', 'ю', 'я']  :: [Char]

我们可以有类似的东西:

>>> class MyClass(object):  
    x = RevealAccess(10, 'var "x"')  
    y = 5 

0 个答案:

没有答案