2012-12-24 32 views
0

我想基於我定義的數字創建多個變量。
目前,我有一個客戶端和一個服務器運行,每次客戶端加入時,我都希望服務器創建一個變量。
每個用戶分配一個號碼:Python,基於整數創建多個變量

list_of_addr = [] 
user_num = 0 
recv_verf, addr = server_socket.recvfrom(2048) 
if(recv_verf == 'connect'): 
    recv_user, addr = server_socket.recvfrom(2048) 
    list_of_addr.append('User:' + recv_user + ' # ' + str(user_num) + '\n') 
    user_num = user_num + 1 
    print 'User:' + recv_user + ' # ' + str(user_num) + ' connected' 

我想基於這個數字在這裏創建的變量。類似user_(user_num)= 0.
我不知道如何解釋這一點。對不起,這是模糊的。
在此先感謝!

+0

爲什麼你不使用'list'或'dict'? – MostafaR

+0

您可以創建一個類來容納有關客戶端的任何變量,並且在每個「連接」上追加一個新的類項目到列表中。現在您可以存儲更多信息,並以一種整潔且容易接受的方式存儲。 (*你可以在列表中做所有事情,但隨着需求的增長,你的列表可能會變得非常混亂,很難處理*但是這是你的呼叫) –

+0

你有沒有什麼可以滿足會話或授權? –

回答

8

不要這樣做。如果你想擁有一組由名稱指向的動態項目,這就是dict的用途。如果您只想要特定訂單中的物品清單,那麼這就是list的用途。

變量名應該保存在您的程序員實際編寫的代碼中。另一條路是瘋狂。

+0

謝謝!我是python的新手,而且字典工作。 – user1815591

0

的字典將是這樣的一個合適的解決方案:

list_of_addr = [] 
user_num = 0 
recv_verf, addr = server_socket.recvfrom(2048) 
if(recv_verf == 'connect'): 
    recv_user, addr = server_socket.recvfrom(2048) 
    list_of_addr.append(dict(user=recv_user, number=user_num)) 
    user_num = user_num + 1 
    print 'User: {0} # {1} connected'.format(list_of_addr[-1]['user'], list_of_addr[-1]['number']