Python String Formatting

பைத்தான் சரம் வடிவமைத்தல்

F-String

F-String பைத்தான் 3.6 இல் அறிமுகப்படுத்தப்பட்டது, மேலும் இப்போது சரங்களை வடிவமைப்பதற்கான விருப்பமான வழியாகும்.

பைத்தான் 3.6 க்கு முன் format() முறையைப் பயன்படுத்த வேண்டியிருந்தது.

F-சரங்கள்

F-சரம் ஒரு சரத்தின் தேர்ந்தெடுக்கப்பட்ட பகுதிகளை வடிவமைக்க உங்களை அனுமதிக்கிறது.

ஒரு சரத்தை f-சரமாகக் குறிப்பிட, சர நேரடி மதிப்புக்கு முன்னால் f ஐ வைக்கவும்:

எடுத்துக்காட்டு

ஒரு f-சரத்தை உருவாக்கு:

txt = f"The price is 49 dollars"
print(txt)

பிளேஸ்ஹோல்டர்கள் மற்றும் மாற்றிகள்

F-சரத்தில் மதிப்புகளை வடிவமைக்க, பிளேஸ்ஹோல்டர்கள் {} சேர்க்கவும், ஒரு பிளேஸ்ஹோல்டரில் மாறிகள், செயல்பாடுகள், செயல்பாடுகள் மற்றும் மதிப்பை வடிவமைக்க மாற்றிகள் இருக்கலாம்.

எடுத்துக்காட்டு

price மாறிக்கு ஒரு பிளேஸ்ஹோல்டரைச் சேர்க்கவும்:

price = 59
txt = f"The price is {price} dollars"
print(txt)

மதிப்பை வடிவமைக்க ஒரு பிளேஸ்ஹோல்டரில் ஒரு மாற்றியையும் சேர்க்கலாம்.

ஒரு மாற்றி சேர்ப்பதன் மூலம் சேர்க்கப்படுகிறது : தொடர்ந்து ஒரு சட்டபூர்வமான வடிவமைப்பு வகை, .2f போன்றது, இது 2 தசமங்களுடன் நிலையான புள்ளி எண்ணைக் குறிக்கிறது:

எடுத்துக்காட்டு

2 தசமங்களுடன் விலையைக் காட்டு:

price = 59
txt = f"The price is {price:.2f} dollars"
print(txt)

மாறியில் வைத்திருக்காமல் நேரடியாக ஒரு மதிப்பையும் வடிவமைக்கலாம்:

எடுத்துக்காட்டு

மதிப்பு 95 ஐ 2 தசமங்களுடன் காட்டு:

txt = f"The price is {95:.2f} dollars"
print(txt)

F-சரங்களில் செயல்பாடுகளைச் செய்தல்

பிளேஸ்ஹோல்டர்களுக்குள் பைத்தான் செயல்பாடுகளைச் செய்யலாம்.

கணித செயல்பாடுகளைச் செய்யலாம்:

எடுத்துக்காட்டு

பிளேஸ்ஹோல்டரில் ஒரு கணித செயல்பாட்டைச் செய்து, முடிவைத் திரும்பப் பெறு:

txt = f"The price is {20 * 59} dollars"
print(txt)

மாறிகளில் கணித செயல்பாடுகளைச் செய்யலாம்:

எடுத்துக்காட்டு

விலையைக் காட்டுவதற்கு முன் வரிகளைச் சேர்க்கவும்:

price = 59
tax = 0.25
txt = f"The price is {price + (price * tax)} dollars"
print(txt)

பிளேஸ்ஹோல்டர்களுக்குள் if...else அறிக்கைகளைச் செய்யலாம்:

எடுத்துக்காட்டு

விலை 50க்கு மேல் இருந்தால் "விலை உயர்ந்தது" திரும்பப் பெறு, இல்லையெனில் "மலிவானது" திரும்பப் பெறு:

price = 49
txt = f"It is very {'Expensive' if price>50 else 'Cheap'}"

print(txt)

💡 குறிப்பு:

F-சரங்கள் நேரடி மதிப்பீட்டை அனுமதிக்கின்றன, இது குறியீட்டை மிகவும் வாசிக்கக்கூடியதாக ஆக்குகிறது மற்றும் குறைவான பிழைகளைக் கொண்டிருக்கும்.

F-சரங்களில் செயல்பாடுகளை இயக்குதல்

பிளேஸ்ஹோல்டருக்குள் செயல்பாடுகளை இயக்கலாம்:

எடுத்துக்காட்டு

மதிப்பை மேல் எழுத்துகளாக மாற்ற upper() சர முறையைப் பயன்படுத்தவும்:

fruit = "apples"
txt = f"I love {fruit.upper()}"
print(txt)

செயல்பாடு உள்ளமைக்கப்பட்ட பைத்தான் முறையாக இருக்க வேண்டியதில்லை, உங்கள் சொந்த செயல்பாடுகளை உருவாக்கி அவற்றைப் பயன்படுத்தலாம்:

எடுத்துக்காட்டு

அடிகளை மீட்டராக மாற்றும் ஒரு செயல்பாட்டை உருவாக்கவும்:

def myconverter(x):
  return x * 0.3048

txt = f"The plane is flying at a {myconverter(30000)} meter altitude"
print(txt)

மேலும் மாற்றிகள்

இந்த அத்தியாயத்தின் தொடக்கத்தில், 2 தசமங்களுடன் ஒரு எண்ணை நிலையான புள்ளி எண்ணாக வடிவமைக்க .2f மாற்றியை எவ்வாறு பயன்படுத்துவது என விளக்கினோம்.

மதிப்புகளை வடிவமைக்க பல மாற்றிகள் பயன்படுத்தப்படலாம்:

