zoukankan      html  css  js  c++  java
  • python类

    1 类有一个名为 __init__() 的特殊方法(构造方法),该方法在类实例化时会自动调用,在定义类的时候,可以先在这个函数里面定义要使用的属性,这样在类里面写其它方法的时候更方便属性的调用,

    class Rectangle():
        def getPeri(self,a,b):
            return (a + b)*2
        def getArea(self,a,b):
            return a*b
    
    rect = Rectangle()
    print(rect.getPeri(3,4))
    print(rect.getArea(3,4))
    print(rect.__dict__)
    print(rect.__init__())
    # 14
    # 12
    # {}
    # None
    
    class Rectangle():
        def __init__(self,a,b):
            self.a = a
            self.b = b
        def getPeri(self):
            return (self.a + self.b)*2
        def getArea(self):
            return self.a * self.b
    
    rect = Rectangle(3,4)
    print(rect.getPeri())
    print(rect.getArea())
    print(rect.__dict__)
    print(rect.__init__(5,6))
    # 14
    # 12
    # {'a': 3, 'b': 4}
    # None
    https://blog.csdn.net/geerniya/article/details/77487941?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
    View Code

    2 self

    self的本质是指代类new的对象实例,因为对于类中的方法,不同的对象要调用同一个方法,为了区别不同对象对同一个方法的调用,方法的第一个参数self即代表了调用该方法的对象本身,所以在class里面编写method的时候,就必须把变量的第一个位子留出来,用来指代未来call这个method的instance。

    self在定义时需要定义,但是在调用时会自动传入。self的名字并不是规定死的,但是最好还是按照约定是用self,换成其它也是可以的,self总是指向调用时的类的实例。

    # 在Python的解释器内部,当我们调用t.prt()时,实际上Python解释成Test.prt(t),也就是说把self替换成类的实例。
    class Test:
        def prt(self):
            print(self)
            print(self.__class__)
    t = Test()
    t.prt()
    # Test.prt(t)
    # <__main__.Test object at 0x0000000001DE15F8>
    # <class '__main__.Test'>
    View Code

    两种定义类属性的方法

    # 这种定义方式new一个对象的时候,可以不添加对应的属性,即new一个学生的时候
    # 是一个空表,当有了姓名和成绩时再输入
    class Student:
        def __init__(self):
            self.name = None
            self.score = None
    student = Student()
    student.name = 'Tom'
    student.score = 88
    print(student.name, student.score)
    # Tom 88
    
    # 这种定义方式必须传值,不允许为空,
    class Student:
        def __init__(self, name, score):
            self.name = name
            self.score = score
    student = Student('Bob', 23)
    print(student.name, student.score)
    # Bob 23
    View Code

    ttt

    1 https://blog.csdn.net/m0_37693335/article/details/82972925

    https://blog.csdn.net/qq_25948717/article/details/81777508

  • 相关阅读:
    在Unity3D中开发的Hologram Shader
    在Unity3D中开发的Toon Shader
    在Unity3D中开发的Dissolve Shader
    2017.2.26
    2017.2.21
    2017.2.20
    2017.2.19
    2017.2.18
    2017.2.17<转>
    2017.2.16 linux
  • 原文地址:https://www.cnblogs.com/xxswkl/p/11653436.html
Copyright © 2011-2022 走看看