介绍
模块封装时候,希望有一些函数不被外部直接调用。C语言通常采用static int function()形式以及头文件形式作为标识。而python不存在头文件,但可以通过修饰符@staticmethod进行代替。
@staticmethod
def your_function():
# 你的代码
print("your function work")
设置方法
设置方法:在函数上方添加@staticmethod
- 首先在test1.py输入如下两个函数
@staticmethod
def __a():
print("a")
def b():
print("b")
- 在test2.py中导入test1.py 并调用
import test1
test1.__a()
test1.b()
- 可以看到如下报错信息
可以看出,__a()这个函数无法执行,但调用b()则不会有问题
Traceback (most recent call last):
File "D:\Python_demo\demo2\ledaProgram\code\te2.py", line 3, in <module>
te1.__a()
TypeError: 'staticmethod' object is not callable
staticmethod介绍
我们在类中写staticmethod修饰,其含义可以参考
https://www.runoob.com/python/python-func-staticmethod.html
博客介绍了在Python模块封装时,当希望一些函数不被外部直接调用,可使用修饰符代替C语言的头文件形式。重点介绍了staticmethod的设置方法,即在函数上方添加@staticmethod,还给出了示例及报错情况,并提供了相关参考链接。
1611

被折叠的 条评论
为什么被折叠?



