zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    vector详解
    浅谈 莫斯电码&栅栏密码
    牛牛的BRD迷宫2 构造+思维
    Codeforces Round #409 C. Voltage Keepsake(二分+思维)
    hdu 2609 How many(最小表示法)
    hdu 4513(Manacher)
    codeforces 486 E. LIS of Sequence(dp)
    codeforces 486 D. Valid Sets(树形dp)
    hdu3746(kmp最小循环节)
    poj 2406 Power Strings(kmp next的应用)
  • 原文地址:https://www.cnblogs.com/bzdmz/p/10324520.html
Copyright © 2011-2022 走看看