我正在尝试遵循PEP 328,具有以下目录结构:
pkg/
__init__.py
components/
core.py
__init__.py
tests/
core_test.py
__init__.py
Run Code Online (Sandbox Code Playgroud)
在core_test.py我有以下import语句
from ..components.core import GameLoopEvents
Run Code Online (Sandbox Code Playgroud)
但是,当我运行时,我收到以下错误:
tests$ python core_test.py
Traceback (most recent call last):
File "core_test.py", line 3, in <module>
from ..components.core import GameLoopEvents
ValueError: Attempted relative import in non-package
Run Code Online (Sandbox Code Playgroud)
搜索周围我发现" 相对路径甚至不能使用__init__.py "和" 从相对路径导入模块 ",但它们没有帮助.
这里有什么我想念的吗?
我试图找到一个关于init()Go中函数功能的精确解释.我读到了Effective Go所说的内容,但我不确定我是否完全理解它所说的内容.我不确定的确切句子如下:
最后意味着:在包中的所有变量声明都已经评估了它们的初始值设定项之后调用init,并且只有在初始化了所有导入的包之后才会对它们进行求值.
什么all the variable declarations in the package have evaluated their initializers意思?这是否意味着如果在包及其文件中声明"全局"变量,init()将不会运行,直到所有它都被评估,然后它将运行所有init函数,然后运行./main_file_name时运行main()?
我还阅读了Mark Summerfield的以下书:
如果一个包有一个或多个init()函数,它们会在调用主包的main()函数之前自动执行.
根据我的理解,init()只有在你打算运行main()时才有意义吗?或主包.任何人init()都能更准确地理解我
我有一个关于在Objective-C中编写init方法的一般问题.
我看到它到处都是(Apple的代码,书籍,开源代码等)init方法应该在继续初始化之前检查self = [super init]是否为nil.
init方法的默认Apple模板是:
- (id) init
{
self = [super init];
if (self != nil)
{
// your code here
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
为什么?
我的意思是什么时候初始会返回零?如果我在NSObject上调用init并且没有回来,那么一定要搞砸了,对吗?在那种情况下,你甚至可以不写一个程序......
类'init方法可能返回nil真的很常见吗?如果是这样,在什么情况下,为什么?
我想定义一个应该在包的所有子模块中可用的常量.我认为最好的地方是在__init__.pyroot包的文件中.但我不知道该怎么做.假设我有几个子包,每个子包都有几个模块.如何从这些模块中访问该变量?
当然,如果这是完全错误的,并且有更好的选择,我想知道它.
我正在将源代码控制添加到没有的项目中.问题是有很多文件最初添加到带有.gitignore文件的git ,但我无法弄清楚如何添加所有文件而不包括与.gitignore文件中匹配的文件.
git add *
Run Code Online (Sandbox Code Playgroud)
上面的命令不会添加任何文件,因为它会检测.gitignore忽略的文件.
git add -f *
Run Code Online (Sandbox Code Playgroud)
上面的命令将添加所有文件,包括我想忽略的文件.
那么,如何在仍然坚持.gitignore文件的同时添加所有文件?
我有一个__init__功能的类.
如何在创建对象时从此函数返回整数值?
我写了一个程序,__init__命令行解析在哪里,我需要设置一些值.可以在全局变量中设置它并在其他成员函数中使用它吗?如果是这样怎么办?到目前为止,我在课外宣布了一个变量.并设置一个功能不反映在其他功能??
在Objective-C中,init方法(即类的指定初始值设定项)和initialize方法之间有什么区别?应该在每个中放入什么初始化代码?
我是python的初学者.我无法理解继承和__init__().
class Num:
def __init__(self,num):
self.n1 = num
class Num2(Num):
def show(self):
print self.n1
mynumber = Num2(8)
mynumber.show()
Run Code Online (Sandbox Code Playgroud)
结果: 8
还行吧.但我换成Num2了
class Num2(Num):
def __init__(self,num):
self.n2 = num*2
def show(self):
print self.n1,self.n2
Run Code Online (Sandbox Code Playgroud)
结果: Error. Num2 has no attribute "n1".
在这种情况下,如何Num2访问n1?
我有点困惑[Class new]和 [[Class alloc] init].我content用[Class new]和 定义了一个对象[[Class alloc] init].
(1). NSMutableArray *content = [NSMutableArray new];
(2). NSMutableArray *content = [[NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)
我的问题是关于之间的差异[Class new]和[[Class alloc] init].对我来说,(1)和(2)是相似的.如果(1)和(2)相似,那么为什么我们[[Class alloc] init]大部分时间都在使用[Class new]?我认为必须有一些区别.
请解释两者的差异,利弊?
所以,我只想知道是否有人知道JavaScript中init()语句的特殊含义和用法,从来没有真正知道,有点像newb.
init ×10
python ×4
objective-c ×3
allocation ×1
class ×1
git ×1
gitignore ×1
go ×1
importerror ×1
inheritance ×1
initializer ×1
ios ×1
javascript ×1
module ×1
new-operator ×1
null ×1
package ×1
packages ×1