欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-24 23:49:22
...

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

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

相关标签: 命名空间