2016-04-05 20 views
0

biçimlendirirken: name = 'Fred'seçenekleri verilen dizeleri

1) print 'My name is', name, '.'

2) print 'My name is ' + str(name) + '.'

3) print 'My name is %s.' % name

birlikte metin dizeleri koyarak başka araçlar var mıdır?

Boşluk "" alanını kaldırmak için seçenek 1'in bir yolu var mı?

Bu yöntemlerden herhangi biri daha verimli işlemci veya bellek kullanımı mıdır?

cevap

4

Ben dördüncü seçenek öneririm:

print 'My name is {}.'.format(name) 

str.format yöntem aynı şeyleri eski % stil biçimlendirme sözdizimi olarak hemen hemen yapabiliriz, ama genel olarak biraz daha güzel ve çoğu önler Bazı belirsiz köşe durumlarda % formatlama sözdiziminin kötü davranışı.

Seçenek 1 ile ilgili diğer sorularınızda, Python 2 yazdırma ifadesindeki öğeler arasında boşluk oluşmasını engellemenin bir yolu yoktur. Belki birden çok ifade ile çalışabilir, ama çirkin olurdu. Eğer (dosyanızın üst kısmında from __future__ import print_function koyarsanız 2.6+ Python mevcut olan) yerine Python 3 yazdırma işlevini kullanırsanız

Ancak, yapabileceği:

print('My name is ', name, '.', sep="") 

açık bir kullanılıp kullanılmadığı İlk dize içinde boşluk ve sep="" ile öğeleri arasında kendi ayırıcılarını eklememek için print söyler.

format ile dize biçimlendirmenin neredeyse her zaman daha güzel olacağını düşünüyorum.