Python 数据结构之面向对象
面向对象的理解
面向对象编程是一种程序设计方法,将数据和相关处理逻辑打包在一起,形成一个对外开放的接口,称之为类。通过实例化该类,可以创建一个对应的对象,该对象可以调用该类中的方法,实现数据的处理。
面向对象的概念
- 类(Class):
类是一种模板,它定义了对象的属性和方法。一个类中可以有多个方法,每个方法可以完成不同的功能。
例如:
```python
class Student:
def init(self, name, age):
self.name = name
self.age = age
def get_name(self):
return self.name
def get_age(self):
return self.age
s = Student('Tom', 18)
print(s.get_name()) # Tom
print(s.get_age()) # 18
```
- 对象(Object):
对象是类的实例,它具有类所定义的属性和方法。可以通过实例化该类来创建一个对象。
例如:
```python
class Student:
def init(self, name, age):
self.name = name
self.age = age
def get_name(self):
return self.name
def get_age(self):
return self.age
s = Student('Tom', 18)
print(s.get_name()) # Tom
print(s.get_age()) # 18
```
- 属性(Attribute):
属性是对象的状态,它描述对象所具有的特征。在 Python 中,对象的属性可以动态添加或修改。
例如:
```python
class Student:
def init(self, name, age):
self.name = name
self.age = age
s = Student('Tom', 18)
s.score = 98
print(s.score) # 98
```
- 方法(Method):
方法是对象的行为,它描述对象所具有的功能。在 Python 中,方法和函数的定义是类似的,但方法必须在类中定义。
例如:
```python
class Student:
def init(self, name, age):
self.name = name
self.age = age
def get_name(self):
return self.name
def get_age(self):
return self.age
s = Student('Tom', 18)
print(s.get_name()) # Tom
print(s.get_age()) # 18
```
面向对象的实例
示例一:实现一个学生类
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
def get_name(self):
return self.name
def get_age(self):
return self.age
s = Student('Tom', 18)
print(s.get_name()) # Tom
print(s.get_age()) # 18
示例二:实现一个三角形类
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def perimeter(self):
return self.a + self.b + self.c
def area(self):
p = self.perimeter() / 2
return (p * (p - self.a) * (p - self.b) * (p - self.c)) ** 0.5
t = Triangle(3, 4, 5)
print(t.perimeter()) # 12
print(t.area()) # 6.0
总结
上述是 Python 中面向对象编程的基本概念和实例,面向对象编程将数据和处理逻辑打包在一起,提高了代码的可复用性和可扩展性。我们可以尝试使用面向对象编程的思想来设计和实现更加灵活和复杂的系统。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python数据结构之面向对象 - Python技术站