python面向对象
时间: 2023-06-21 14:14:24 浏览: 121
Python是一种面向对象编程语言,它支持面向对象编程的所有特性,例如类、继承、多态和封装。下面是一些面向对象编程的基本概念和语法:
## 类
类是一个代码模板,用于创建对象。类定义了对象的属性和方法。在Python中,使用`class`关键字来定义类。
```python
class MyClass:
pass
```
这是一个空类,可以用来创建一个空对象。
## 对象
对象是类的实例。在Python中,使用类的名称后面跟上一对括号来创建对象。
```python
my_object = MyClass()
```
这将创建一个名为`my_object`的对象,它是`MyClass`的一个实例。
## 属性
属性是对象的数据。在类中,可以定义属性,以便在创建对象时设置和检索值。可以使用`self`关键字来引用对象本身,从而设置和检索属性。
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p = Person("John", 25)
print(p.name) # 输出 "John"
print(p.age) # 输出 25
```
在上面的例子中,`Person`类有两个属性`name`和`age`。`__init__`方法是类的构造函数,用于初始化属性。
## 方法
方法是与对象关联的函数。在类中,可以定义方法,以便在对象上执行操作。方法的第一个参数总是`self`,它引用对象本身。可以使用这个参数来访问对象的属性。
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def say_hello(self):
print("Hello, my name is", self.name)
p = Person("John", 25)
p.say_hello() # 输出 "Hello, my name is John"
```
在上面的例子中,`Person`类有一个方法`say_hello`,它打印出对象的名称。
## 继承
继承是一种创建新类的方式,它从现有类中继承属性和方法。在Python中,使用子类继承父类。
```python
class Student(Person):
def __init__(self, name, age, grade):
super().__init__(name, age)
self.grade = grade
def say_hello(self):
super().say_hello()
print("I am in grade", self.grade)
s = Student("Alice", 18, 12)
s.say_hello() # 输出 "Hello, my name is Alice" 和 "I am in grade 12"
```
在上面的例子中,`Student`类继承自`Person`类,并添加了一个名为`grade`的属性。`say_hello`方法被重写,以便打印学生的年级。
以上是Python面向对象编程的基本概念和语法。
阅读全文