Gri*_*Mel 4 python convention coding-style pyqt pep
假设我有一个文件"icon.ico"和一个网址"url.com".
这将在课堂上使用一次 - "icon.ico"将设置为某个窗口,我们将在一个方法中执行url请求.
我有三种方法来定义这些变量.
第一种方式 - 定义为全局常量
#in the top of the file
ICON = "icon.ico"
URL = "http://url.com"
#and then
def setIcon(self):
self.setWindowIcon(QtGui.QIcon(ICON))
def getData(self):
content = requests.get(URL).content
Run Code Online (Sandbox Code Playgroud)
第二种方式 - 定义为类的变量
def __init__(self):
self.url = "http://url.com"
self.icon = "icon.ico"
Run Code Online (Sandbox Code Playgroud)
第三种方式 - 在方法中定义将被使用
def setIcon(self):
icon = "icon.ico"
def getData(self):
url = "http://url.com"
Run Code Online (Sandbox Code Playgroud)
小智 6
代替:
def __init__(self):
self.url = "http://url.com"
self.icon = "icon.ico"
Run Code Online (Sandbox Code Playgroud)
要么
def setIcon(self):
icon = "icon.ico"
Run Code Online (Sandbox Code Playgroud)
是可取的:
def __init__(self, url, icon):
self.url = url
self.icon = icon
Run Code Online (Sandbox Code Playgroud)
或者,如果您认为这些值将是90%相同:
def __init__(self, url="http://url.com", icon="icon.ico"):
self.url = url
self.icon = icon
Run Code Online (Sandbox Code Playgroud)
第一种方式 - 定义为全局常量
第二种方式 - 定义为类的变量
第三种方式 - 在方法中定义将被使用
第4种方式 - 作为班级常数