我有以下目录:
myProgram
??? app
??? __init__.py
??? main.py
??? mymodule.py
Run Code Online (Sandbox Code Playgroud)
mymodule.py:
class myclass(object):
def __init__(self):
pass
def myfunc(self):
print("Hello!")
Run Code Online (Sandbox Code Playgroud)
main.py:
from .mymodule import myclass
print("Test")
testclass = myclass()
testclass.myfunc()
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,我得到了这个错误:
Traceback (most recent call last):
File "D:/Users/Myname/Documents/PycharmProjects/myProgram/app/main.py", line 1, in <module>
from .mymodule import myclass
SystemError: Parent module '' not loaded, cannot perform relative import
Run Code Online (Sandbox Code Playgroud)
这有效:
from mymodule import myclass
Run Code Online (Sandbox Code Playgroud)
但是当我输入时,我没有自动完成,并且有一条消息:"未解析的引用:mymodule"和"未解析的引用:myclass".在我正在处理的其他项目中,我收到错误:"ImportError:没有名为'mymodule'的模块.
我能做什么?
这是strtok()的解释.
#include <string.h>
char* strtok( char* s1,
const char* s2 );*
Run Code Online (Sandbox Code Playgroud)
第一次调用strtok()会返回指向s1指向的字符串中第一个标记的指针.对strtok()的后续调用必须将NULL指针作为第一个参数传递,以便获取字符串中的下一个标记.
但我不知道,为什么你必须传递NULL指针才能获得字符串中的下一个标记.我搜索了大约15分钟,但没有在互联网上找到解释.
我有这个代码:
#include <iostream>
using namespace std;
void main(){
int *ptr = new int(15);
cout << "Address of ptr: " << ptr << endl;
cout << "Content of ptr: " << *ptr << endl << endl;
delete ptr;
*ptr = 30;
cout << "Address of ptr: " << ptr << endl;
cout << "Content of ptr: " << *ptr << endl;
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
Address of ptr: 007B81F0
Content of ptr: 15
Address of ptr: 007B81F0
Content of ptr: 30
Run Code Online (Sandbox Code Playgroud)
为什么这样做?为什么我仍然可以使用指针?发生了什么?
这在某些方面有用吗?