में एकाधिक प्रकारों के साथ एनोटेशन टाइप करें मैं सार वर्ग के साथ पाइथन के type annotations
का उपयोग कर प्रयास कर रहा हूं। मेरे __init__
समारोह इस तरह दिखता है:** kwargs
from abc import ABCMeta
class SomeClass(object, metaclass=ABCMeta):
def __init__(self, *args, **kwargs):
print("Initiating %s object.", self.__class__.__name__)
self.username = kwargs['data']
assert isinstance(self.username, str)
is_premioum = kwargs.get('premioum', False)
self.money_investmant = kwargs.get('investmant')
if isinstance(self.money_investmant, str):
self.money_investmant = float(self.money_investmant)
आप देख सकते हैं, kwargs
प्रकार- float
, bool
और str
के कई संख्या से तर्क हो सकता है।
def __init__(self, *args, **kwargs: Union[bool, str, float]) -> None:
लेकिन मेरे PyCharm
आईडीई मुझे अलर्ट:
अब, मैं समारोह के लिए प्रकार एनोटेशन, कि इस तरह दिखता है लिखने के लिए कोशिश कर रहा हूँ
प्रकार छोड़कर 'अभिन्न', मिल गया 'str' के बजाय
और:
बूल में 'get' संदर्भ नहीं मिला। str | नाव '
Am मैं कुछ गलत कर?
मैं कैसे kwargs के लिए प्रकार एनोटेशन लिखना चाहिए अगर यह कई प्रकार से तर्क होता है?