簡體   English   中英

遍歷類對象

[英]Iterate through class objects

我以這種方式定義了類:

class Vehicules(object):
    class Car(object):
        INSTANCES = 5
        WIDTH = 5
        HEIGHT = 4

    class Bike(object):
        INSTANCES = 3
        WIDTH = 3
        HEIGHT = 4

    class Pedestrian(object):
        INSTANCES = 2
        WIDTH = 2
        HEIGHT = 4

我正在尋找一種方法來執行沿着這些行的腳本:

for obj in Vehicules:
     print(obj.INSTANCES)

知道如何實現這一目標嗎?

class Vehicules(object):
    class Car(object):
        INSTANCES = 5
        WIDTH = 5
        HEIGHT = 4

    class Bike(object):
        INSTANCES = 3
        WIDTH = 3
        HEIGHT = 4

    class Pedestrian(object):
        INSTANCES = 2
        WIDTH = 2
        HEIGHT = 4
all_vehicle_classes = [c for c in vars(Vehicules).values() if isinstance(c, type(Vehicules))]
for inner_class in all_vehicle_classes:
    print(inner_class.INSTANCES)

僅供參考:通常避免使用內部類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM