Python面向对象编程之类与对象199
## 类与对象的定义
在面向对象编程中,类是一个模板,它定义了对象的属性和方法。对象是类的实例,具有自己的属性和方法。
类通常用大写字母开头的名称标记,例如`Student`。对象用小写字母开头的名称标记,例如`student`。
## 创建类
使用`class`关键字创建类:
```python
class Student:
def __init__(self, name, age):
= name
= age
```
`__init__()`方法是类的构造函数,它在创建对象时被调用。它接受对象属性作为参数,并将其分配给对象的属性。
## 创建对象
使用`class`名称创建对象:
```python
student1 = Student("John", 20)
```
`student1`是一个`Student`类的对象,它具有属性`name`和`age`,分别为"John"和20。
## 访问属性和方法
使用点运算符(.)访问对象的属性和方法:
```python
print() # 输出: John
() # 调用study()方法
```
## 方法
方法是类中定义的函数,可以操作对象。方法的第一个参数总是`self`,它指向调用该方法的对象。
在上面示例中,`study()`方法是一个操作`Student`对象的示例方法:
```python
class Student:
def study(self):
print(f"{} is studying.")
```
## 继承
继承允许一个类从另一个类继承属性和方法。子类可以使用父类的方法,并可以添加自己的方法和属性。
使用`class`关键字和父类名称创建子类:
```python
class Undergrad(Student):
def take_exam(self):
print(f"{} is taking an exam.")
```
`Undergrad`从`Student`类继承,它可以使用`study()`方法,并添加了自己的`take_exam()`方法。
## 多重继承
一个类可以从多个父类继承。使用逗号分隔父类名称:
```python
class Researcher(Student, Employee):
def publish_paper(self):
print(f"{} is publishing a paper.")
```
`Researcher`类从`Student`和`Employee`类继承,它可以使用这两个父类的属性和方法。
## 属性类型检查和注释
Python支持类型检查和属性注释:
```python
class Student:
name: str
age: int
def __init__(self, name: str, age: int):
= name
= age
```
这些注释表示`name`属性是一个字符串,`age`属性是一个整数。这可以在代码开发和调试过程中提供额外的帮助。
## 结论
类和对象是面向对象编程的基础。理解类和对象如何工作对于创建和使用复杂的Python程序至关重要。
2024-12-21
最新文章
49分钟前
2小时前
3小时前
4小时前
6小时前
热门文章
01-10 17:00
01-10 14:16
01-06 17:29
01-03 15:31
12-03 05:01
【超实用】Python少儿编程入门:孩子学编程必备工具、常用库与学习路径全解析!
https://jb123.cn/python/73453.html
Perl循环控制:深度剖析next、last、redo与更高级用法
https://jb123.cn/perl/73452.html
Perl语言与骆驼:代码沙漠中的坚韧行者
https://jb123.cn/perl/73451.html
玩转JavaScript时间魔法:从入门到精通,动态更新与优雅格式化全解析!
https://jb123.cn/javascript/73450.html
Perl哈希数据整合与覆盖:实战指南
https://jb123.cn/perl/73449.html
热门文章
Python 编程解密:从谜团到清晰
https://jb123.cn/python/24279.html
Python编程深圳:初学者入门指南
https://jb123.cn/python/24225.html
Python 编程终端:让开发者畅所欲为的指令中心
https://jb123.cn/python/22225.html
Python 编程专业指南:踏上编程之路的全面指南
https://jb123.cn/python/20671.html
Python 面向对象编程学习宝典,PDF 免费下载
https://jb123.cn/python/3929.html