Python 类嵌套在for循环中

Python 类嵌套在for循环中,python,oop,pymongo,Python,Oop,Pymongo,我有一个for循环,其中for循环是一个类。我不认为这是怎么安排的。但我不确定要搜索什么术语来解决我的问题 for x,y in something: do stuff: class someclass: def__init__(self): do stuff 完整的代码可以看到 我曾尝试将这两个模块相互导入,但都没有成功,最终形成了循环依赖关系 将所有非类代码移到另一个文件中,只导入一个模块,只运行上一个团队的db插入,我明白为什么 这是我第一次尝试

我有一个for循环,其中for循环是一个类。我不认为这是怎么安排的。但我不确定要搜索什么术语来解决我的问题

for x,y in something:
    do stuff:

    class someclass:
      def__init__(self):
      do stuff
完整的代码可以看到

我曾尝试将这两个模块相互导入,但都没有成功,最终形成了循环依赖关系

将所有非类代码移到另一个文件中,只导入一个模块,只运行上一个团队的db插入,我明白为什么

这是我第一次尝试用任何语言进行OOP,因此在此方面的任何建议都将不胜感激。这个程序一开始不是面向对象的,这就是为什么这个类在for循环中的原因。oop的所有方面都是在编写了初始程序之后添加的

据我所知,我需要能够从TeamScraper调用某种类型的scrape函数,并将其放入我的for循环中,只是我不确定如何执行它

在任何面向对象语言中,类都是对象类。对象具有属性和方法。类仅定义如何创建特定类型的新对象。OO的主要思想是,和

将一个类的定义放入一个循环就是要求编译器一次又一次地创建该定义,而且完全没有任何用途。类本身告诉程序如何创建特定类型的对象-如果您没有创建和使用对象,那么您就没有使用类定义


看看python是如何实现OO的,并理解为什么OO在这么多现代的、多范式的语言中使用。

如果您要将代码重构为一个完全不同的模型,您必须学习该模型并正确地实现它。不要一行一行地翻译代码,否则你会变得很奇怪。看看你当前的代码,它根本不是OOP。在定义TeamScraper类的过程中,您有一堆非OOP代码,但您从未创建该类的任何实例,也从未与该类的任何实例变量交互。让这段代码更加面向对象,你希望从中得到什么?基本上看,一个特定团队的所有信息都来自soup。我认为您应该尝试编写一个TeamScraper类,该类在其init方法中接受一个参数:uu init_uuself,soup,并从那里填充该类的所有实例变量。任何进一步的处理都应该在TeamScraper.do_scrape方法中。@Marius我正在尝试学习OOP。除了做得不多的小辅导课程外,我很难掌握它。这段代码不需要是面向对象的,但如果我能想出如何实现它,那就太好了。