ipmort的搜索路径:
1、在调用文件的同级目录下;
2、os.py同级的系统目录下;
3、新建环境变量PYTHONPATH,把要导入的目录加进去;
4、在代码中临时加上搜索目录,如下:
import sys
p = "C:\\Users\\wu\\Desktop\\123"
sys.path.append(p)
如果要查询python会在哪些目录去查找,可用以下方法:
import sys
for aa in sys.path:
print(aa)
以下例子是在os.py同级目录下新建文件夹wu后,再建立此文件mo_test.py,内容如下:
class Member():
num = 0 # 类变量,可以直接用类调用,或用实例对象调用
def __init__(self, x, y):
self.x = x # 实例变量(成员变量),需要它是在类的构造函数内以self.开头来定义的,可实例后调用
self.y = y
print("调用__init__")
self.fuc(self.x, self.y)
def add(self):
total = 2 # 方法内的局部变量,实例后也调用不了
self.vara = 3 # 虽是以self.给出,但并没有在构造函数中进行初始化,实例后不能调用,但调用了add方法后,就可以调用此变量了
self.varb = 4
fina = (self.x+self.y)*total
print("调用add")
return fina
def fuc(self, a, b):
self.varc = a # 成员变量,他们在成员函数fuc()中定义,但是在构造函数中调用了fuc()函数,所以可以在实例后调用
self.vard = b
print("调用fuc")
return a+b
调用一:
from wu.mo_test import Member
aa = Member(3, 4)
#这里的import后面导入的是文件里的类
-------------------------------------------------------------
调用二:
from wu.mo_test import *
aa = Member(3, 4)
#这里是导入了这个mo_test的所有,但这种方式不推荐,易引起同名错误
-------------------------------------------------------------
调用三:
import wu.mo_test
aa = wu.mo_test.Member(3, 4)
#直接import文件,也即模块,这种方式在调用时,需加入模块名(包括路径如wu.mo_test),可以用as 别名的方式,如下:
import wu.mo_test as sss
aa = sss.Member(3, 4)