Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Python string format sorusu


Öne çıkan mesajlar

Mesaj tarihi: (düzenlendi)

Şu adresteki tutolara bakıyorum ama şu en aşağıdaki kısım biraz kafamı karıştırdı.

 

data = ("John", "Doe", 53.44)
format_string = "Hello %s %s. Your current balance is $%s."

print(format_string % data)

% ile string formata bakıp haa kolaymış diyordum ama şurada ters köşe oldum. 

 

Şimdi, bu %s listin içinde dönüp sırasıyla her itemı mı koyuyor oraya? Sanki öyle gibi geldi biraz. Doğru anlamış mıyım?

 

Peki diyelim sadece birinci ve üçüncü itemı almak istediğimde ne yapacağım? Başka bir editorde data[0], data[2] gibi denedim de olmadı pek.

Aket-Atum tarafından düzenlendi
Mesaj tarihi:

iki yöntem de eskidi, python 3.6'dan itibaren şunu kullanabilirsiniz;

name, surname, balance = data

print(f"Hello {name} {surname}. Your current balance is {balance}.")

 

Mesaj tarihi:

Bu name, surname,balance = data tanımı için datanın önceden 

data = ("John", "Doe", 53.44)

diye tanınlanmış olması gerekiyor sanırım?

 

Verilen sıraya göre de atamaları yapıyor herhalde?

Mesaj tarihi:

print(f"Hello {name} {surname}. Your current balance is {balance}.")

Bu yeni yontem baya basarili ama tum yazdiracaklarini degiskenlere koymak zorunda kaliyorsun. Ama genelde programlar sittin tane parametre alacağı için ve bunları yazdırmak için kullanacağın zaman böyle tek tek değişkenlerle uğraşmak kasıyor. Onun yerine format_map kullanmak daha kolay. Hem parametreleri toplu olarak tutabilirsin hem de benzer bir yapiyi her sey icin kullanabilirsin.

kv = {'a': 'z', 'b': 'y'}

print('asd {a} asd'.format_map(kv))

Mesaj tarihi:
1 saat önce, riglous dedi ki:

print(f"Hello {name} {surname}. Your current balance is {balance}.")

Bu yeni yontem baya basarili ama tum yazdiracaklarini degiskenlere koymak zorunda kaliyorsun. Ama genelde programlar sittin tane parametre alacağı için ve bunları yazdırmak için kullanacağın zaman böyle tek tek değişkenlerle uğraşmak kasıyor. Onun yerine format_map kullanmak daha kolay. Hem parametreleri toplu olarak tutabilirsin hem de benzer bir yapiyi her sey icin kullanabilirsin.

kv = {'a': 'z', 'b': 'y'}

print('asd {a} asd'.format_map(kv))

hayir degiskene almak zorunda degilsin, {} arasina aldigin kisim evaluate ediliyor;

print(f'asd {kv["a"]} asd')

yapabilirsin.

×
×
  • Yeni Oluştur...