எடுத்துக்காட்டு

ஆயிரம் பிரிப்பானாக காற்புள்ளியைப் பயன்படுத்தவும்:

price = 59000
txt = f"The price is {price:,} dollars"
print(txt)

வடிவமைப்பு வகைகள்

வடிவமைப்பு விளக்கம்
:< முடிவை இடது சீரமைக்கிறது (கிடைக்கக்கூடிய இடத்தில்)
:> முடிவை வலது சீரமைக்கிறது (கிடைக்கக்கூடிய இடத்தில்)
:^ முடிவை மைய சீரமைக்கிறது (கிடைக்கக்கூடிய இடத்தில்)
: ஆயிரம் பிரிப்பானாக காற்புள்ளி
:_ ஆயிரம் பிரிப்பானாக அடிக்கோடு
:b இரும வடிவம்
:d தசம வடிவம்
:e அறிவியல் வடிவம், சிறிய எழுத்து e
:E அறிவியல் வடிவம், பெரிய எழுத்து E
:f நிலையான புள்ளி எண் வடிவம்
:F நிலையான புள்ளி எண் வடிவம், பெரிய எழுத்து வடிவம்
:% சதவீத வடிவம்

சரம் format()

பைத்தான் 3.6 க்கு முன் சரங்களை வடிவமைக்க format() முறையைப் பயன்படுத்தினோம்.

format() முறை இன்னும் பயன்படுத்தப்படலாம், ஆனால் f-சரங்கள் வேகமானவை மற்றும் சரங்களை வடிவமைப்பதற்கான விருப்பமான வழி.

இந்தப் பக்கத்தின் அடுத்த எடுத்துக்காட்டுகள் format() முறையுடன் சரங்களை எவ்வாறு வடிவமைப்பது என்பதைக் காட்டுகின்றன.

format() முறையும் பிளேஸ்ஹோல்டர்களாக சுருள் அடைப்புக்குறிகளைப் பயன்படுத்துகிறது {}, ஆனால் தொடரியல் சற்று வித்தியாசமானது:

எடுத்துக்காட்டு

விலையைக் காட்ட விரும்பும் இடத்தில் ஒரு பிளேஸ்ஹோல்டரைச் சேர்க்கவும்:

price = 49
txt = "The price is {} dollars"
print(txt.format(price))

மதிப்பை எவ்வாறு மாற்றுவது என்பதைக் குறிப்பிட சுருள் அடைப்புக்குறிக்குள் அளவுருக்களைச் சேர்க்கலாம்:

எடுத்துக்காட்டு

விலையை இரண்டு தசமங்கள் கொண்ட எண்ணாகக் காட்ட வடிவமைக்கவும்:

txt = "The price is {:.2f} dollars"

📝 குறிப்பு:

F-சரங்கள் format() முறையை விட விரைவானவை மற்றும் படிக்க எளிதானவை. புதிய பைத்தான் நிரல்களுக்கு f-சரங்களைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது.

பல மதிப்புகள்

நீங்கள் அதிக மதிப்புகளைப் பயன்படுத்த விரும்பினால், format() முறைக்கு அதிக மதிப்புகளைச் சேர்க்கவும்:

print(txt.format(price, itemno, count))

மேலும் பிளேஸ்ஹோல்டர்களைச் சேர்க்கவும்:

எடுத்துக்காட்டு

quantity = 3
itemno = 567
price = 49
myorder = "I want {} pieces of item number {} for {:.2f} dollars."
print(myorder.format(quantity, itemno, price))

குறியீட்டு எண்கள்

மதிப்புகள் சரியான பிளேஸ்ஹோல்டர்களில் வைக்கப்படுவதை உறுதி செய்ய குறியீட்டு எண்களை (சுருள் அடைப்புக்குறிக்குள் {0} ஒரு எண்) பயன்படுத்தலாம்:

எடுத்துக்காட்டு

quantity = 3
itemno = 567
price = 49
myorder = "I want {0} pieces of item number {1} for {2:.2f} dollars."
print(myorder.format(quantity, itemno, price))

மேலும், நீங்கள் ஒரே மதிப்பை ஒன்றுக்கு மேற்பட்ட முறை குறிப்பிட விரும்பினால், குறியீட்டு எண்ணைப் பயன்படுத்தவும்:

எடுத்துக்காட்டு

age = 36
name = "John"
txt = "His name is {1}. {1} is {0} years old."
print(txt.format(age, name))

பெயரிடப்பட்ட குறியீடுகள்

சுருள் அடைப்புக்குறிக்குள் ஒரு பெயரை உள்ளிட்டு பெயரிடப்பட்ட குறியீடுகளையும் பயன்படுத்தலாம் {carname}, ஆனால் நீங்கள் அளவுரு மதிப்புகளை அனுப்பும்போது பெயர்களைப் பயன்படுத்த வேண்டும் txt.format(carname = "Ford"):

எடுத்துக்காட்டு

myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname = "Ford", model = "Mustang"))

பயிற்சி

F-சரங்களைக் கையாளும் போது எந்த பிளேஸ்ஹோல்டர்கள் பயன்படுத்தப்படுகின்றன?

[]
✗ தவறு! சதுர அடைப்புக்குறிகள் பட்டியல்கள் மற்றும் அகராதிகளுக்குப் பயன்படுத்தப்படுகின்றன
()
✗ தவறு! வட்ட அடைப்புக்குறிகள் செயல்பாடுகள் மற்றும் டூப்பிள்களுக்குப் பயன்படுத்தப்படுகின்றன
{}
✓ சரி! சுருள் அடைப்புக்குறிகள் f-சரங்கள் மற்றும் format() முறையில் பிளேஸ்ஹோல்டர்களாகப் பயன்படுத்தப்படுகின்றன