python 模块的作用域
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 模块的作用域相关的知识,希望对你有一定的参考价值。
作用域:变量,函数
Public(公开):可以直接被引用,如:abc, PI, test() ,类似__xxx__这样的特殊变量 。联想:C语言中, 当模块的某个东西希望外部能够引用,就在前面添加extern,或者不添加extern也可以
Private(秘密):不应该被直接引用,如:_xxx / __xxx 这样的变量。联想:C语言中, 当模块的某个东西不希望外部被引用时,就在前面添加static
当一个模块中存在部分不想被其他人引用的变量或函数时,如何操作?如下:
private.py是被调模块
public.py是公开模块
#private.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
def _private_1(name): #该函数为秘密函数
return 'Hello, %s' % name
def _private_2(name): #该函数为秘密函数
return 'Hi, %s' % name
def greeting(name=''): #该函数为公开函数,能被调用
if len(name) > 3:
return _private_1(name)
else:
return _private_2(name)
if __name__=='__main__':
print(greeting())
#public.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from private import greeting #导入private模块的greeting函数
print(greeting(['you', 'very', 'nice']))
以上是关于python 模块的作用域的主要内容,如果未能解决你的问题,请参考以下文章