详解Python类相关知识

关于python中类的定义是很多的,我们通过以下代码理解类

class Person:
    # 类属性 //可多次定义
    species = "你好呀"

    # 初始化方法(构造函数) //唯一
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # 实例方法 //可多次定义
    def say_hello(self):
        print("name:" + str(self.name), "age:", int(self.age) + 10)

    # 类方法 //可多次定义
    @classmethod
    def get_species(cls, name, age):
        instance = cls(name, age)
        return instance

    # 静态方法 //可多次定义
    @staticmethod
    def multply(x, y):

        return x * y


# 创建实例 通过初始化方法
person1 = Person("Alice", 25)
person2 = Person("Bob", 30)

# 创建实例,通过类方法
person3 = Person.get_species("Anil", 18)

# 访问实例中的数据
print(person1.name)
print(person2.age)
print(person3.name)
print(person3.age)

# 调用实例方法,通过实例调用
person1.say_hello()

# 调用静态方法,通过类名调用,传入特定参数
result = Person.multply(3, 4)
print(result)

# 通过实例调用类属性
print(person1.species)

# 通过类调用类属性
print(Person.species)

分别用一些比较直白的话来解释以下这些词语

  • 类属性:在类中定义一个变量,可以在类中使用,可以被实例,被类访问
  • 初始化方法:传入特定参数self,常常用来初始化一个实例
  • 实例方法:使用装饰器@classmethod装饰,传入特定参数cls,用于对类层次进行操作,注:也可以创建一个实例
  • 静态方法,可以理解为一个函数,没有特定参数,你甚至可以传入特定参数self之类的,做一些上述方法的事,一般没人这么干
  • 装饰器:这个为何也要在类中聊聊,初看这个名字觉得很高大上,其实就是一个函数被某个装饰器装饰了,形成新的函数了,还是挺云里雾里的,我们来看一个例子
def decorator_function(original_function):
    def wrapper_function():
        print("Before calling the original function")
        original_function()
        print("After calling the original function")

    return wrapper_function

@decorator_function
def function_1():
    print("Inside the original function")
function_1()

我们从三个方面来理解理解这个

使用

1.定义一个装饰器函数,用函数A检简称,这个函数接受的参数是一个函数类型,然后在该函数内部再定义一个函数,装饰器函数返回它的内部函数,从而使用装饰器得到新的函数其实就是那个返回的内部函数
2.定义一个函数,用函数B来简称,我们如果要装饰这个函数,需要用@装饰器函数,接下来写你定义函数def...

结果

  • 调用函数A装饰函数B得到了函数C

作用

  • 增强或者说是编辑某个函数

最后这都是自己摸索的,每个字也都是一个一个敲得,话也比较直白,如有不足请指出,感激万分,如果能帮助到你,那再好不过

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值