我是python的新手,我想知道在下面的代码中是否有什么问题值得我担心?
from base64 import b64encode
class Base64Encoder:
@classmethod
def encode_basic(cls, usr, pwd):
token = cls.base64_encode(f"{usr}:{pwd}")
return f'Basic {token}'
@classmethod
def encode_bearer(cls, token):
return f'Bearer {token}'
@staticmethod
def base64_encode(token):
return b64encode(token.encode('ascii')).decode('ascii')发布于 2018-07-23 09:56:07
你有一个只有两个classmethods和一个staticmethod的班级。一个classmethod不使用类参数,另一个引用静态方法。因此,该类的任何方法都不使用该类或其实例之一。因此,您根本不需要一个类:
def encode_basic(usr, pwd):
token = base64_encode(f"{usr}:{pwd}")
return f'Basic {token}'
def encode_bearer(token):
return f'Bearer {token}'
def base64_encode(token):
return b64encode(token.encode('ascii')).decode('ascii')还可以考虑向函数中添加docstring,以解释它们应该如何使用。如果不了解程序的上下文,就很难知道为什么字符串是以各自的方式格式化的,以及为什么一个字符串需要ASCII编码。
https://codereview.stackexchange.com/questions/200094
复制相似问题