国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

五、python使用模塊

2019-11-14 17:14:04
字體:
來源:轉載
供稿:網友
if __name__=='__main__':用法:

當我們在命令行運行模塊文件時,Python解釋器把一個特殊變量__name__置為__main__,而如果在其他地方導入該hello模塊時,if判斷將失敗,因此,這種if測試可以讓一個模塊通過命令行運行時執行一些額外的代碼,最常見的就是運行測試。

if __name__=='__main__':    test()

作用域

在一個模塊中,我們可能會定義很多函數和變量,但有的函數和變量我們希望給別人使用,有的函數和變量我們希望僅僅在模塊內部使用。在Python中,是通過_前綴來實現的。

正常的函數和變量名是公開的(public),可以被直接引用,比如:abcx123PI等;

類似__xxx__這樣的變量是特殊變量,可以被直接引用,但是有特殊用途,比如上面的__author____name__就是特殊變量,hello模塊定義的文檔注釋也可以用特殊變量__doc__訪問,我們自己的變量一般不要用這種變量名;

類似_xxx__xxx這樣的函數或變量就是非公開的(PRivate),不應該被直接引用,比如_abc__abc等;

之所以我們說,private函數和變量“不應該”被直接引用,而不是“不能”被直接引用,是因為Python并沒有一種方法可以完全限制訪問private函數或變量,但是,從編程習慣上不應該引用private函數或變量。

private函數或變量不應該被別人引用,那它們有什么用呢?請看例子:

def _private_1(name):    return 'Hello, %s' % namedef _private_2(name):    return 'Hi, %s' % namedef greeting(name):    if len(name) > 3:        return _private_1(name)    else:        return _private_2(name)
我們在模塊里公開greeting()函數,而把內部邏輯用private函數隱藏起來了,這樣,調用greeting()函數不用關心內部的private函數細節,這也是一種非常有用的代碼封裝和抽象的方法,即:

外部不需要引用的函數全部定義成private,只有外部需要引用的函數才定義為public。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿城市| 万年县| 正阳县| 井冈山市| 济宁市| 吉安县| 故城县| 丰镇市| 富蕴县| 宜春市| 长顺县| 岢岚县| 邵阳市| 乌鲁木齐市| 上栗县| 儋州市| 乌兰察布市| 浦东新区| 芜湖市| 英超| 安仁县| 壤塘县| 长沙市| 浏阳市| 阿图什市| 定南县| 长沙市| 华坪县| 潢川县| 凯里市| 万山特区| 洞口县| 惠东县| 叶城县| 正镶白旗| 珠海市| 古田县| 水城县| 克什克腾旗| 大连市| 临漳县|