编程语言之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)