实例1:
文件名class01.py
class A():
def __init__(self,a,b):
self.a=int(a)
self.b=int(b)
def add(self):
return self.a+self.b
a=A(3,5)
b=a.add()
print (b)
class B(A):
def sub(self):
return self.a-self.b
a=B(5,2)
b=a.add()
c=a.sub()
print (b,c)
结果:
8
7 3
[Finished in 0.2s]
实例2:class01.py
#定义方法def
class A():
def __init__(self,a,b):
self.a=int(a)
self.b=int(b)
def add(self):
return self.a+self.b
a=A(3,5)
b=a.add()
class B(A):
def sub(self):
return self.a-self.b
if __name__ =='__main__':
a=B(5,2)
b=a.add()
c=a.sub()
print(b,c)
#if 后面这段代码的意思是,自己执行时可以执行,但是别人调用时,不会执行
运行结果:
7 3
实例3:直接引用类
#直接导入类,所有可以直接使用类名,不用再带文件名
from class01 import A,B
a=B(6,3).sub()
b=A(4,5).add()
print(a)
print (b)
结果
3
9
class01.py里的if __name__ =='__main__':不会执行,只有自执行时才会运行。调用时,不会执行。
实例4:只导入文件,没有导入类,在引用的时候要带文件名
import class01
a=class01. A(8,9).add()
b=class01.B(9,4).sub()
print (a,b)
如果直接引用方法,并且在当前脚本也新增了同类一样的方法,那么优先读取当前文件的方法,如果方法名冲突,建议在导入的时候重命令方法,如 as bbb
实例5:不同层级类的引用,在引入时要加路径
目录结构:study目录下文件:classtestdiffmulu.py,.studycase01目录下文件class01.py
classtestdiffmulu.py要调用不同目录下class01.py的类和方法
#方法1
#from case01 import class01
#a=class01.A(4,5).add()
#print (a)
#方法二
import sys
sys.path.append("./case01")
from case01.class01 import A
a=A(4,5).add()
print (a)
两者的运行结果均为9