آموزش رایگان صفر تا صد پایتون (Python) به زبان ساده
-
معرفی پایتون
-
شروع کار با پایتون
-
دستور زبان پایتون (Python Syntax)
-
توضیح کامنتها در پایتون
-
متغیرها در پایتون
-
نامهای متغیر در پایتون
-
معرفی متغیرها در پایتون و اختصاص چندین مقدار به آنها
-
معرفی متغیرها در خروجی با استفاده از پایتون
-
متغیرهای سراسری (Global Variables) در پایتون
-
انواع دادهها در پایتون
-
انواع اعداد در پایتون
-
تبدیل نوع داده در پایتون (Python Casting)
-
رشتهها در پایتون (Python Strings)
-
برش دادن رشتهها در پایتون (Python - Slicing Strings)
-
تغییر رشتهها در پایتون
-
ترکیب رشتهها در پایتون (String Concatenation)
-
آشنایی با فرمتبندی رشتهها در پایتون
-
کاراکترهای Escape در پایتون
-
مقدمهای بر بولیها (Booleans) در پایتون
-
عملگرها در پایتون
-
لیستها در پایتون
-
دسترسی به آیتمهای لیست در پایتون
-
تغییر مقدار آیتمهای لیست در پایتون
-
افزودن آیتم به لیست در پایتون
-
حذف آیتمها از لیست در پایتون
-
حلقه زدن در لیستها در پایتون
-
معرفی List Comprehension در پایتون
-
مرتبسازی لیستها در پایتون
-
کپی کردن لیستها در پایتون
-
اتصال (Join) لیستها در پایتون
-
آشنایی با Tuple در پایتون
-
دسترسی به آیتمهای یک Tuple در پایتون
-
بروزرسانی Tuple در پایتون
-
باز کردن (Unpacking) Tuple در پایتون
-
حلقهها در Tupleها در پایتون
-
آموزش ترکیب و تکرار تاپلها در پایتون (Join Tuples)
-
مجموعهها (Set) در پایتون
-
دسترسی به آیتمهای مجموعه (Set) در پایتون
-
افزودن آیتم به Set در پایتون
-
حذف آیتمها از Set در Python
-
حلقه در مجموعهها (Set) در پایتون
-
روشهای ترکیب مجموعهها در پایتون (Join Sets)
-
دیکشنریها در پایتون
-
دسترسی به آیتمهای دیکشنری در پایتون
-
تغییر مقادیر دیکشنری در پایتون
-
اضافه کردن آیتمها به دیکشنری در پایتون
-
حذف آیتمها از دیکشنری در پایتون
-
استفاده از حلقهها در دیکشنریها در پایتون
-
کپی کردن دیکشنری در پایتون
-
دیکشنریهای تو در تو در پایتون (Nested Dictionaries)
-
شرطها و دستور If در پایتون
-
حلقههای while در پایتون
-
حلقههای for در پایتون
-
توابع در پایتون
-
معرفی فانکشنهای لامبدا در پایتون
-
آرایهها (Arrays) در پایتون
-
کلاسها و اشیا در پایتون
-
وراثت (Inheritance) در پایتون
-
ایتریتور (یکی یکی پیش رفتن) در پایتون
-
چندریختی (Polymorphism) در پایتون
-
محدوده (Scope) در پایتون
-
ماژول در پایتون چیست؟
-
کار با تاریخ در پایتون
-
ریاضیات در پایتون
-
JSON در پایتون به زبان ساده
-
عبارات منظم (RegEx) در پایتون
-
Python PIP
-
معرفی Try-Except در پایتون
-
ورودی کاربر در پایتون
-
فرمتبندی رشتهها در پایتون
فرمتبندی رشتهها در پایتون
در پایتون، روشهای مختلفی برای فرمتبندی رشتهها وجود دارد. از نسخه 3.6 پایتون، روش جدیدی به نام F-String معرفی شده که بسیار ساده و سریع است. قبل از آن، از متد ()format برای فرمتبندی استفاده میکردیم.
F-String چیست؟
F-String یک روش سریع و ساده برای فرمتبندی رشتهها است که از نسخه 3.6 به پایتون اضافه شد. با استفاده از این روش، میتوانیم قسمتهای مختلف یک رشته را به راحتی فرمت کنیم.
برای استفاده از F-String، کافی است قبل از رشته یک f
قرار دهیم، مثل این:
txt = f"The price is 49 dollars"
print(txt)
خروجی:
The price is 49 dollars
استفاده از Placeholder ها
برای فرمت کردن مقادیر در یک F-String، از placeholder ها استفاده میکنیم. این placeholder ها در داخل آکولاد {}
قرار میگیرند و میتوانند متغیرها، عملیات ریاضی، توابع، و حتی دستورهای شرطی را شامل شوند.
مثال:
price = 59
txt = f"The price is {price} dollars"
print(txt)
خروجی:
The price is 59 dollars
استفاده از Modifiers
میتوانیم از modifiers برای فرمت کردن مقادیر استفاده کنیم. اینها به ما اجازه میدهند که نحوه نمایش مقدار را تغییر دهیم.
برای مثال، اگر بخواهیم عدد را با دو رقم اعشار نمایش دهیم، از :.2f
استفاده میکنیم:
price = 59
txt = f"The price is {price:.2f} dollars"
print(txt)
خروجی:
The price is 59.00 dollars
همچنین میتوانیم یک مقدار را مستقیماً داخل F-String فرمت کنیم، بدون اینکه آن را در یک متغیر ذخیره کنیم:
txt = f"The price is {95:.2f} dollars"
print(txt)
خروجی:
The price is 95.00 dollars
انجام عملیات داخل F-String
در F-String میتوانیم عملیات ریاضی انجام دهیم. مثلاً برای محاسبه قیمت با مالیات، از عملیات ریاضی در داخل placeholder استفاده میکنیم.
مثال:
price = 59
tax = 0.25
txt = f"The price is {price + (price * tax)} dollars"
print(txt)
خروجی:
The price is 73.25 dollars
استفاده از دستورهای شرطی داخل F-String
میتوانیم از دستورهای شرطی if...else
در داخل placeholder ها استفاده کنیم.
مثال:
price = 49
txt = f"It is very {'Expensive' if price > 50 else 'Cheap'}"
print(txt)
خروجی:
It is very Cheap
استفاده از توابع در F-String
شما میتوانید توابع خود را در F-String فراخوانی کنید. برای مثال، میتوانیم یک رشته را با استفاده از متد upper()
به حروف بزرگ تبدیل کنیم.
مثال:
fruit = "apples"
txt = f"I love {fruit.upper()}"
print(txt)
خروجی:
I love APPLES
استفاده از توابع دلخواه در F-String
حتی میتوانید توابع خود را بنویسید و در داخل F-String از آنها استفاده کنید.
مثال:
def myconverter(x):
return x * 0.3048
txt = f"The plane is flying at a {myconverter(30000)} meter altitude"
print(txt)
خروجی:
The plane is flying at a 9144.0 meter altitude
دیگر Modifiers ها
در ابتدای این بخش، یک modifier ساده (.2f
) را برای نمایش مقادیر با دو رقم اعشار توضیح دادیم. حالا میخواهیم چند modifier دیگر را بررسی کنیم:
مثال:
price = 59000
txt = f"The price is {price:,} dollars"
print(txt)
خروجی:
The price is 59,000 dollars
در این مثال، از ویرگول برای جداسازی هزارگان استفاده کردیم.
لیستی از انواع Formatting ها:
در اینجا لیستی از انواع فرمتهایی که میتوانیم استفاده کنیم آورده شده است:
:<
: چپچین:>
: راستچین:^
: وسطچین:,
: جداسازی هزارگان:.2f
: نمایش عدد با 2 رقم اعشار:b
: نمایش به صورت عدد باینری:o
: نمایش به صورت عدد هشتادگانی:x
: نمایش به صورت عدد شانزدهدهی:d
: نمایش به صورت عددی:f
: نمایش به صورت عدد اعشاری ثابت
روش قدیمی: استفاده از format()
قبل از معرفی F-String، از متد format()
برای فرمتبندی استفاده میکردیم. این روش هنوز هم قابل استفاده است، اما F-String سریعتر و محبوبتر است.
مثال:
price = 49
txt = "The price is {} dollars"
print(txt.format(price))
خروجی:
The price is 49 dollars
استفاده از چند مقدار
میتوانیم چندین مقدار را با استفاده از format()
اضافه کنیم.
مثال:
quantity = 3
itemno = 567
price = 49
myorder = "I want {} pieces of item number {} for {:.2f} dollars."
print(myorder.format(quantity, itemno, price))
خروجی:
I want 3 pieces of item number 567 for 49.00 dollars.
استفاده از شمارههای ایندکس
برای مشخص کردن اینکه هر مقدار در کدام placeholder قرار بگیرد، میتوانیم از شماره ایندکسها استفاده کنیم.
مثال:
myorder = "I want {0} pieces of item number {1} for {2:.2f} dollars."
print(myorder.format(quantity, itemno, price))
خروجی:
I want 3 pieces of item number 567 for 49.00 dollars.
استفاده از نامهای ایندکس
میتوانیم به جای شماره ایندکس، از نامهای ایندکس استفاده کنیم.
مثال:
myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname = "Ford", model = "Mustang"))
خروجی:
I have a Ford, it is a Mustang.
چالش
- امتحان کن با استفاده از F-String، یک جمله بساز که نام و سن یک شخص را نمایش دهد.
- از یک modifier استفاده کن که سن را به صورت عدد صحیح نشان دهد.