美文网首页
关于类和对象的调用引发的猜想

关于类和对象的调用引发的猜想

作者: 糕糕python | 来源:发表于2018-11-01 16:51 被阅读0次
在之前的学习中,我利用python中的pysam模块做出了一个继承外部变量的对象,这玩意好像跟书上的继承不是一个东西,我不知道为什么能做到,但就是写了出来,对此 我很好奇

首先要把自己比较模糊的问题搞清楚,比如实例化类和对象后,通过内部调用可以运行外部全局变量的函数吗,我们试一试先来试试:

class Project:     #新建一个对象
    def __init__(self):
        pass
    def function(self):       #函数内部调用一个外部全局变量func()
        print(func())
        return 0

def func():
    print("my name is gaogao")
    return 1

A = Project()                #实例化对象
print(A.function())

结果运行:

my name is gaogao
1
0

耶?居然可以,那我之前的代码就写了几句废话了。
一个大胆的猜想,如果我在函数里面传入一个外部参数func函数,我是不是就可以在不修改原代码的情况下,追加一个新的功能?

class Project:          
    def __init__(self):
        pass
    def function(self,func1):
        func1()
        print("do something")
        return 1


def func():
    print("my name is gaogao")

A = Project()
print(A.function(func))

运行结果

my name is gaogao
do something
1

这相当于 func = func1 传了进去,那么函数在内部调用的时候,就会一并运行上外部的func(),如果我在外部函数又双叒引用一个外部函数,是不是可以无限追加了啊?咦不对,这个东西,看着怎么有点熟悉啊???



大概像7,80年代的装饰器?以前听装饰器听得糊里糊涂,现在有点懂又好像不懂了

啊~好想快点写出一些大家都看不懂的代码啊啊啊

相关文章

网友评论

      本文标题:关于类和对象的调用引发的猜想

      本文链接:https://www.haomeiwen.com/subject/majxxqtx.html