首页 > 编程语言 > 详细

python 模块的作用域

时间:2018-07-18 16:44:26      阅读:201      评论:0      收藏:0      [点我收藏+]
作用域:变量,函数

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 模块的作用域

原文:http://blog.51cto.com/13502993/2146812

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!