簡體   English   中英

Python使用命名空間的等價性

[英]Python's equivalence of using namespace

我有以下Helper.py python腳本

class Helper:
# Helper has many many classes! (AA, BB, CC, DD, ....) not just 2!
    class AA:
        CMD_AA = '8'
        CMD_AB = '1'

    class BB:
        CMD_BA = '0'
        CMD_BB = '1'

我創建了這個幫助文件,使代碼更具可讀性。 所以可以寫這個;

# this usage is more readable and makes sense
cmd.a = AA.CMD_AB 
cmd.b = BB.CMD_BB 

# instead of some thing like this where no one knows
# what 1 is interms of a or b!!
cmd.a = 1
cmd.b = 1

輔助腳本在許多python文件中導入! 我知道如何使用它的唯一方法就是這樣

from Helper import *
cmd.a = Helper.AA.CMD_AA  # instead of cmd.a = 8
cmd.b = Helper.BB.CMD_BB  # instead of cmd.b = 1

有沒有辦法擺脫'助手'。 我已經添加了更多打字。 所以它看起來像;

from Helper import *

#in C++ u can use something like using namespace Helper;
cmd.a = AA.CMD_AA  # instead of cmd.a = 8
cmd.b = BB.CMD_BB  # instead of cmd.b = 1

你應該只刪除包裝器Helper類並對文件的其余部分進行刪除...如果你需要,文件本身就會提供命名空間

Helper.py

class CMD_AA:
    ...

main.py

import Helper
Helper.CMD_AA
# or just
from Helper import CMD_AA 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM