久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Python 的 __all__ 為什么不能防止「不被導出的內容, 就不能訪問」?

瀏覽:153日期:2022-07-18 13:35:20

問題描述

實際現象

期待 __all__ 能控制模塊的訪問

按照社區契約, 私有的東西以_開頭, 但是最近發現有個同事調私有接口(我寫的模塊)

Python是靈活的語言, 不成文的規定是「約定大于配置」

預期現象

搜索了 __all__的資料, 還以為能滿足我的要求, 但是完全不能( 見下文 )

問題

那么, __all__好像一點用處都沒有?

相關代碼

base.py

__all__ = (’a’, ’b’, )a = 1 b = 2 c = 3 # 不希望別人訪問

test.py

import base print(base.c)

輸出

3環境

Python 2.7

問題解答

回答1:

test.py 文件改為

from base import *print aprint bprint c

結果如下:

? python test.py ?12Traceback (most recent call last): File 'test.py', line 8, in <module> print cNameError: name ’c’ is not defined回答2:

在Python中沒有什么是真正私有的

標簽: Python 編程
主站蜘蛛池模板: 宣城市| 桑日县| 韩城市| 鄢陵县| 青岛市| 苗栗市| 海城市| 赣榆县| 萍乡市| 兖州市| 太仆寺旗| 阳泉市| 阳新县| 巩义市| 连山| 嫩江县| 黎平县| 巴林右旗| 湛江市| 滦南县| 咸丰县| 新乡市| 从化市| 平罗县| 唐海县| 天祝| 阿勒泰市| 哈巴河县| 逊克县| 昌黎县| 米脂县| 阿克苏市| 东乌| 措美县| 广昌县| 固阳县| 米脂县| 云南省| 博罗县| 河东区| 沅江市|