Python类详解

作者制作不易,关注、点赞、收藏一下吧!

目录

1.Python 类的概念

1.1. 封装

1.2. 继承

1.3. 多态

2.Python 类的基本语法

3.类的特性

3.1.属性与方法

3.2.类方法与静态方法

3.3.特殊方法

3.4.继承

3.5.多态


1.Python 类的概念

在Python中,类是一种用于创建对象的蓝图或模板,它定义了一组相似的对象应该具有哪些属性和方法。类是面向对象编程(OOP)中的一个核心概念,它支持封装、继承和多态这三大特性,使得代码更加模块化、可重用且易于维护。

1.1. 封装

封装是指将数据和操作数据的方法绑定在一起,隐藏内部实现细节,并通过公共接口暴露给外部。这样做的好处是可以限制对对象内部状态的访问,提高安全性,同时也简化了对象的使用方式。

1.2. 继承

继承允许一个类(子类)继承另一个类(父类)的属性和方法,从而可以复用代码并扩展功能。子类不仅可以使用父类已有的功能,还可以覆盖或添加新的方法来适应更具体的需求。

1.3. 多态

多态是指允许不同类的对象对同一消息作出响应的能力。简单来说,就是同一个接口可以被不同的对象以不同的方式实现。这增加了程序的灵活性和扩展性。

2.Python 类的基本语法

创建一个简单的类:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def print_(self):
        print(f"Hello, my name is {self.name} and I am {self.age} years old.")

__init__() 方法是一个特殊方法,称为构造函数或初始化方法,在创建新实例时自动调用。
self() 参数代表当前实例本身,通过它可以访问类的属性和方法。
print_() 是一个普通方法,用于打印个人信息。


创建对象并调用方法:

apk = Person("apk", 1)
apk.print_()  # 输出: Hello, my name is apk and I am 1 years old.

apk 是创建的对象,apk.print_() 在调用方法。

3.类的特性

3.1.属性与方法

属性:类中定义的变量称为属性,可以在类的任何地方访问。
方法:类中定义的函数称为方法,通常用来实现特定的功能。

3.2.类方法与静态方法

类方法:通过装饰器 @classmethod 定义,第一个参数通常是 cls,表示类本身,而不是实例对象。
静态方法:通过装饰器 @staticmethod 定义,不传递类或实例作为第一个参数。

3.3.特殊方法

Python 中有一些特殊方法(也叫魔术方法),它们以双下划线开头和结尾,如 __init__、__str__ 等,用于实现类的一些内置行为。

3.4.继承

继承由父类( 基类 )和子类( 派生类 )构成。

定义一个父类animal和一个子类cat:

class animal:
    def speak(self):
        print("I am a animal.")
    def print_(self):
        print("Hello!")

class cat(animal):
    def speak(slef):
        print("I am a cat.")
an = animal()
ca = cat()
an.speak()
an.print_()
ca.speak()
ca.print_()
# 运行结果:
# I am a animal.
# Hello!
# I am a cat.
# Hello!

这里 cat类 继承自 animal类 ,并覆盖了 speak() 方法。

3.5.多态

def duotai(animal_type):
    animal_type.speak()
duotai(ca)
# 运行结果:
# I am a cat.

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值