मैं एक ही मॉड्यूल में एक वर्गएक ही मॉड्यूल
class Foo():
def some_method():
pass
और एक और वर्ग है में वर्ग के नाम स्ट्रिंग से अजगर वर्ग वस्तु प्राप्त करें:
class Bar():
def some_other_method():
class_name = "Foo"
#can I access the class Foo above using the string "Foo"?
मैं उपयोग करने के लिए सक्षम होना चाहते हैं स्ट्रिंग "फू" का उपयोग कर Foo
कक्षा।
from project import foo_module
foo_class = getattr(foo_module, "Foo")
मैं एक ही मॉड्यूल में बात की एक ही तरह कर सकते हैं:
अगर मैं का उपयोग करके एक और मॉड्यूल में हूँ मैं यह कर सकता है?
आईआरसी में लोगों ने सुझाव दिया कि मैं एक मैपिंग dict का उपयोग करता हूं जो कक्षाओं में स्ट्रिंग क्लास नामों को मानचित्र करता है, लेकिन यदि कोई आसान तरीका है तो मैं ऐसा नहीं करना चाहता हूं।
और हाँ, एक मानचित्रण dict का उपयोग कर शायद जाने के लिए उचित तरीका है ... –
धन्यवाद। मैं रिफैक्टरिंग समाप्त कर दिया 'क्योंकि मैं' ग्लोबल्स 'का उपयोग नहीं करना चाहता था या मैपिंग dict का उपयोग नहीं करना चाहता था। –