小编cap*_*cap的帖子

__subclasses__不显示任何内容

我正在实现一个从适当的子类返回对象的函数。如果我SubClass从迁出base.py,则不会出现的子类__subclasses__。是否要求它们在同一文件中?也许我从未直接导入的事实subclass.py隐藏了python的子类?我能做什么?我什至检查了属性__mro__get_subclass指向正确的类。

# project/main.py
from project.src.base import get_subclass

obj = get_subclass(cls,name) # Returns an object of a subclass of cls

# project/src/subclass.py
from project.src.base import BaseClass

class SubClass(BaseClass):
    pass

# project/src/base.py
def get_subclass(cls,name):
    subclss = cls.__subclasses__ # This is returning an empty list
    pass

class BaseClass(object):
    pass
Run Code Online (Sandbox Code Playgroud)

python python-import python-2.7

3
推荐指数
1
解决办法
794
查看次数

有条不紊地进入for循环

如果参数是一个序列(列表,元组)或跳过循环但只执行一次操作,那么避免代码重复循环的方法是什么?

def foo(arg1,sequence=None):
    # If possible, loop, else do it once
        if isinstance(sequence,(list,tuple)):
            for value in sequence:
                do_something(arg1)
        else:
            do_something(arg1)
Run Code Online (Sandbox Code Playgroud)

我在for循环中所做的操作比这更长,我想知道你通常使用什么方法来避免这种情况,如果你避免它的话.我经常遇到这个问题而且我没有提出要解决它的问题.

编辑:问题不是在Python中的重复,我如何确定对象是否可迭代?,如建议的那样.我不想引入不同的条件.我想避免重复.

python for-loop

2
推荐指数
1
解决办法
60
查看次数

标签 统计

python ×2

for-loop ×1

python-2.7 ×1

python-import ×1