STR در پایتون چیست؟ – به زبان ساده با مثال و کد
- یاد میگیرید انواع داده مختلف را با تابع str() به رشته تبدیل کنید.
- میآموزید چطور پارامترهای object، encoding و errors را هوشمندانه تنظیم کنید.
- رفتارهای متنوع پارامتر errors را هنگام مواجهه با خطای رمزگشایی بررسی خواهید کرد.
- با روشهای کدنویسی و کاربرد عملی str() برای موقعیتهای واقعی آشنا میشوید.
- انواع کاربرد str() در پروژههای دادهمحور و قدرت آن را خواهید شناخت.
- به منابع معتبر و مسیرهای آموزشی پایتون برای توسعه مهارت خود دسترسی پیدا میکنید.

STR در پایتون چیست؟
جدا از داده اجباری که تابع str() باید بپذیرد - برای تبدیل شدن به نوع رشته - دو پارامتر دیگر نیز وجود دارند که به صورت اختیاری هستند. تمام پارامترهای تابع str() را در فهرست زیر معرفی کردهایم.
- Object: این پارامتر نشاندهنده دادهای است که میخواهیم به رشته تبدیل شود. وجود پارامتر object در این تابع پایتون ضروری است. اگر این پارامتر را به تابع ارسال نکنیم، تابع str() در خروجی رشته خالی را برمیگرداند.
- Encoding: این پارامتر نمایانگر نسخه «رمزگذاری» (Encoding) است که نوع داده مورد نظر باید طبق آن تبدیل شود. معمولا از نسخه UTF-8 برای رشتهها استفاده میشود. بنابراین به صورت پیشفرض هم بر روی این نسخه تنظیم شده است. استفاده از این پارامتر اختیاری است.
- Errors: در این پارامتر، رفتاری را مشخص میکنیم که در صورت بروز خطا در زمان رمزگشایی دادهها اتفاق میافتد. مقادیر قابل استفاده برای این پارامتر، شامل strict و ignore و replace و غیره میشود.
در ادامه به بررسی سینتکس خام دستور STR پرداخته و روش استفاده از این پارامترها را در آن نشان میدهیم.
سینتکس تابع STR در پایتون
همینطور که مشاهده کردید در استفاده از تابع str() میتوان ۳ پارامتر جداگانه را به کار برد. در این قسمت از مطلب، سینتکس خام استفاده از تابع STR را نمایش داده و پارامترهای قابل پذیرش توسط آن را معرفی کردهایم.
در سینتکس بالا، پارامتر object میتواند از هر نوع دادهای باشد. این پارامتر در واقع نشاندهنده شیئی است که باید تبدیل نوع شود. خالی بودن این پارامتر منجر به برگرداندن رشته خالی توسط تابع str() میشود. پارامتر encoding هم برای مشخص کردن نسخه رمزگذاری رشته تولید شده و در آخر هم از پارامتر errors برای مشخص کردن عکسالعمل تابع در زمان بروز مشکل در رمزگشایی مقدار داده ورودی استفاده میشود. این پارامتر به صورت پیشفرض بر روی «strict» تنظیم شده است.

در ادامه مطلب به بررسی بیشتر انواع مقادیر مورد استفاده در زمان رویدادن خطا پرداختهایم.
انواع مقادیر قابل ارسال به پارامتر Errors
تابع تابع str() میتواند ۶ نوع مقدار مختلف را برای زمانهای روبهرو شدن با خطا و به عنوان مقدار پارامتر errors دریافت کند. تمام این موارد را در فهرست پایین معرفی کرده و توضیح دادهایم.
- strict : این مقدار به عنوان مقدار پیشفرض پارامتر errors در نظر گرفته شده است. در صورت تنظیم بودن مقدار strict و بروز خطا، مفسر پایتون خطای استثنای «UnicodeDecodeError» را به بیرون برمیگرداند.
- replace : در صورتی که از این مقدار برای پارامتر errors استفاده کنیم، توسط تابع str()، کدی که قابل رمزگشایی نیست با کارکتر «?» جایگزین میشود.
- ignore : اگر مقدار پارامتر خطای errors بر بروی ignore تنظیم شده باشد، کاراکتر رمزگشایی نشده، توسط تابع str() نادیده گرفته خواهد شد و در نتایج نمایش داده نمیشود.
- xmlcharrefreplace : در این مورد، کاراکترهای رمزگشایی نشده، همراه با مرجع کاراکتری XML بازگردانده میشود.
- backslashreplace : در صورتی که از این مقدار برای پارامتر errors استفاده کنیم، کدی که قابل رمزگشایی نیست با توالی فضای خالی به صورت «\uNNNN» بازگردانده میشود.
- namereplace : در صورتی که از این مقدار برای پارامتر errors استفاده کنیم، به ازای کاراکترهای غیرقابل رمزگشایی از توالی \N{…} در خروجی استفاده میشود.
مثال هایی برای استفاده از تابع STR در پایتون
در ادامه این بخش از مطلب به بررسی چند مثال ساده به صورت کدنویسی شده درباره روش استفاده از تابع str() در پایتون میپردازیم.
مثال اول: تبدیل به نوع رشته
در مثال پایین با استفاده از تابع str() مقداری با نوع عدد صحیح را که در متغیر num قرار داده شده به نوع رشته تبدیل میکنیم. در این، مثال به پارامترهای اختیاری encoding و errors مقداری را اختصاص ندادهایم.
مثال دوم: روش کار تابع STR به ازای بایت ها
در مثال نمایش داده شده کادر زیر، اگر مقدارهایی را برای پارامترهای اختیاری encoding و errors مشخص کنیم، نوع داده شیء object باید از نوع بایت یا آرایهای از بایتها باشد. به این معنا که شیء ارسال شده به تابع باید از نوع «شیء شبهبایت» (Bytes-Like-Object) باشد.
به همین صورت، اگر مقدار پارامتر errors را در کدها برابر با replace بگذاریم، کد و خروجی بهدست آمده به شکل زیر میشوند.
فیلم های آموزش پایتون در فرادرس

- فیلم آموزش برنامه نویسی پایتون پیشرفته درباره ترفندهای Python در فرادرس
- فیلم آموزش برنامه نویسی شی گرا در پایتون از فرادرس
- فیلم آموزش رایگان کتابخانه Datetime در پایتون برای مدیریت زمان در فرادرس
- فیلم آموزش ساختمان داده ها با پایتون در فرادرس
- فیلم آموزش برنامه نویسی پایتون تکمیلی درباره بهینه کردن کدها در Python از فرادرس
جمعبندی
مطالب مجله فرادرس را در جستجوی گوگل سریعتر ببینید













