SORU
22 AĞUSTOS 2008, Cuma


Python biçim dizeleri, sayılar

Dizeleri gibi sayıları biçimlendirmek için nasıl öğrenmek istiyorum. Benim kod burada:

return str(hours) ":" str(minutes) ":" str(seconds) " " ampm

Saat ve dakika tamsayılar ve saniyede bir şamandıra. str() fonksiyonu onda (0.1) yere bu numaraları dönüştürür. Yani benim ip yerine "5:30:59.07 am", bir şey gibi gösterecek "5.0:30.0:59.1". pm yazdırılıyor

Sonuç olarak, ne kütüphane / işlevi benim için bunu yapmana gerek var mı?

CEVAP
31 Mart 2010, ÇARŞAMBA


Python bir alternatif var 2.6, başlangıç: str.format() yöntemi. Burada bazı örnekler mevcut dizge operatörü (%) kullanarak:

>>> "Name: %s, age: %d" % ('John', 35) 
'Name: John, age: 35' 
>>> i = 45 
>>> 'dec: %d/oct: %#o/hex: %#X' % (i, i, i) 
'dec: 45/oct: 055/hex: 0X2D' 
>>> "MM/DD/YY = d/d/d" % (12, 7, 41) 
'MM/DD/YY = 12/07/41' 
>>> 'Total with tax: $%.2f' % (13.00 * 1.0825) 
'Total with tax: $14.07' 
>>> d = {'web': 'user', 'page': 42} 
>>> 'http://xxx.yyy.zzz/%(web)s/%(page)d.html' % d 
'http://xxx.yyy.zzz/user/42.html' 

Burada str.format() kullanarak aynı isimde parçacıkları:

>>> "Name: {0}, age: {1}".format('John', 35) 
'Name: John, age: 35' 
>>> i = 45 
>>> 'dec: {0}/oct: {0:#o}/hex: {0:#X}'.format(i) 
'dec: 45/oct: 0o55/hex: 0X2D' 
>>> "MM/DD/YY = {0:02d}/{1:02d}/{2:02d}".format(12, 7, 41) 
'MM/DD/YY = 12/07/41' 
>>> 'Total with tax: ${0:.2f}'.format(13.00 * 1.0825) 
'Total with tax: $14.07' 
>>> d = {'web': 'user', 'page': 42} 
>>> 'http://xxx.yyy.zzz/{web}/{page}.html'.format(**d) 
'http://xxx.yyy.zzz/user/42.html'

2.6 , tüm Python 3. (şimdiye kadar) hem yapmak için nasıl anlamak Python gibi. Hiç utanmadan my hardcore Python intro book çıkar çıkmaz bunları yırtık ve Giriş zamanı Python courses I offer Ara için slaytlar. :-)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • alex maybury

    alex maybury

    20 Aralık 2007
  • PC Learning Zone - Computer Training

    PC Learning

    8 EYLÜL 2006
  • sinumatic

    sinumatic

    19 Aralık 2006