이것은 무엇보다 호기심에 관한 질문입니다. 나는 Python에 익숙하며 그 주위에서 놀고있다. 방금 base64 모듈을 살펴 봤습니다. 무엇을 대신 수행하는 경우 :파이썬에서 문자열에 능력을 추가하는 방법
>>> class b64string():
>>> <something>
>>>
>>> string = b64string('Foo Bar')
>>> string
'Foo Bar'
>>> string.encode64()
'Rm9vIEJhcg=='
>>> string
'Rm9vIEJhcg=='
>>> string.assign('QmFyIEZvbw==')
>>> string
'QmFyIEZvbw=='
>>> string.b64decode()
'Bar Foo'
>>> string
'Bar Foo'
클래스를 제작하는 간단한, 파이썬 방법이 있나요 :
import base64
string = 'Foo Bar'
encoded = base664.b64encode
내가 그런 짓을하고 싶어?
>>> class b64string(base64):
... def __init__(self, v):
... self.value=v
를 그리고 이미 내가 얻을 :
은 이걸로 시작했습니다
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
을 그리고 나 (단지 무슨 일이 일어날 지 참조하는)에 시작하지 않습니다 :
>>> class b64string(str, base64): pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Error when calling the metaclass bases
metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
저는 새로운 클래스에 base64의 모든 속성을 나열하고 저장된 값을 argu로 호출하여 수동으로 수행하는 방법을 알고 있습니다. ment. 그러나 이것을하기위한 깔끔하고 공허한 방법이 있습니까? 그것을하는 것이 나쁜 생각입니까? 필요한 경우 많은 모듈을 사용하여 아이디어를 작성하고 필요한 모듈을 모두 가지고있는 "수퍼 문자열"을 가질 수 있습니다. 그게 나쁜가요? 그것은 비 - 파이썬이 아닌가? 그것이 파이썬이라면 어떻게됩니까?
''Foo Bar'.encode ("base64")'에 문제가 있습니까? – YOU
필자는 주요 질문에 대답하기 위해 파이썬의 방법으로는 아직 현명하지 못하지만 오류 메시지는 적어도 클래스가 아닌 모듈 인'base64'를 하위 클래스로 만들려고합니다. – shambulator