Saya ingin menempatkan int
ke dalam string
. Inilah yang saya lakukan saat ini:
num = 40
plot.savefig('hanning40.pdf') #problem line
Saya harus menjalankan program untuk beberapa angka yang berbeda, jadi saya ingin melakukan perulangan. Tetapi memasukkan variabel seperti ini tidak berfungsi:
plot.savefig('hanning', num, '.pdf')
Bagaimana cara saya memasukkan variabel ke string Python?
%
operator tidak digunakan lagi pada Python 3.1. Cara baru yang disukai adalah menggunakan.format()
metode seperti yang dibahas dalam PEP 3101 dan disebutkan dalam jawaban Dan McDougall.Oh, banyak, banyak cara ...
Rangkaian string:
Penentu Konversi:
Menggunakan nama variabel lokal:
Menggunakan
str.format()
:Menggunakan f-string:
Menggunakan
string.Template
:sumber
'foo %d, bar %d' % (foo, bar)
.plot.savefig('hanning{num}s.pdf'.format(**locals()))
plot.savefig(f'hanning{num}.pdf')
. Saya menambahkan jawaban dengan info ini.Dengan diperkenalkannya string string yang diformat ("f-string") di Python 3.6, sekarang mungkin untuk menulis ini dengan sintaks yang lebih singkat:
Dengan contoh yang diberikan dalam pertanyaan, akan terlihat seperti ini
sumber
Tidak yakin persis apa yang dilakukan semua kode yang Anda posting, tetapi untuk menjawab pertanyaan yang diajukan dalam judul, Anda dapat menggunakan + sebagai fungsi concat string normal dan juga str ().
Semoga itu bisa membantu!
sumber
+
harus dihindari karena sangat mahalSecara umum, Anda dapat membuat string menggunakan:
sumber
Jika Anda ingin memasukkan beberapa nilai ke dalam string, Anda dapat menggunakannya
format
Akan menghasilkan string
hanning123.pdf
. Ini bisa dilakukan dengan array apa pun.sumber
Saya memiliki kebutuhan untuk versi yang diperluas dari ini: alih-alih menyematkan nomor tunggal dalam sebuah string, saya perlu membuat serangkaian nama file dari bentuk 'file1.pdf', 'file2.pdf' dll. Ini adalah caranya bekerja:
sumber
Anda hanya perlu memasukkan num varriable ke string menggunakan
sumber