Apa %s
artinya dengan Python? Dan apa yang dilakukan oleh sedikit kode berikut?
Misalnya...
if len(sys.argv) < 2:
sys.exit('Usage: %s database-name' % sys.argv[0])
if not os.path.exists(sys.argv[1]):
sys.exit('ERROR: Database %s was not found!' % sys.argv[1])
%
operator usang dalam mendukung lebih kuatstr.format
metode, melihat PEP-3101 .Jawaban:
Ini adalah sintaks pemformatan string (yang dipinjam dari C).
Silakan lihat "PyFormat" :
Sunting: Ini adalah contoh yang sangat sederhana:
The
%s
Token memungkinkan saya untuk memasukkan (dan berpotensi memformat) string. Perhatikan bahwa%s
token diganti dengan apa pun yang saya berikan ke string setelah%
simbol. Perhatikan juga bahwa saya menggunakan tuple di sini juga (ketika Anda hanya memiliki satu string menggunakan tuple adalah opsional) untuk menggambarkan bahwa banyak string dapat dimasukkan dan diformat dalam satu pernyataan.sumber
str.format
metode yang lebih kuat .(name,)
, dan bukan adilname
?Jawaban Andrew bagus.
Dan hanya untuk membantu Anda sedikit lebih banyak, inilah cara Anda menggunakan banyak pemformatan dalam satu string
Jika Anda menggunakan int bukan string, gunakan% d bukannya% s.
sumber
%s
pada bilangan bulat, itu hanya akan dikonversi menjadi string.print('This number will be padded with 4 zeros: %05d ' % 1)
- ini akan berhasil.print('This number will be padded with 4 zeros: %05s ' % 1)
- ini tidak akan `The
format
Metode diperkenalkan pada Python 2.6. Ini lebih mampu dan tidak jauh lebih sulit untuk digunakan:sumber
%s
menunjukkan jenis konversi string ketika menggunakan kemampuan format string python. Lebih khusus lagi,%s
mengonversi nilai yang ditentukan ke string menggunakanstr()
fungsi. Bandingkan ini dengan%r
jenis konversi yang menggunakanrepr()
fungsi untuk konversi nilai.Lihatlah dokumen untuk pemformatan string .
sumber
%s
dan%d
adalah Penentu Format atau placeholder untuk memformat string / desimal / float dll.Format specifier yang paling umum digunakan:
%s
: string%d
: desimal%f
: mengapungKode penjelasan sendiri:
sumber
Sebagai jawaban atas pertanyaan kedua Anda: Apa yang dilakukan kode ini? ...
Ini adalah kode pemeriksaan kesalahan yang cukup standar untuk skrip Python yang menerima argumen baris perintah.
Jadi,
if
pernyataan pertama diterjemahkan menjadi: jika Anda belum memberikan saya argumen, saya akan memberi tahu Anda bagaimana Anda harus memberikan saya argumen di masa depan, misalnya Anda akan melihat ini di layar:if
Pernyataan selanjutnya memeriksa untuk melihat apakah 'nama database' yang Anda berikan ke skrip benar-benar ada pada sistem file. Jika tidak, Anda akan mendapatkan pesan seperti ini:Dari dokumentasi :
sumber
Berikut adalah contoh yang bagus di Python3.
sumber