草庐IT

pthread_self

全部标签

python - 类型错误 : get_params() missing 1 required positional argument: 'self'

我正在尝试将scikit-learn包与python-3.4一起使用来进行网格搜索,fromsklearn.feature_extraction.textimportTfidfVectorizerfromsklearn.linear_model.logisticimportLogisticRegressionfromsklearn.pipelineimportPipelinefromsklearn.grid_searchimportGridSearchCVimportpandasaspdfromsklearn.cross_validationimporttrain_test_split

python - 'self' 在@classmethod 中指的是什么?

我以为我开始掌握编程的“Python方式”了。类的方法接受self作为第一个参数,以引用正在调用该方法的上下文的类的实例。@classmethod装饰器指的是一个方法,其功能与该类相关联,但不引用具体实例。那么,如果要在没有实例引用的情况下调用该方法,@classmethod的第一个参数(规范的“self”)指的是什么? 最佳答案 classitself:Aclassmethodreceivestheclassasimplicitfirstargument,justlikeaninstancemethodreceivestheins

不使用 def __init__(self) 的 Python 类

我正在编写一系列文本菜单。使用下面的类和子类,它运行没有问题。但我正在审查我的编码,我想知道....我没有在类中使用def__init__(self)可以吗?我是否应该将数据成员放在def__init__(Self):中,例如self.images=()、self.options=()?如果我这样做了,我就不能使用abc模块进行约束,对吗?classBaseMenu(object):__metaclass__=abc.ABCMeta@abc.abstractpropertydefoptions(self):pass@abc.abstractpropertydefmenu_name(se

python - 在 python 类中定义常量,真的需要 self 吗?

我想在一个类中定义一组常量,例如:classFoo(object):(NONEXISTING,VAGUE,CONFIRMED)=(0,1,2)def__init__(self):self.status=VAGUE但是,我明白了NameError:globalname'VAGUE'isnotdefined有没有一种方法可以将这些常量定义为在类中可见,而无需使用global或self.NONEXISTING=0等? 最佳答案 当您在类主体中分配名称时,您正在创建类的属性。如果不直接或间接地引用类,就不能引用它们。您可以像其他答案所说的那

python - 使用 len() 和 def __len__(self) : to build a class

只是好奇,在构建类时使用len()或def__len__()有什么区别(优点和缺点)?哪种Python风格最好?classfoo(object):def__init__(self,obs=[])self.data=obsself.max=max(obs)self.min=min(obs)self.len=len(obs)或classfoo(object):def__init__(self,obs=[])self.data=obsself.max=max(obs)self.min=min(obs)def__len__(self):returnlen(self.data)

没有 'self'的Python调用方法

所以我刚开始用python编程,我不明白“self”背后的全部原因。我知道它几乎就像一个全局变量一样使用,因此可以在类中的不同方法之间传递数据。我不明白为什么在同一个类中调用另一个方法时需要使用它。如果我已经在那个类,我为什么要告诉它??例如,如果我有:为什么我需要self.thing()?classbla:defhello(self):self.thing()defthing(self):print"hello" 最佳答案 你也可以在类static中创建方法,所以不需要self。但是,如果您确实需要,请使用它。你的:classbl

python - “assert False”和 “self.assertFalse”有什么优势或区别

我正在编写测试,我听说有人说要使用self.assertFalse而不是assertFalse.为什么会这样,有什么好处吗? 最佳答案 如果你跑了importunittestclassTest_Unittest(unittest.TestCase):deftest_assert(self):assertFalsedeftest_assertFalse(self):self.assertFalse(True)if__name__=='__main__':unittest.main()你得到同样的日志信息,同样的失败:FF=======

python - 在方法中用另一个相同类型的对象替换 self 对象是否安全?

我想用这样的方法中的另一个实例替换一个对象实例:classA:defmethod1(self):self=func(self)从数据库中检索对象。 最佳答案 替换'self'变量不太可能完成您尝试做的任何事情,这不能仅通过将func(self)的结果存储在不同的变量中来完成。“self”实际上是一个仅在方法调用期间定义的局部变量,用于传递正在操作的类的实例。替换self实际上不会替换对其他对象持有的类的原始实例的引用,也不会创建对分配给它的新实例的持久引用。 关于python-在方法中用

python - 有什么理由给 self 一个默认值吗?

我正在浏览一些代码,我注意到一行引起了我的注意。代码类似于下面的例子classMyClass:def__init__(self):passdefcall_me(self=''):print(self)这看起来像我见过的任何其他类,但是str作为self的默认值传入。如果我打印出self,它的行为正常>>>MyClass().call_me()这一直困扰着我,我无法弄清楚为什么要使用它。str实例会作为self的默认值传入有什么原因吗? 最佳答案 不是真的,这只是一种奇怪的方式,使它在通过类调用时不会引发错误:MyClass.call

python - 使用 self.* 作为方法的默认值

这个问题在这里已经有了答案:Howtopassadefaultargumentvalueofaninstancemembertoamethod?(6个回答)关闭4年前.defsave_file(self,outputfilename=self.image_filename):self.file.read(outputfilename)....在第一行给出NameError:name'self'isnotdefined。似乎Python不接受它。如何重写代码使其不会引发异常? 最佳答案 使用默认的None并检测它。defsave_fi