Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在for python循环中运行多个函数_Python_Loops - Fatal编程技术网

在for python循环中运行多个函数

在for python循环中运行多个函数,python,loops,Python,Loops,这是我节目的开始。我希望很多函数都在for循环中,如第三个函数所示。我该怎么办 #!/usr/bin/env python from rdflib import URIRef, Graph from StringIO import StringIO import subprocess as sub class Wordnet(): def __init__(self, graph): graph = Graph() def process_file(sel

这是我节目的开始。我希望很多函数都在for循环中,如第三个函数所示。我该怎么办

#!/usr/bin/env python

from rdflib import URIRef, Graph
from StringIO import StringIO
import subprocess as sub

class Wordnet():

    def __init__(self, graph):
        graph = Graph()

    def process_file(self, file):
        file = open("new_2.txt", "r")
        return file

    def line_for_loop(self, file):
        for line in file:

    def split_pointer_part(self, before_at, after_at, line):
        before_at, after_at = line.split('@', 1)
        return before_at, after_at    

    def split_word_part(self, word_part, line):
        word_part = line.split()
        return word_part
这只是一个缩进for循环中其他所有内容的问题,还是在调用函数时必须定义循环


作为程序的一部分,如何调用多个函数?我是python新手,我真的不知道。进程不是合适的术语。这些更好地称为函数方法。就Python循环而言,缩进很重要。你确实需要缩进

def line_for_loop(self, file):
    for line in file:
        process_file("example_file_name.txt")
        split_pointer_part(0, 10, "some test string")

您应该从循环内部进行函数调用。上面的示例代码可能不是您代码的精确解决方案,但它应该足以回答您的问题。

这里没有程序。课堂本身什么都不做。您需要实例化该类,然后调用它的一个方法(这是您所调用的“进程”的正确术语)。因此,在本文件末尾,您可以执行以下操作:

wordnet = Wordnet()
my_file = wordnet.process_file()
wordnet.line_for_loop(my_file)
在一个方法中,您可以调用另一个:因此,对于您的循环,您可以执行以下操作:

def line_for_loop(self, file):
    for line in file:
        self.my_method_1()
        self.my_method_2()
您的代码还有一些其他问题。例如,在
\uuuu init\uuuu
方法中,您定义了一个
图形
局部变量,但从未对其执行任何操作,因此它不会存储在任何位置。您需要将变量存储在
self
上,以便它们成为实例属性:

def __init__(self):
    self.graph = Graph()
此外,您似乎对何时向函数传递参数感到困惑。两次(在
\uuuu init\uuuu
process\u file
中)您接受一个参数,然后在方法内部用局部变量重写它。如果在函数中定义变量,则不应将其作为参数传递


请注意,正如我之前说过的,Python不是Java,并不总是需要类。在这种情况下,类除了作为方法的持有者之外,对程序没有任何贡献。在Python中,您通常只需要在模块中使用函数就可以了。

这里有两个不同的问题。当您说“进程”时,您几乎肯定是指不同的东西。你想用这个文件做什么?