python 模組的範圍

來源:互聯網
上載者:User

標籤:lse   函數   語言   引用   play   utf-8   coding   調用   private   

範圍:變數,函數

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 模組的範圍

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.