少说话多写代码之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
下一篇: Java HashMap实现原理