python 无需初始化的猴子补丁

4dc9hkyq  于 2023-06-04  发布在  Python
关注(0)|答案(1)|浏览(125)

我想钱修补程序的功能,而不需要初始化使用pd.DataFrame.function = function
例如,如果我有一个 Dataframe df,我调用df.unique(),我不必在运行之前运行pd.DataFrame.unique = unique,因为这似乎是内置的。有没有一种方法,我可以做同样的我自己的功能,而不需要初始化每一次?

ovfsdjhp

ovfsdjhp1#

修补现有的类,例如pd.DataFrame,所以所有示例都有一个打补丁的方法并不是微不足道的,IMO。
那么简单地子类化pd.DataFrame呢?

import pandas as pd

class MyDataFrame(pd.DataFrame):
    def my_func(self):
        print("yey")

df = MyDataFrame()
df.my_func()

# Outputs:
# yey

相关问题