درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من

    تا 75 درصد تخفیف ویژه شب یلدا بر روی کلیه محصولات وب سایت توسینسو فقط تا 30 آذر

    مانده تا پایان تخفیف ها

    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      حسین احمدی
      امتیاز: 212242
      رتبه:3
      342
      253
      403
      2719
      حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ... پروفایل کاربر
      دوره های مرتبط
      دوره های توسینسو دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      مدرس: امیر حسین فضلیخانی
      این دوره را در 12 قسط خریداری کنید
      دوره آموزشی Exploit نویسی به زبان Perl
      دوره آموزشی Exploit نویسی به زبان Perl
      مدرس: ایمان جوادی
      این دوره را در 7 قسط خریداری کنید
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 18 قسط خریداری کنید
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      مدرس: ایمان جوادی
      این دوره را در 13 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی طراحی رابط کاربری با JavaFX
      دوره آموزشی طراحی رابط کاربری با JavaFX
      مدرس: حسام رسولیان
      این دوره را در 13 قسط خریداری کنید
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      مدرس: کاظم تقندیکی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      مدرس: کاظم تقندیکی
      این دوره را در 20 قسط خریداری کنید
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      مدرس: مهدی عادلی فر
      این دوره را در 2 قسط خریداری کنید
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 78 قسط خریداری کنید
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 27 قسط خریداری کنید
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی ساخت ربات تلگرام
      دوره آموزشی ساخت ربات تلگرام
      مدرس: کاظم تقندیکی
      این دوره را در 8 قسط خریداری کنید
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 23 قسط خریداری کنید

      آموزش زبان پایتون :: قسمت دهم - کار با رشته ها و توابع مرتبط

      تاریخ 22 ماه قبل
      نظرات 0
      بازدیدها 3744
      در قسمت مربوط به متغیرها و نوع های داده در این سری آموزشی به بررسی اولیه نوع رشته پرداخته و یاد گرفتیم که چگونه می توانیم متغیرهای نوع رشته ای را تعریف و از آن ها استفاده کنیم. اما همانطور که گفته شد این بررسی اولیه بوده و زیاد وارد جزئیات نشدیم. در این قسمت قصد داریم بیشتر به بررسی نوع رشته ای بپردازیم و با متدهای مختلفی که برای کار با رشته در زبان پایتون وجود دارند آشنا شویم. در زبان پایتون به دو روش می توان رشته ها را تعریف کرد، کافیست رشته مورد نظر را بین علامت " یا ' قرار دهید. کد زیر نحوه تعریف متغیرهای رشته ای را نشان می دهد:

      >>> message = "Welcome to 'Python' training course"
      >>> print(message)
      Welcome to 'Python' training course
      >>> message = 'Welcoe to "Python" training course'
      >>> print(message)
      Welcoe to "Python" training course
      

      در کد بالا هر دو روش تعریف متغیرهای رشته ای نشان داده شده اند. به این نکته دقت کنید که اگر رشته ها با علامت ' تعریف شوند داخل رشته می توان از علامت " استفاده کرد و برعکس. روش دیگری برای تعریف رشته ها وجود دارد و آن استفاده از سه علامت ''' می باشد. تفاوت این روش با روش قبلی این است که می توان رشته های چند خطی را با این روش تعریف کرد:

      >>> message = '''Welcome to Python training course.
      ... by Hossein Ahmadi
      ... ITPro.ir'''
      >>> print(message)
      Welcome to Python training course.
      by Hossein Ahmadi
      ITPro.ir
      

      زمانی که در محیط cmd و حالت interactive قرار دارید، با نوشتن '''، اگر رشته وارد شده با ''' به اتمام نرسد، با زدن کلید Enter سایر خطوط رشته را وارد می کنید تا زمانی که خط وارد شده با علامت ''' به اتمام برسد.


      تبدیل نوع ها با کمک str


      در زبان پایتون می توان سایر نوع های داده را بوسیله تابع str به رشته تبدیل کرد. در نمونه کد زیر روش های استفاده از این تابع را مشاهده می کنید:

      >>> str(25.4)
      '25.4'
      >>> str(1.0e4)
      '10000.0'
      >>> str(True)
      'True'
      

      به صورت پیش فرض زبان پایتون از تابع str در تابع print استفاده می کند. برای مثال زمانی که شما یک عدد را بوسیله دستور print چاپ می کنید، ابتدا عدد مورد نظر توسط تابع str به رشته تبدیل شده و سپس در خروجی نمایش داده می شود.


      آشنایی با Escape Character ها


      برخی کاراکتر ها در زبان پایتون هستند که کاربرد ویژه ای دارند. به این کاراکترها اصطلاحاً Escape Characters گفته می شود و تاثیرات متفاوتی بر روی رشته دارند. از Escape Character ها بوسیله کاراکتر \\ می توان استفاده کرد. کافیست شما کاراکتر \\ را نوشته و Escape Character مورد نظر را بعد از آن بنویسید. یکی از این کاراکترها که بسیار پرکاربرد هم می باشد برای ایجاد خط جدید استفاده شده و به صورت n\\ نوشته می شود:

      >>> print("Welcome to Python training course.\nBy Hossein Ahmadi")
      Welcome to Python training course.
      By Hossein Ahmadi
      

      همانطور که در خروجی کد بالا مشاهده می کنید، عبارت n\\ در خروجی نمایش داده نشده و در عوض در خروجی به جای n\\ یک خط جدید ایجاد شده است. یکی از Escape Character های پرکاربرد t\\ است که معادل کلید tab عمل می کند:

      >>> print("Welcome to Python training course.\n\tBy Hossein Ahmadi\n\tITPro.ir")
      Welcome to Python training course.
              By Hossein Ahmadi
              ITPro.ir
      

      در صورتی که رشته با کاراکتر ' یا " شروع شده باشد، در صورت استفاده از کاراکترهای ذکر شده در میان رشته باید به صورت Escape Character نوشته شوند:

      >>> print("Welcome to \"ITPro.ir\"")
      Welcome to "ITPro.ir"
      >>> print('Welcome to \'ITPro.ir\'')
      Welcome to 'ITPro.ir'
      

      اگر نیاز داشته باشید که در رشته کاراکتر \\ را چاپ کنید کافیست به صورت زیر این کار را انجام دهید:

      >>> print("File Path: D:\\data.dat")
      File Path: D:\data.dat
      


      الحاق رشته ها


      در زبان پایتون برای الحاق دو یا چند رشته با هم می توان از علامت + استفاده کرد:

      >>> "Welcome" + " To " + " ITPro.ir"
      'Welcome To  ITPro.ir'
      

      ترکیب رشته های ثابت بدون علامت + نیز به صورت زیر امکان پذیر است:

      >>> print("Welcome" " to " " ITPro.ir")
      Welcome to  ITPro.ir
      

      دقت کنید که در صورت الحاق رشته ها در زبان پایتون باید فاصله بین رشته ها توسط برنامه نویس مشخص شود و این کار توسط پایتون انجام نمی شود. برای درج فاصله به صورت خودکار می توان به صورت زیر از تابع print استفاده کرد:

      >>> print("Welcome","to","ITPro.ir")
      Welcome to ITPro.ir
      


      تکرار رشته بوسیله **


      برای تکرار یک رشته به تعداد مشخص می توان از کاراکتر ** به صورت زیر استفاده کرد:

      >>> print("ITPro.ir"*3)
      ITPro.irITPro.irITPro.ir
      


      استخراج کاراکتر از رشته


      برای بدست آوردن یک کاراکتر از رشته بر اساس ایندکس مورد نظر می توان باید از [] استفاده کرد. شیوه استفاده از این روش به صورت زیر است:

      >>> message="ITPro.ir"
      >>> message[0]
      'I'
      >>> message[1]
      'T'
      >>> message[4]
      'o'
      

      در صورتی که ایندکس وارد شده بیشتر از طول رشته باشد با پیغام خطای string index out of range مواجه خواهید شد:

      >>> message[12]
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      IndexError: string index out of range
      

      به این نکته هم توجه کنید که امکان تغییر کاراکتر در یک ایندکس خاص وجود ندارد:

      >>> message[0] = 'T'
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      TypeError: 'str' object does not support item assignment
      


      استخراج زیر رشته از یک رشته


      برای استخراج یک زیر رشته از یک رشته می توان از Slice استفاده کرد. برای اینکار کافیست در بین [] که در قسمت قبلی مشاهده کردیم، به جای یک عدد دو یا سه عدد وارد شود که عدد اول ایندکس شروع یا start برای استخراج رشته، عدد دوم ایندکس پایان یا end و عدد سوم که اختیاری است step است:

      message[start:end:step]
      

      استفاده از step برای مواقعی است که می خواهیم کاراکتر ها یکی در میان یا دو در میان یا ... استخراج شوند. حالت های مختلف slice را در زیر بررسی می کنیم:

      با فرض اینکه متغیر message به صورت زیر تعریف شده باشد:

      >>> message = "Welcome to ITPro.ir"
      

      1. استخراج یک متن از نقطه start تا انتهای رشته ([start:]):

      >>> message[4:]
      'ome to ITPro.ir'
      

      2. استخراج رشته از ابتدای رشته تا نقطه end مشخص شده ([:end]):

      >>> message[:5]
      'Welco'
      

      3. استخراج بر اساس ایندکس های start و end مشخص شده ([start:end]):

      >>> message[8:10]
      'to'
      

      4. استخراج بر اساس ایندکس های start و end و step مشخص شده ([start:end:step]):

      >>> message[4:15:2]
      'oet Tr'
      

      یکی از قابلیت های جالب در slice این است که در صورت مشخص کردن ایندکس به صورت منفی از انتهای رشته ایندکس مشخص می شود:

      >>> message[-8:]
      'ITPro.ir'
      >>> message[-8:-3]
      'ITPro'
      


      بدست آوردن طول رشته با تابع len


      برای بدست آوردن طول رشته ها در پایتون می توان از تابع len استفاده کرد. شیوه استفاده از این تابع به صورت زیر است:

      >>> message="Welcome to ITPro.ir"
      >>> len(message)
      19
      >>> len("Hossein Ahmadi")
      14
      

      تابع len را می توان برای نوع های دیگری مانند list ها یا tuple ها نیز استفاده کرد که در بخش های بعدی در مورد آن صحبت خواهیم کرد.


      جدا کردن رشته ها با تابع split


      یکی دیگر از توابع پرکاربرد برای کار با رشته ها تابع split است. بوسیله این تابع می توان یک رشته را بر اساس یک کاراکتر مشخص به تعدادی رشته تقسیم کرد. خروجی این تابع یک لیست است. از تابع split به صورت زیر می توان استفاده کرد:

      >>> message="Welcome to ITPro.ir"
      >>> message.split(' ')
      ['Welcome', 'to', 'ITPro.ir']
      

      در کد بالا رشته message را بر اساس کاراکتر فاصله شکستیم که خروجی آن یک لیست شامل لغات متغیر message می باشد. مثالی دیگر را در زیر مشاهده می کنید:

      >>> "ITPro.ir".split('.')
      ['ITPro', 'ir']
      

      در صورتی که پارامتری برای تابع split مشخص نشود عملیات شکستن رشته بر اساس کاراکتر فاصله انجام می شود.


      ترکیب رشته بوسیله تابع join


      تابع join برعکس کار split را انجام می دهد، یعنی یک لیست را به عنوان ورودی گرفته و بر اساس کاراکتر مشخص شده آن ها را با هم ترکیب کرده و یک رشته تولید می کند:

      >>> words=["Welcome","To","ITPro.ir"]
      >>> ' '.join(words)
      'Welcome To ITPro.ir'
      


      سایر توابع کار با رشته ها


      در آخرین بخش این قسمت به بررسی سایر توابع کاربردی برای کار با رشته ها خواهیم پرداخت. در کلیه مثال های بعدی متغیر message به صورت زیر تعریف شده است:

      message="Welcome to ITPro.ir"
      

      1. تابع startswith: این تابع بررسی می کند که رشته مورد نظر با رشته مشخص شده شروع می شود یا خیر، خروجی این تابع از نوع boolean می باشد:

      >>> message.startswith("Welcome")
      True
      >>> message.startswith("welcome")
      False
      

      دقت کنید که بخش دوم کد بالا مقدار False را برگرداند، زیرا عملیات مقایسه به صورت Case Sensitive یا حساس به کوچکی و بزرگی حروف انجام می شود.

      2. تابع find: رشته ای را داخل رشته دیگر جستجو کرده و ایندکس اولین موردی که یافت شد را بر میگرداند:

      >>> message.find("ITPro")
      11
      

      3. تابع rfind: مانند find عمل کرده، با این تفاوت که آخرین ایندکس را بر میگرداند:

      >>> message.find("o")
      4
      >>> message.rfind("o")
      15
      

      4. تابع count: بوسیله این تابع می توان تعداد تکرار یک رشته را داخل یک رشته دیگر بدست آورد:

      >>> message.count("o")
      3
      >>> message.count("Wel")
      1
      

      5. تابع isalnum: این تابع بررسی می کند که تمامی کاراکترهای داخل رشته عدد یا حروف الفبا هستند یا خیر:

      >>> "123".isalnum()
      True
      >>> "A12".isalnum()
      True
      >>> "ITPro.ir".isalnum()
      False
      

      6. تابع strip: این تابع کلیه کاراکترهای مشخص شده را از ابتدا و انتهای رشته حذف می کند:

      >>> "..Welcome..".strip('.')
      'Welcome'
      >>> "  Welcome".strip()
      'Welcome'
      

      در صورت استفاده بدون پارامتر فاصله ها را از ابتدا و انتهای رشته حذف می کند.

      8. تابع capitalize: اولین کاراکتر رشته را تبدیل به حروف بزرگ می کند:

      >>> "welcome to tosinso.com".capitalize()
      'Welcome to tosinso.com'
      

      9. تابع title: حروف اول کلیه کلمات را تبدیل به حروف بزرگ می کند:

      >>> "welcome to tosinso.com".title()
      'Welcome To Itpro.Ir'
      

      10. تابع upper: کلیه کاراکترهای رشته را تبدیل به حروف بزرگ می کند:

      >>> "welcome to tosinso.com".upper()
      'WELCOME TO ITPRO.IR'
      

      11. تابع Lower:* کلیه کاراکترهای رشته را تبدیل به حروف کوچک می کند:

      >>> "WELCOME TO ITPRO.IR".lower()
      'welcome to tosinso.com'
      

      12. تابع center: بر اساس عدد وارد شده، رشته را وسط چین می کند، برای مثال، اگر عدد 30 را انتخاب کنیم، رشته را در یک سطر 30 کاراکتری وسط چین می کند:

      >>> "ITPro.ir".center(50)
      '                     ITPro.ir                     '
      

      13. توابع ljust و rjust: رشته را از سمت چپ یا راست مرتب می کند:

      >>> "24.23".ljust(10)
      '24.23     '
      >>> "24.23".rjust(10)
      '     24.23'
      

      تابع rjust برای نمایش اعداد به صورت زیر هم و مرتب شده بسیار کاربر دارد.

      14. تابع replace: از این تابع برای جایگزینی یک رشته با یک رشته دیگر داخل یک رشته استفاده می شود:

      >>> "Welcome to ITPro.ir".replace("ITPro.ir","ITPRO.IR")
      'Welcome to ITPRO.IR'
      

      در تابع replace به عنوان پارامتر سوم می توان مشخص کرد که تا چند رشته جایگزین شود:

      >>> "Welcome to ITPro.ir".replace("o","O",2)
      'WelcOme tO ITPro.ir'
      

      همانطور که در کد بالا مشاهده می کند، تنها 2 مرتبه کاراکتر o در رشته جایگزین شده است.

      در این قسمت از سری آموزشی زبان پایتون با نوع رشته و توابع مرتبط با آن آشنا شدیم. البته تعداد توابع مرتبط با رشته ها بیشتر از مواردی است که در این مطلب ذکر شدند، اما سعی کردیم که مهمترین آن ها را توضیح دهیم. در قسمت بعدی آموزش با لیست ها و کاربرد های آن آشنا خواهیم شد. ITpro باشید

      نویسنده: حسین احمدی
      منبع: جزیره برنامه نویسی وب سایت توسینسو
      هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
      برچسب ها
      ردیفعنوان
      1آموزش زبان پایتون :: قسمت اول - مقدمات و آشنایی اولیه با پایتون
      2آموزش زبان پایتون :: قسمت دوم - دانلود پایتون و نوشتن اولین برنامه
      3آموزش زبان پایتون :: قسمت سوم - آشنایی با ساختار اسکریپت های پایتون
      4آموزش زبان پایتون :: قسمت چهارم - نوع های داده در زبان پایتون
      5آموزش زبان پایتون :: قسمت پنجم - تبدیل نوع ها به یکدیگر
      6آموزش زبان پایتون :: قسمت ششم - عملگرها در پایتون
      7آموزش زبان پایتون :: قسمت هفتم - دستور if
      8آموزش زبان پایتون :: قسمت هشتم - حلقه ها
      9آموزش زبان پایتون :: قسمت نهم - نوع های عددی و توابع کار با اعداد
      10آموزش زبان پایتون :: قسمت دهم - کار با رشته ها و توابع مرتبط
      11آموزش زبان پایتون :: قسمت یازدهم - لیست ها
      12آموزش زبان پایتون :: قسمت دوازدهم - Tuple ها
      13آموزش زبان پایتون :: قسمت سیزدهم - دیکشنری ها (Dictionaries)
      14آموزش زبان پایتون :: قسمت چهاردهم - مجموعه ها (Sets)
      15آموزش زبان پایتون :: قسمت پانزدهم - تابع zip و پیمایش چند لیست به صورت همزمان
      16آموزش زبان پایتون :: قسمت پانزدهم - روش Comprehension برای ایجاد لیست ها، دیکشنری ها و مجموعه ها
      17آموزش زبان پایتون :: قسمت شانزدهم - توابع (Functions)
      18آموزش زبان پایتون :: قسمت هفدهم - Closure ها
      19آموزش زبان پایتون :: قسمت هجدهم - توابع بازگشتی (Recursive Functions)
      20آموزش زبان پایتون :: قسمت نوزدهم - ماژول ها (Modules)
      21آموزش زبان پایتون :: قسمت بیستم - پکیج ها (Packages)
      22برنامه نویسی شئ گرا در پایتون :: مقدمات و آشنایی با کلاس و شئ
      دورهمجموعه کل دوره
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      هیچ نظری ارسال نشده است

        برای ارسال نظر ابتدا به سایت وارد شوید