आपका उदाहरण गतिशील टाइपिंग दिखाता है, कमजोर टाइपिंग नहीं। डायनामिक टाइपिंग का आम तौर पर मतलब है कि किसी ऑब्जेक्ट को स्टोर करने वाले डेटा का प्रकार म्यूटेबल है; किसी भी लक्ष्य किसी भी प्रकार की वस्तु के लिए बाध्यकारी हो सकता है। इसके विपरीत, कहें, सी #, जो स्थिर रूप से टाइप किया गया है [*]।
int i = 5; // Okay.
i = "5"; // Illegal! i can only hold integers.
मजबूत टाइपिंग मतलब यह है कि एक बार एक विशेष प्रकार का एक मूल्य सौंपा, वस्तुओं कि वे किस तरह विभिन्न प्रकार के अन्य वस्तुओं के साथ बातचीत कर सकते हैं बारे में सख्त नियम का पालन करना। कमजोर टाइपिंग का अर्थ है कि ऐसे नियम अधिक आराम से हैं। इसका मतलब यह नहीं है कि दृढ़ता से टाइप की गई भाषाएं किसी भी तरह से बेहतर हैं; यह सिर्फ एक भाषा डिजाइन पसंद है।
पायथन को दृढ़ता से टाइप किया जाता है क्योंकि वस्तुओं की एक अलग धारणा होती है कि वे क्या टाइप करते हैं। वस्तुओं के बीच असंगत संचालन त्रुटियों का कारण:
>>> 1 + 1 # Add two integers.
2
>>> "1" + "1" # Concatenate two strings.
'11'
>>> 1 + int("1") # Add two integers.
2
>>> "1" + str(1) # Concatenate two strings.
'11'
>>> 1 + "1" # Undefined! Adding integers and strings is meaningless.
Traceback (most recent call last):
File "", line 5, in ?
TypeError: unsupported operand type(s) for +: 'int' and 'str'
लेकिन PHP में, नियमों और अधिक आराम से क्या स्वीकार्य है के बारे में कर रहे हैं। इस प्रकार इसे कुछ अन्य भाषाओं की तुलना में अधिक कमजोर टाइप माना जाता है।
$x = 1 + "1"; // x is 2
[*] तकनीकी तौर पर, सी # 4 के रूप में, सी # स्थैतिक रूप से टाइप किया लेकिन साथ है विकल्प के रूप में गतिशील टाइपिंग एक प्रति बाध्यकारी आधार पर, dynamic
कीवर्ड के लिए धन्यवाद। आजकल बहुत सी भाषाएं गतिशील क्षमताओं को जोड़ रही हैं और लाइनों को धुंधला कर रही हैं, इसलिए यह कहना मुश्किल हो रहा है कि "भाषा एक्स गतिशील है" और "भाषा वाई स्थैतिक है"। यह एक बाइनरी संपत्ति की तुलना में एक स्लाइडिंग पैमाने या एक स्पेक्ट्रम का अधिक है।
स्रोत
2010-01-08 03:45:20
पायथन एक गतिशील भाषा है इसलिए इसे कमजोर रूप से कुछ अर्थ में टाइप किया गया है और दृढ़ता से दूसरे में टाइप किया गया है (कोई भी परिभाषा नहीं है) लेकिन पूरा सवाल उससे कहीं अधिक जटिल है। Http://wiki.python.org/moin/StrongVsWeakTyping –
संभावित डुप्लिकेट देखें [क्या कोई मुझे बता सकता है कि मजबूत टाइपिंग और कमजोर टाइपिंग का अर्थ क्या है और कौन सा बेहतर है?] (Http://stackoverflow.com/questions/323323/ कर सकते हैं-कोई-बताओ-क्या-मजबूत-टाइपिंग-और-कमजोर-टाइपिंग-साधन-और-जो-एक-होना चाहिए), और यह भी [मेरी समझ-प्रकार-प्रणाली-सही है] (http://stackoverflow.com/questions/2135066/is-my-understanding-of-type-systems- सही) – nawfal
मुझे लगता है कि यह एक डुप्ली नहीं है क्योंकि यह पाइथन के लिए बहुत विशिष्ट है। ऐसा नहीं है कि हम अब सिस्टम सिस्टम पर भाषा विशिष्ट प्रश्न नहीं पूछ सकते हैं क्योंकि मजबूत और कमजोर टाइपिंग को अन्य सवालों के जवाब में समझाया गया था। एक बात के लिए, भले ही इसे समझाया गया हो, फिर भी अन्य सभी जानकारी के बीच खोजना मुश्किल होगा। –