美文网首页
编程语言之Python(一) - 类和对象

编程语言之Python(一) - 类和对象

作者: ElliotG | 来源:发表于2020-05-21 20:15 被阅读0次

    1. 创建Python类

    Python的类并不像Java或C++那样要写很多代码,它比较简洁。

    像下面这样就可以创建一个最简单的空类:

    class MyClass:
        pass
    

    创建好类之后,就应该使用,在python中,新建类的实例也并不需要new
    如下:

    a = MyClass()
    b = MyClass()
    print(a)
    print(b)
    

     

    2. 类的属性

    在python中语法比较灵活,对象的属性并不需要像Java那样事先在类里面声明好。
    而是可以通过点标记法(dot notation)来动态指定。

    语法:
    [对象].[属性] = {值}

    eg:

    class Point:
        pass
    
    
    p1 = Point()
    
    p1.x = 1
    p2.y = 2
    
    
    print(p1.x, p1.y)
    

     

    3. 类的方法

    语法:
    def 方法名(self, 参数1, 参数2, ... 参数n):
      {方法体}

    eg:

    import math
    
    class Point:
        def reset(self):
            self.x = 0
            self.y = 0
    
        def move(self, x, y):
            self.x = x
            self.y = y
    
        def calculate_distance(self, other_point):
            return math.sqrt((self.x = other_point.x)**2 +
            (self.y - other_point.y)**2)
    

    方法调用:

    p1 = Point()
    p2 = Point()
    
    p1.reset()
    p2.move(5,5)
    
    print(p1.calculate_distance(p2))
    

     

    4. 对象初始化

    这里别和其它面向对象语言搞混的是,python拥有构造函数和初始化方法,它们是两样东西。
    构造函数: new 接受一个参数,即将要构造的类。
    我们常用的是初始化方法 init

    语法:
    def 方法名(self, 参数1, 参数2, ... 参数n):
      {方法体}

    def 方法名(self, 参数1=值1, 参数2=值2, ... 参数n=值n):
      {方法体}

    eg:

    class Point:
        def __init__(self, x=0, y=0):
            self.move(x, y)
    

    相关文章

      网友评论

          本文标题:编程语言之Python(一) - 类和对象

          本文链接:https://www.haomeiwen.com/subject/erotahtx.html