草庐IT

self-documenting-code

全部标签

Python 类方法 : when is self not needed

我正在尝试使用类重写一些代码。在某些时候,我想要的是使用对象的每个实例的参数值为成员函数分配一个特定的定义。来自其他语言(JavaScript、C++、Haskell、Fortran等),我正在努力理解一些关于Python的东西。一件事是类方法中self的以下区别。例如,下面的代码显然是行不通的:classfdf:deff(x):return666classgdg(fdf):defsq():return7*7hg=gdg()hf=fdf()print(hf.f(),hg.f(),hg.sq())给出错误“sq()采用0个位置参数,但给出了1个”。据我所知,原因是在执行时函数被传递给调用

python - 蝗虫:得到 0 个响应 status_code 和无内容

我已经使用Locust(http://locust.io)编写了一个简单的负载测试。现在我注意到有时(使用更高的负载)我从post调用获得的响应具有status_code0和None内容。0状态码在Locust中不会被自动识别为失败,所以我必须手动测试。我的代码片段是这样的:withself.client.get(path,catch_response=True)asresponse:ifresponse.status_code!=200:response.failure(path+":returned"+str(response.status_code))elifchecknotin

python 并在方法中使用 'self'

根据我的阅读/理解,“self”参数类似于“this”。这是真的吗?如果它是可选的,如果没有将self传递到方法中,您会怎么做? 最佳答案 是的,它的使用方式类似。请注意,它是一个位置参数,您可以随意调用它;然而,有一个强烈的约定称它为self(不是this或其他任何东西)。对于可用的实例方法,必须有一些位置参数;它不是可选的。 关于python并在方法中使用'self',我们在StackOverflow上找到一个类似的问题: https://stackove

python - 在函数属性中访问 self

我正在尝试添加一个装饰器,该装饰器将可调用属性添加到函数,这些函数返回的对象与函数的返回值略有不同,但会在某个时候执行该函数。我遇到的问题是,当函数对象被传递到装饰器时,它是未绑定(bind)的并且不包含隐式的self参数。当我调用创建的属性函数(即string())时,我无法访问self,也无法将其传递给原始函数。defdeco(func):"""Addanattributetothefunctiontakesthesameargumentsasthefunctionbutmodifiestheoutput."""defstring(*args,**kwargs):returnstr

python - self 加入 Pandas

我想对Pandas数据框执行自连接,以便将某些行附加到原始行。每行都有一个标记“i”,指示应在右侧附加哪一行。d=pd.DataFrame(['A','B','C'],columns=['some_col'])d['i']=[2,1,1]In[17]:dOut[17]:some_coli0A21B12C1期望的输出:some_colisome_col_y0A2C1B1B2C1B也就是说,第2行附加到第0行,第1行附加到第1行,第1行附加到第2行(如i所示)。我的想法是pd.merge(d,d,left_index=True,right_on='i',how='left')但它会产生完全

python - 没有 self 的内部类功能

大家平安!我正在使用Python3.6.3,我发现奇怪的是这种构造是可能的:classTestClass(object):def__init__(self):self.arg="arg"deftest():print("Heytest")并使用:>>>TestClass.test()"Heytest"我知道在Python中有以self为参数的标准方法(不知道如何正确调用它们)、静态方法、类方法、抽象方法。但是test()是个什么样的方法呢?是静态方法吗?编辑:这种确定类内部函数的方法是否有任何有用的用例? 最佳答案 在python3

python - LXML 和 XSL document() 函数

您好,我有以下文件:合并.py:fromlxmlimportetreexml_input=etree.XML(open('a.xml','r').read())xslt_root=etree.XML(open('merge.xsl','r').read())transform=etree.XSLT(xslt_root)printstr(transform(xml_input))合并.xsl:a.xml:b.xml:这4个文件在同一目录中,当我调用merge.py时出现错误:lxml.etree.XSLTApplyError:CannotresolveURIstring://__STRI

python 萨克斯错误 "junk after document element"

我使用pythonsax来解析xml文件。xml文件其实就是多个xml文件的组合。看起来像这样:我的python代码如下。它显示“文档元素后的垃圾”错误。解决这个问题的任何好主意。谢谢。fromxml.sax.handlerimportContentHandlerfromxml.saximportmake_parser,SAXExceptionimportsysclassPostHandler(ContentHandler):def__init__(self):self.find=0self.buffer=''self.mapping={}defstartElement(self,na

python - 我应该使用 "self"来定义不需要从外部访问的类实例化变量/对象吗?

我不是一个完全的初学者,但对Python还是个新手。今天在做一个项目时,我有一个想法,想知道“self”的用法;关于我过去一段时间一直在阅读的内容,我仍然无法弄清楚它是否总是必要的。我的问题仅涉及类实例和实例参数/变量。这个问题不是关于影响所有实例的类变量。示例:classC:def__init__(self,parent=None):super(C,self).__init__(parent)self.some_temp_var=AnotherClass()self.important_property=self.some_temp_var.bring_the_jewels()ins

python - 配置 Visual Studio Code 以在 Windows 上的 bash 中运行 Python

我想使用Windowsbash控制台在VisualStudioCode中运行python.py文件。我尝试做的事情:在settings.json中更改默认shell:{"terminal.integrated.shell.windows":"C:\\Windows\\sysnative\\bash.exe"}在tasks.json中添加任务,以文件名作为参数运行python命令:{//Seehttps://go.microsoft.com/fwlink/?LinkId=733558//forthedocumentationaboutthetasks.jsonformat"version