TheBrain نشر 13 ديسمبر 2015 أرسل تقرير نشر 13 ديسمبر 2015 أريد معرفة هل يوجد أي فرق بين نوع str و basestring في لغة بايثون، لأنني جربت معرفة نوع سلسلة نصية فوجدت أنه في كلا الحالتين ترجع لي دالة isinstance قيمة منطقية true كما يظهر هنا:a='aaaa' print isinstance(a, basestring)#true print isinstance(a, str)#true فهل يوجد أي فرق بين النوعين؟ اقتباس
0 هشام رزق الله نشر 13 ديسمبر 2015 أرسل تقرير نشر 13 ديسمبر 2015 في إصدارات بايثون ما قبل الإصدار الثالث يوجد نوعين من السلاسل النصية وهما plain strings وunicode strings.إن السلسلة النصية من نوع plain strings (str) لا يمكنها استعراض حروف من خارج الأبجدية اللاتينية في حين أن السلسلة النصية من نوع Unicode strings (unicode) يمكنها استعراض حروف من أي أبجدية والتي من بينها لغات وأبجديات خيالية مثل Klingon.هذا هو التسلسل الهرمي للسلاسل النصية في إصدارات بايثون ما قبل الإصدار 3: object | | basestring / \ / \ str unicode لذلك في حالات مقارنة سلسلتين نصيتين عادية وunicode ستظهر عدة فروقات كما في المثال التالي:>>> string1 = "I am a plain string" >>> string2 = u"I am a unicode string" >>> isinstance(string1, str) True >>> isinstance(string2, str) False >>> isinstance(string1, unicode) False >>> isinstance(string2, unicode) True >>> isinstance(string1, basestring) True >>> isinstance(string2, basestring) True اقتباس
السؤال
TheBrain
أريد معرفة هل يوجد أي فرق بين نوع str و basestring في لغة بايثون، لأنني جربت معرفة نوع سلسلة نصية فوجدت أنه في كلا الحالتين ترجع لي دالة isinstance قيمة منطقية true كما يظهر هنا:
فهل يوجد أي فرق بين النوعين؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.