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

2020-05-21  本文已影响0人  ElliotG

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)
上一篇下一篇

猜你喜欢

热点阅读