草庐IT

self-register

全部标签

python - 为什么总是将 self 作为第一个参数添加到类方法?

这个问题在这里已经有了答案:关闭10年前.PossibleDuplicate:Whydoyouneedexplicitlyhavethe“self”argumentintoaPythonmethod?我明白为什么self总是是类方法的第一个参数,这完全有道理,但如果总是这样,那么为什么要为每个方法定义都输入if的麻烦呢?为什么不让它在幕后自动完成?是为了清楚起见,还是在某些情况下您可能不想将self作为第一个参数传递? 最佳答案 因为显式优于隐式。通过使参数成为显式要求,您可以简化代码理解、内省(introspection)和操作。

python - 为什么总是将 self 作为第一个参数添加到类方法?

这个问题在这里已经有了答案:关闭10年前.PossibleDuplicate:Whydoyouneedexplicitlyhavethe“self”argumentintoaPythonmethod?我明白为什么self总是是类方法的第一个参数,这完全有道理,但如果总是这样,那么为什么要为每个方法定义都输入if的麻烦呢?为什么不让它在幕后自动完成?是为了清楚起见,还是在某些情况下您可能不想将self作为第一个参数传递? 最佳答案 因为显式优于隐式。通过使参数成为显式要求,您可以简化代码理解、内省(introspection)和操作。

python - 在 Python 中,我如何以静态方式一般地引用一个类,比如 PHP 的 "self"关键字?

PHP类可以在静态上下文中使用关键字“self”,如下所示:显然我不能在Python中以这种方式使用“self”,因为“self”指的不是类而是实例。那么有没有一种方法可以在Python的静态上下文中引用当前类,类似于PHP的“self”?我想我正在尝试做的是非Python的。不过不确定,我是Python新手。这是我的代码(使用Django框架):classFriendship(models.Model):defaddfriend(self,friend):"""doessomestuff"""@staticmethod#declared"staticmethod",not"class

python - 在 Python 中,我如何以静态方式一般地引用一个类,比如 PHP 的 "self"关键字?

PHP类可以在静态上下文中使用关键字“self”,如下所示:显然我不能在Python中以这种方式使用“self”,因为“self”指的不是类而是实例。那么有没有一种方法可以在Python的静态上下文中引用当前类,类似于PHP的“self”?我想我正在尝试做的是非Python的。不过不确定,我是Python新手。这是我的代码(使用Django框架):classFriendship(models.Model):defaddfriend(self,friend):"""doessomestuff"""@staticmethod#declared"staticmethod",not"class

python - self = None 有什么作用?

我正在阅读thesourcecodeoftheincomingasynciopackage.请注意,在方法的末尾,有一个self=None语句。它有什么作用?def_run(self):try:self._callback(*self._args)exceptExceptionasexc:msg='Exceptionincallback{}{!r}'.format(self._callback,self._args)self._loop.call_exception_handler({'message':msg,'exception':exc,'handle':self,})self=

python - self = None 有什么作用?

我正在阅读thesourcecodeoftheincomingasynciopackage.请注意,在方法的末尾,有一个self=None语句。它有什么作用?def_run(self):try:self._callback(*self._args)exceptExceptionasexc:msg='Exceptionincallback{}{!r}'.format(self._callback,self._args)self._loop.call_exception_handler({'message':msg,'exception':exc,'handle':self,})self=

python - 将函数参数分配给 `self`

我注意到我使用的一个常见模式是将SomeClass.__init__()参数分配给同名的self属性。示例:classSomeClass():def__init__(self,a,b,c):self.a=aself.b=bself.c=c事实上,它必须是其他人的常见任务,并且PyDev有一个快捷方式-如果您将光标放在参数列表上并单击Ctrl+1您将获得选项Assignparameterstoattributes这将为您创建boilerplatecode。是否有一种不同的、简短而优雅的方式来执行这项任务? 最佳答案 您可以这样做,其优

python - 将函数参数分配给 `self`

我注意到我使用的一个常见模式是将SomeClass.__init__()参数分配给同名的self属性。示例:classSomeClass():def__init__(self,a,b,c):self.a=aself.b=bself.c=c事实上,它必须是其他人的常见任务,并且PyDev有一个快捷方式-如果您将光标放在参数列表上并单击Ctrl+1您将获得选项Assignparameterstoattributes这将为您创建boilerplatecode。是否有一种不同的、简短而优雅的方式来执行这项任务? 最佳答案 您可以这样做,其优

python - 在python中返回 self

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我有一个代表对象的类。而且我有一堆方法可以修改这个对象状态,没有明显的返回或明显没有任何返回。在C#中,我会将所有这些方法声明为void并且看不到任何替代方法。但在Python中,我将让所有方法returnself让自己能够编写出像这样很棒的单行代码:classname().method1().method2().method3()这是Pythonic还是Python可接受的?

python - 在python中返回 self

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我有一个代表对象的类。而且我有一堆方法可以修改这个对象状态,没有明显的返回或明显没有任何返回。在C#中,我会将所有这些方法声明为void并且看不到任何替代方法。但在Python中,我将让所有方法returnself让自己能够编写出像这样很棒的单行代码:classname().method1().method2().method3()这是Pythonic还是Python可接受的?