Python从0到50(三):面向对象编程入门

目录

1. 什么是面向对象编程(OOP)

2. Python类和对象

定义类

创建对象(实例)

3. 类的属性和方法

4. 构造方法 __init__

5. 实例属性与类属性

实例属性

类属性

6. 方法类型:实例方法、类方法、静态方法

实例方法(最常见)

类方法(@classmethod)

静态方法(@staticmethod)

7. 继承和多态

继承

多态

8. 方法重写(Override)和super()

9. 魔法方法(特殊方法)

1. __str__ 和 __repr__ 让对象可打印

2. 运算符重载(__add__, __len__, ...)

10. 封装(私有属性和方法)

11. 对象之间的关系

12. 实例:一个简单的面向对象设计

13. 小结和建议

【补充:类的文档与特殊属性】

完整案例:学生-课程系统


1. 什么是面向对象编程(OOP)

面向对象是一种编程范式,把现实世界的事物封装成“对象”,对象由“属性”(数据)和“方法”(函数)组成。面向对象主要包括封装、继承、多态三大特性。


2. Python类和对象

定义类

Python

class Animal:
    pass
创建对象(实例)

Python

cat = Animal()
print(cat)  # <__main__.Animal object at 0x...>

3. 类的属性和方法

属性描述对象的状态,方法描述对象的行为。

Python

class Dog:
    def bark(self):
        print("Woof!")

dog = Dog()
dog.bark()  # 输出:Woof!

4. 构造方法 __init__

用于初始化对象。

Python

class Person:
    def __init__(self, name, age):
        self.name = name  # 实例属性
        self.age = age

p1 = Person("Alice", 20)
print(p1.name, p1.age)  # 输出:Alice 20

5. 实例属性与类属性

实例属性

属于每一个对象,互不影响。

类属性

属于类本身,所有对象共享。

Python

class Student:
    school = "PythonSchool"  # 类属性
    
    def __init__(self, name):
        self.name = name  # 实例属性

s1 = Student("Tom")
s2 = Student("Jerry")
print(s1.school)  # PythonSchool
print(s2.school)  # PythonSchool
Student.school = "NewSchool"
print(s1.school)  # NewSchool

6. 方法类型:实例方法、类方法、静态方法

实例方法(最常见)

Python

class Hello:
    def say_hello(self):
        print("Hello")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值