我该如何执行一个功能?

时间:2013-04-30 09:18:59

标签: python python-2.7

我是python的新手,我正在尝试做我的第一个python函数,但不幸的是我遇到了一些问题,以便从这个简单的函数中获得预期的结果,请帮我展示该函数的输出。下面发布的函数是在python编辑器中编写的

我不知道如何从python shell调用此函数来显示其结果。

python代码:

def printme( str ):
    "This prints a passed string into this function"
    print str;
    return;

python shell:

>>> printme("d")
>>> Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
printme("d")
NameError: name 'printme' is not defined

5 个答案:

答案 0 :(得分:4)

$ cd /path/to/your/filename.py
$ python
>>> from filename import printme
>>> printme("hello world!")

答案 1 :(得分:3)

您必须在启动解释器时加载脚本。从终端shell(如bash或zsh):

$ python2 -i script.py 
>>> printme("hola")
hola
>>> 



在旁注中,您不必使用分号终止语句(如果它们在自己的行中),也不必在函数末尾附加return语句(因为缩进)和线分离在Python中具有重要意义。

答案 2 :(得分:0)

如果您正在使用任何用于python的IDE,您可以通过按/键入Run(F5等效)来实际运行python shell中的程序。如果不是这样,请继续阅读:

  1. 将程序保存为test.py(或任何其他名称)在您选择的任何位置。
  2. 启动python shell
  3. &gt;&gt; import sys
  4. &GT;&GT; sys.path中
  5. 如果sys.path的输出中存在test.py保存的目录,请转到步骤7
  6. sys.path.append(“保存test.py的目录地址”)
  7. &gt;&gt;导入测试#note .py已删除
  8. &gt;&gt; test.printme(“Hello World”)
  9. sys.path是包含python查找导入模块的所有目录的列表。通过添加(追加)您的目录,您可以确保test.py可以作为模块测试导入。然后,您可以将test.py的任何函数调用为test.fucn()

    在第7步你可以做到: 7.&gt;&gt;来自test import printme 8.&gt;&gt; printme(“再次问候”)

答案 3 :(得分:0)

如果您使用的是unix shell:

$ cd C:\yourpath
$ python mypythonfile.py

如果您使用的是交互模式,那么:

execfile("C:\\myfolder\\myscript.py")

交互模式的漫长道路,但如果您更喜欢设置默认路径:

import os
prevPath = os.getcwd() #save the default path
myPath = "C:\myPython\somepath"
os.chdir(myPath) #set your python path
execfile("myscript.py") #executes the file
#os.chdir(prevPath) will restore the default path

或者我误解了你的问题?如果你只想运行一个函数,它就像这个一样简单..

>>> def printme(str):
    print str


>>> printme("Hello world!")
Hello world!
>>> 

希望这有帮助!

答案 4 :(得分:0)

我的python知识非常低......你提出问题来自tutorial,我必须在Linux shell上编写你的例子,我没有问题......

>>> def printme(str):
        This print .......................
        print str
        return

>>> printme('d')
d

我如何理解,你的问题是你要在没有代码保存的情况下证明使用空闲控制台和Linux shell ....我想,来自shellfly和alKid的例子描述了肠道,你怎么能解决你的问题问题...

抱歉我的英语......