2016-04-21 68 views

回答

4

不,他們不能。

import statement grammar

import_stmt  ::= "import" module ["as" name] ("," module ["as" name])* 
        | "from" relative_module "import" identifier ["as" name] 
        ("," identifier ["as" name])* 
        | "from" relative_module "import" "(" identifier ["as" name] 
        ("," identifier ["as" name])* [","] ")" 
        | "from" module "import" "*" 

import modulefrom relative_module import形式是在語法兩個完全不同的形式。

2

我認爲MartijnPieters有點草率。這是事實,這是奇怪的,但這裏是一個辦法:

random, choice = (lambda x: (x, x.choice))(__import__("random")) 

你看,__import__("random")返回random模塊對象。然後我們將其傳遞給lambda函數。 lambda函數返回模塊和模塊的choice屬性作爲元組。然後,我們將randomchoice分配給該元組。我絕不會在普通代碼中使用這個,但你可以用這樣做。我會這樣做:

import random 
choice = random.choice 
相關問題