English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
str()函数返回给定对象的字符串表现形式。
str()的语法为:
str(object, encoding='utf-8', errors='strict')
str() 方法具有三个参数:
object- object要返回其字符串表示形式。如果未提供,则返回空字符串
encoding-给定对象的编码。未提供时默认值为UTF-8.
errors-解码失败时的响应。默认为'strict'。
共有六种类型errors:
strict-默认响应,在失败时引发UnicodeDecodeError异常
ignore -从结果中忽略无法编码的Unicode
replace -将无法编码的Unicode替换为问号
xmlcharrefreplace -插入XML字符引用而不是无法编码的Unicode
backslashreplace-إدراج سلسلة النقاط الليبرالية \uNNNNspace بدلاً من Unicode غير القابلة للترميز
namereplace-插入 سلسلة النقاط الليبرالية \N{...} بدلاً من Unicode غير القابلة للترميز
يُرجع طريقة str() نصًا يُعتبر تمثيلًا غير رسميًا أو نموذجيًا للمفهوم المعطى.
إذا لم يتم تقديمهاencodingوerrorsالوظائف، يتم تنفيذ طريقة __str__ للعنصر في داخلي str().
إذا لم يتم العثور على طريقة __str__، يتم تنفيذ طريقةrepr(obj).
result = str(10) print(result)
نتيجة الخروج
10
ملاحظة:سيحتوي المتغير الناتج على نص.
يمكنك أيضًا تجربة هذه الأوامر على منصة بيثون المحددة.
>>> str('Adam')
>>> str(b'Python!')
إذا تم تقديم parameters encoding و errors، فإن parameter object يجب أن يكون مشابهًا لـ bytes (bytesأوbytearray)
إذا كان العنصر bytes أو bytearray، فإن طريقة str() ستنفذ طريقة bytes.decode(encoding, errors).
إلا إذا كان يجب الحصول على عنصر bytes في الحافظة قبل تنفيذ طريقة decode().
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
نتيجة الخروج
pythn
في هذا السياق، لا يمكن ترميز الرمز 'ö' عبر ASCII. لذلك، يجب أن يُظهر خطأ. ولكننا قمنا بضبط 'ignore'. لذلك، ستجري وظيفة str() في بيثون تجاهل الأحرف التي لا يمكن ترميزها.