pycharm自己建一个子函数闭源,不让其他人看见源代码,以一个“延时函数”举例教程代码加注释
时间: 2024-03-10 07:49:32 浏览: 53
以下是将子函数定义为私有函数,只有在同一个模块中才能被访问的示例代码,同时加上了注释以方便理解,以一个"延时函数"为例:
```python
import time
# 定义一个公共函数
def delay_print(msg, delay=1):
"""
延时打印函数
:param msg: 需要打印的消息
:param delay: 延时时间,默认为1秒
"""
# 调用私有函数
_private_function()
time.sleep(delay)
print(msg)
# 定义一个私有函数,只有在同一个模块中才能被访问
def _private_function():
print("This is a private function")
# 定义一个公共变量
public_var = "This is a public variable"
# 定义一个私有变量
_private_var = "This is a private variable"
```
在以上代码中,将函数名前加上"_"或"__"即可将函数定义为私有函数。在其他模块或包中,只能访问"delay_print"和"public_var",而不能访问"_private_function"和"_private_var"。
如果你希望在同一个模块中调用"_private_function"和"_private_var",可以直接在模块中进行调用,如下所示:
```python
# 调用公共函数
delay_print("This is a public message")
# 访问公共变量
print(public_var)
# 访问私有变量
print(_private_var)
```
需要注意的是,虽然将子函数定义为私有函数可以控制函数的访问权限,但是并不能完全保证模块或包的安全性,因为Python中的私有函数只是一种约定,而不是强制性的规定。
阅读全文