English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 基础教程

Python 流程控制

الوظائف في Python

أنواع البيانات في Python

Python 文件操作

Python 对象和类

Python 日期和时间

Python 高级知识

Python 参考手册

Python str() 使用方法及示例

وظائف مدمجة في بيثون

str()函数返回给定对象的字符串表现形式。

str()的语法为:

str(object, encoding='utf-8', errors='strict')

str()参数

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()

يُرجع طريقة str() نصًا يُعتبر تمثيلًا غير رسميًا أو نموذجيًا للمفهوم المعطى.

مثال 1: التحويل إلى نص

إذا لم يتم تقديمهاencodingوerrorsالوظائف، يتم تنفيذ طريقة __str__ للعنصر في داخلي str().

إذا لم يتم العثور على طريقة __str__، يتم تنفيذ طريقةrepr(obj).

result = str(10)
print(result)

نتيجة الخروج

10

ملاحظة:سيحتوي المتغير الناتج على نص.

يمكنك أيضًا تجربة هذه الأوامر على منصة بيثون المحددة.

>>> str('Adam')
>>> str(b'Python!')

مثال 2: كيفية التعامل مع البايتات من قبل str()؟

إذا تم تقديم 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() في بيثون تجاهل الأحرف التي لا يمكن ترميزها.

وظائف مدمجة في بيثون