少说话多写代码之Python学习041——类03(类命名空间 )

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yysyangyangyangshan/article/details/83964102

先看两个函数,实现一个数的平方。

def squarter(x):
    return  x*x

squarter2 = lambda  x: x*x

print(squarter(9))
print(squarter2(8))

输出

81
64

调用时,squarter和squarter2可以在全局函数模块定义,也可以在局部函数中定义。这样定义的其实都可称作代码块。而我们定义的类,其实是一个特殊的代码块,代码块中的变量,方法
只能被这个类的实例所访问。比如下面我们定义的类,如果需要访问元素只能通过实例访问,且不同的实例都可以访问类里的元素。

class memberCollectCount:
    count=0
    def init(self):
        memberCollectCount.count +=1

m1=memberCollectCount()
m1.init()
print(m1.count)

m2=memberCollectCount()
m2.init()
print(m2.count)

输出

1
2

这里是一个执行计数的一个类,每执行init一次,都计数。

再定义个类,

class memberCollectCount2:
    count=0
    def init(self):
        memberCollectCount2.count +=1

都有count和init但是它们属于不同的类,其实也是属于不同的命名空间。
因为Python是解释执行的,只有在执行的时候才会有命名空间产生。
工程文件下载:https://download.csdn.net/download/yysyangyangyangshan/10778545

猜你喜欢

转载自blog.csdn.net/yysyangyangyangshan/article/details/83964102