Mempertimbangkan:
>>> r"what"ever"
SyntaxError: invalid syntax
>>> r"what\"ever"
'what\\"ever'
Jadi bagaimana kita mendapatkan kutipannya, tapi tidak dengan garis miring?
Dan tolong jangan menyarankan r'what"ever'
, karena pertanyaannya adalah bagaimana kita memasukkan kedua jenis kutipan tersebut?
Jawaban:
Jika Anda ingin menggunakan tanda kutip ganda dalam string tetapi bukan tanda kutip tunggal, Anda dapat menggunakan tanda kutip tunggal sebagai pemisah:
r'what"ever'
Jika Anda membutuhkan kedua jenis kutipan dalam string Anda, gunakan string yang dikutip tiga kali:
r"""what"ev'er"""
Jika Anda ingin menyertakan kedua jenis string yang dikutip tiga kali dalam string Anda (kasus yang sangat tidak mungkin), Anda tidak dapat melakukannya, dan Anda harus menggunakan string non-mentah dengan pelolosan.
sumber
r"raw string"
dan C #@"@-quoted string"
dan"""triple quotes"""
r'what"ever"
kesalahan parse? Apakah maksud Andar'what"ever'
?Python memiliki lebih dari satu cara untuk membuat string. Sintaks string berikut akan memungkinkan Anda menggunakan tanda kutip ganda:
'''what"ever'''
sumber
Jika Anda memerlukan jenis kutipan apa pun (tunggal, ganda, dan tiga kali lipat untuk keduanya), Anda dapat "menggabungkan" (0) string:
>>> raw_string_with_quotes = r'double"' r"single'" r'''double triple""" ''' r"""single triple''' """ >>> print raw_string_with_quotes double"single'double triple""" single triple'''
Anda juga dapat "menggabungkan" (0) string mentah dengan string non-mentah:
>>> r'raw_string\n' 'non-raw string\n' 'raw_string\\nnon-raw string\n'
(0): Faktanya, parser Python menggabungkan string, dan tidak membuat banyak string. Jika Anda menambahkan operator "+", beberapa string akan dibuat dan digabungkan.
sumber
Tidak masalah, jawabannya adalah string kutipan tiga mentah:
r"""what"ever"""
sumber
Karena saya tersandung pada jawaban ini, dan itu sangat membantu saya, tetapi saya menemukan masalah sintaksis kecil, saya merasa saya harus menyelamatkan orang lain yang mungkin frustrasi. String kutip tiga berfungsi untuk skenario ini seperti yang dijelaskan, tetapi perhatikan bahwa jika "yang Anda inginkan dalam string muncul di akhir string itu sendiri:
somestr = """This is a string with a special need to have a " in it at the end""""
Anda akan menemui kesalahan saat eksekusi karena tanda kutip "" "" (4) berturut-turut membingungkan pembaca string, karena ia mengira telah mencapai akhir string dan kemudian menemukan "acak" di luar sana. Anda dapat memvalidasi ini dengan memasukkan spasi ke dalam 4 tanda kutip seperti ini: "" "" dan tidak akan ada kesalahan.
Dalam kasus khusus ini, Anda perlu menggunakan:
somestr = 'This.....at the end"'
atau gunakan metode yang dijelaskan di atas untuk membuat beberapa string dengan campuran "dan 'dan kemudian menggabungkannya setelah fakta.
sumber
Hanya untuk memasukkan fungsionalitas baru yang kompatibel dengan Python f String:
var_a = 10 f"""This is my quoted variable: "{var_a}". """
sumber
f"foo\"bar"
.Menggunakan:
dqote='"' sqote="'"
Gunakan operator '+' dan
dqote
dansquote
variabel untuk mendapatkan yang Anda butuhkan.Jika saya mau
sed -e s/",u'"/",'"/g -e s/^"u'"/"'"/
, Anda dapat mencoba yang berikut ini:dqote='"' sqote="'" cmd1="sed -e s/" + dqote + ",u'" + dqote + "/" + dqote + ",'" + dqote + '/g -e s/^"u' + sqote + dqote + '/' + dqote + sqote + dqote + '/'
sumber