草庐IT

default-lazy-init

全部标签

java - 安卓 : How to set a default value for an argument variable

安卓函数PHP示例:functionHaHa($a="Test"){print$a;}问题是如何在android中做...publicvoidsomeFunction(intttt=5){//something}上面的解决方案不起作用,我该怎么办?谢谢! 最佳答案 不,Java不支持函数参数的默认值。这里有一篇关于借用语言功能的有趣帖子:http://java.dzone.com/news/default-argument-values-java 关于java-安卓:Howtosetad

python - super().__init__() 中的“意外关键字参数”

我正在写一个小型文字游戏。尝试定义类变量时,我不断收到错误消息。这是类代码:classScenery():def__init__(self,name,description):self.name=nameself.description=descriptionclassDoor(Scenery):def__init__(self,openstatus,lockstatus):self.openstatus=openstatusself.lockstatus=lockstatussuper().__init__(name,description,openstatus,lockstatus

python - 当参数数量不正确时,如何让 __init__() 引发更有用的异常而不是 TypeError?

我有一个带有init的类,它接受很多参数——有些是必需的,有些不是。如果未提供所需参数之一,您可能会收到TypeError,并显示一条无用消息,例如“至少需要10个参数(给定14个)”。我想要一个自定义的TypeError子类,它实际上会通知用户缺少哪些参数。 最佳答案 如果你想使用kwargs,你可以在init中设置一个必需的参数列表,然后检查是否所有必需的kwargs都存在。查看以下示例。classSomething():def__init__(self,**kwargs):required_args=['arg_1','arg

c++ - 如何在 Boost python 中包装一个 init/cleanup 函数

我最近发现了boost-python的存在,并对它明显的简单性感到惊讶。我想试一试并开始包装现有的C++库。虽然包装基本库API调用非常简单(没什么特别的,只是常规函数调用和非常常见的参数),但我不知道如何正确包装初始化/清理函数:目前,我的C++库要求调用者在程序启动时首先调用mylib::initialize(),然后调用mylib::cleanup()在它结束之前(实际上还有一个初始化对象负责处理这个问题,但它可能无关紧要)。我应该如何使用boostpython包装它?强制Python用户调用mymodule.initialize()和mymodule.cleanup()似乎不是

python - 你如何使用 __init__.py?

我正在尝试了解__init__.py文件如何用于打包和调用来自不同目录的模块。我的目录结构是这样的:init_test\__init__.pya\aaa.pyb\bbb.py在aaa.py中有一个叫做test的函数bbb.py看起来像这样:importinit_test.a.aaaif__name__=="__main__":init_test.a.aaa.test()但这给了我ImportError:Nomodulenameda.aaa我做错了什么?我试过从包结构上方的模块而不是包内部的模块做同样的基本事情,但这也不起作用吗?我的__init__.py 最

python - 如何使用特定的数据结构作为 defaultdict 的 default_factory?

我目前正在使用Counter的defaultdict来唯一地计算不可预测键的几个不可预测值:fromcollectionsimportdefaultdict,Counterd=defaultdict(Counter)d['x']['b']+=1d['x']['c']+=1print(d)这给了我预期的结果:defaultdict(,{'x':Counter({'c':1,'b':1})})我现在需要扩展defaultdict中值的结构,并使其成为具有两个键的dict:前面的Counter和一个str:mystruct={'counter':collections.Counter(),'

python - __init__.py 在同一目录中找不到模块

这个问题在这里已经有了答案:ImportErroronpython3,workedfineonpython2.7(1个回答)关闭5年前。我需要有关如何在python包中组织源代码的帮助-我已经在网上学习了几个教程(尤其是thisone)关于如何这样做,但它并没有像解释的那样工作,也没有像我想象的那样工作.我想创建一个名为binaryio的python包。它应该提供两个名为BinaryReader和BinaryWriter的类,我希望用户能够使用它们导入frombinaryioimportBinaryReaderfrombinaryioimportBinaryWriter因此我创建了我的

Python 3 在这种情况下不需要 __init__.py 吗?

假设我有:src/__init__.pya.pyb.py假设__init__.py是一个空文件,而a.py只有一行:TESTVALUE=5假设b.py是:fromsrcimportaprint(a.TESTVALUE)现在在Python2.7和Python3.x中,运行b.py会给出结果(5)。但是,如果我删除文件__init__.py,b.py在Python3.x中仍然有效,但在Python2.7中,我得到错误:Traceback(mostrecentcalllast):File"b.py",line5,infromsrcimportaImportError:Nomodulename

python - 从 __init__.py 文件相对导入抛出错误

所以我使用的是同事设置的模板,作为python的新手,我可能遗漏了一些非常明显的东西。主目录有一个init文件,它有一个我需要的模块,用于生成错误的主python文件。同事使用:from.importX其中X是模块,但是当将此(和填充的初始化文件)复制到我自己的目录时,它会生成此错误:ValueError:Attemptedrelativeimportinnon-package从谷歌和SO我收集到这非常好并且合乎逻辑,所以我想知道,作为一个新手,我错过了什么。 最佳答案 您必须了解Python如何处理模块。当您使用脚本启动解释器时,

python - 元类的 "__call__"和实例的 "__init__"的关系?

假设我有一个元类和一个使用它的类:classMeta(type):def__call__(cls,*args):print"Meta:__call__with",argsclassProductClass(object):__metaclass__=Metadef__init__(self,*args):print"ProductClass:__init__with",argsp=ProductClass(1)输出如下:Meta:__call__with(1,)问题:为什么ProductClass.__init__没有被触发...只是因为Meta.__call__?更新:现在,我为Pr