Python的sys模組如何操作使用,正確的案例詳解
Python本身就內建了很多非常有用的模組,只要安裝完畢,這些模組就可以立刻使用。 我們以內建的sys模組為例,編寫一個hello的模組: #!/usr/bin/env python3
-- coding: utf-8 --
’ a test module ’
author = ‘Michael Liao’
import sys
def test():
args = sys.argv
if len(args)1:
print(‘Hello, world!’)
elif len(args)2:
print(‘Hello, %s!’ % args[1])
else:
print(‘Too many arguments!’)
if name
import hello
匯入時,沒有列印Hello, word!,因為沒有執行test()函式。 呼叫hello.test()時,才能打印出Hello, word!:
hello.test() Hello, world! 作用域 在一個模組中,我們可能會定義很多函式和變數,但有的函式和變數我們希望給別人使用,有的函式和變數我們希望僅僅在模組內部使用。在Python中,是通過_字首來實現的。 如果你還不知道如何正確操作,也沒有正確的學習方法,可以進小編扣扣裙【278136312】 裙公告裡面有正確的學習視訊資料和學習路線,遇到問題裡面有大佬解答指導 正常的函式和變數名是公開的(public),可以被直接引用,比如:abc,x123,PI等; 類似__xxx__這樣的變數是特殊變數,可以被直接引用,但是有特殊用途,比如上面的__author__,__name__就是特殊變數,hello模組定義的文件註釋也可以用特殊變數__doc__訪問,我們自己的變數一般不要用這種變數名; 類似_xxx和__xxx這樣的函式或變數就是非公開的(private),不應該被直接引用,比如_abc,__abc等; 之所以我們說,private函式和變數“不應該”被直接引用,而不是“不能”被直接引用,是因為Python並沒有一種方法可以完全限制訪問private函式或變數,但是,從程式設計習慣上不應該引用private函式或變數。 private函式或變數不應該被別人引用,那它們有什麼用呢?請看例子: 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) 我們在模組裡公開greeting()函式,而把內部邏輯用private函式隱藏起來了,這樣,呼叫greeting()函式不用關心內部的private函式細節,這也是一種非常有用的程式碼封裝和抽象的方法,即:
外部不需要引用的函式全部定義成private,只有外部需要引用的函式才定義為public。