python 类

实例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

原文地址:https://www.cnblogs.com/bzdmz/p/10324520.html