2017-04-21 79 views
-1

我创建了一个文件如何导入输入?

#name file ask.py 
def ask_name(): 
    user = input("What is your name?: ") 

,我进口它

import ask 
ask.ask_name() 
print(user) 

但是Python告诉我, “用户” 没有定义。

+1

这么多的方法可以做到这一点......但你可能需要添加'ask.py'模块中的'返回user',那么将有可能通过改变线来定义“用户”到'user = ask.ask_name()',那么你的打印语句就可以工作。 – davedwards

回答

3

这不是:用户是一个可变的内部ask_name,不是属性问。试试这个:

#name file ask.py 
def ask_name(): 
    user = input("What is your name?: ") 
    return user 

# Main file 
import ask 
local_input = ask.ask_name() 
print(local_input) 
0

user变量“住”只有里面的“ask_name`功能(读this excellent post详细了解变量的作用域),所以它的主要脚本中不确定的。 你可以让函数返回用户的输入,并打印返回的值。

#name file ask.py 
def ask_name(): 
    return input("What is your name?: ") 

# Main file 
import ask 
print(ask.ask_name()) 
+0

你实际上不能'return = input()'。它应该是'返回输入(“你叫什么名字?:”)' – MLavrentyev

+0

谢谢@MLavrentyev,我纠正了错字:) – teknoboy