【问题标题】:How to import a variable from a function in Python 3如何从 Python 3 中的函数导入变量
【发布时间】:2019-06-18 12:26:00
【问题描述】:

我在导入函数时遇到了一些问题。这是代码!

main.py

!/usr/bin/env python

import pyglet

class main():
    def mainfunc(self):
    # sets up user input and converts it into a string
        userinput = str(input("Please enter the full path of your     file: "))

        path = userinput
        return userinput
        music = pyglet.media.load(userinput)
        exitinput = str(input("Do you want to exit? Please press q to quit!"))
        music.play()
        pyglet.app.run()
        if exitinput == "q":
            quit()
        else:
            pass
main()

播放列表.py

from main import mainfunc

class PlayLists:

    def playlists(self):
        playinput = str(input("Please enter a key if you want to save a playlist"))
        user = main()
        user.main(userinput)

另外,我在尝试按“q”按钮退出程序时遇到问题。顺便说一句,main.py 的第一行需要一个井号。 谢谢!

【问题讨论】:

  • 第一:当时一个问题。其次,您的代码存在更多错误,而不仅仅是从其他文件导入。因此,首先降低代码的复杂性,看看不太复杂的方法是否有任何问题,而不是在您认为需要时转向更复杂的解决方案。在这种情况下,这意味着。只使用一个文件。不要使用任何类,您当前使用它们不正确,即它们的代码不完整。如果您正确地进行了该工作,则可以通过将内容放入类中来继续前进。如果你有这个工作,你可以在文件中分割东西。
  • 我认为这里的问题不仅仅是导入。例如,return userinput 将返回并退出函数。该函数的其余部分将不会运行。我还认为这里不需要类,因为没有利用面向对象的范式(至少在您发布的内容中没有明确)
  • 我认为你没有理由使用课程。您永远不会调用它的 __init__(self): 函数,实际上根本不会使用和 self.method 功能。在我看来,您应该取出 class main() 行并删除 main.py 中的其余代码,使其成为一个函数

标签: python python-3.x function class variables


【解决方案1】:

您正在尝试从类中导入方法


from main import main

main.mainfunc() #to access your method from the class
user = main() #to create an instance of the imported class
user.mainfunc(userinput) # to get the method going

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-21
    • 2017-11-07
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2017-01-24
    相关资源
    最近更新 更多