Şablon yöntemi

Python'da Regular Expressions

Maria Eugenia Inzaugarat

Data Scientist

Şablon dizgileri

  • Daha basit sözdizimi
  • f-string'lerden daha yavaş
  • Sınırlı: biçim belirticilerini desteklemez
  • Haricen biçimlendirilmiş metinlerle iyi çalışır
Python'da Regular Expressions

Temel sözdizimi

from string import Template

my_string = Template('Data science has been called $identifier')
my_string.substitute(identifier="sexiest job of the 21st century")
'Data science has been called sexiest job of the 21st century'
Python'da Regular Expressions

Yerine koyma

  • Birçok $identifier kullanın
  • Değişken kullanın
from string import Template
job = "Data science"
name = "sexiest job of the 21st century"

my_string = Template('$title has been called $description')
my_string.substitute(title=job, description=name)
'Data science has been called sexiest job of the 21st century'
Python'da Regular Expressions

Yerine koyma

  • Tanımlayıcıdan sonra geçerli karakterler geliyorsa ${identifier} kullanın

 

my_string = Template('I find Python very ${noun}ing but my sister has lost $noun')

my_string.substitute(noun="interest")
'I find Python very interesting but my sister has lost interest'
Python'da Regular Expressions

Yerine koyma

  • Dolar işaretini kaçırmak için $$ kullanın

 

my_string = Template('I paid for the Python course only $$ $price, amazing!')

my_string.substitute(price="12.50")
'I paid for the Python course only $ 12.50, amazing!'
Python'da Regular Expressions

Yerine koyma

  • Yer tutucu eksikse hata ver
favorite = dict(flavor="chocolate")

my_string = Template('I love $flavor $cake very much')
my_string.substitute(favorite)
Traceback (most recent call last):
KeyError: 'cake'
Python'da Regular Expressions

Yerine koyma

favorite = dict(flavor="chocolate")
my_string = Template('I love $flavor $cake very much')
try:
    my_string.substitute(favorite) 
except KeyError:
      print("missing information")
missing information
Python'da Regular Expressions

Güvenli yerine koyma

  • Her zaman kullanılabilir bir metin döndürmeye çalışır
  • Eksik yer tutucular sonuçta görünür
favorite = dict(flavor="chocolate")
my_string = Template('I love $flavor $cake very much')

my_string.safe_substitute(favorite)
'I love chocolate $cake very much'
Python'da Regular Expressions

Hangisini kullanmalıyım?

  • str.format():

    • Başlamak için iyi. Kavramlar f-string'lere de uyar.
    • Tüm Python sürümleriyle uyumlu.
  • f-string'ler:

    • Genel olarak en çok önerilir.
    • Yalnızca modern Python sürümlerinde uygundur (3.6+).
  • Şablon dizgileri:

    • Harici veya kullanıcı sağladığı metinlerle çalışırken
Python'da Regular Expressions

Haydi pratik yapalım!

Python'da Regular Expressions

Preparing Video For Download...