Apa \n dalam string python?

Python memiliki kelas string bawaan bernama "str" ​​dengan banyak fitur berguna (ada modul lama bernama "string" yang tidak boleh Anda gunakan). Literal string dapat diapit dengan tanda kutip ganda atau tunggal, meskipun tanda kutip tunggal lebih umum digunakan. Pelepasan backslash bekerja dengan cara biasa dalam literal yang dikutip tunggal dan ganda -- e. g. \N \' \". Literal string yang dikutip ganda dapat berisi tanda kutip tunggal tanpa keributan (mis. g. "Saya tidak melakukannya") dan juga string yang dikutip tunggal dapat berisi tanda kutip ganda. Literal string dapat menjangkau beberapa baris, tetapi harus ada garis miring terbalik \ di akhir setiap baris untuk keluar dari baris baru. Literal string di dalam tanda kutip tiga, """ atau ''', dapat menjangkau beberapa baris teks

String Python adalah "tidak dapat diubah" yang artinya tidak dapat diubah setelah dibuat (string Java juga menggunakan gaya yang tidak dapat diubah ini). Karena string tidak dapat diubah, kami membuat string *baru* saat kami merepresentasikan nilai yang dihitung. Jadi misalnya ekspresi ('halo' + 'di sana') mengambil 2 string 'halo' dan 'di sana' dan membuat string baru 'halo'

Karakter dalam string dapat diakses menggunakan sintaks [ ] standar, dan seperti Java dan C++, Python menggunakan pengindeksan berbasis nol, jadi jika s adalah 'hello' s[1] adalah 'e'. Jika indeks di luar batas untuk string, Python memunculkan kesalahan. Gaya Python (tidak seperti Perl) akan dihentikan jika tidak tahu apa yang harus dilakukan, daripada hanya membuat nilai default. Sintaks "slice" yang praktis (di bawah) juga berfungsi untuk mengekstrak substring apa pun dari sebuah string. Fungsi len(string) mengembalikan panjang string. Sintaks [ ] dan fungsi len() benar-benar berfungsi pada jenis urutan apa pun -- string, daftar, dll. Python mencoba membuat operasinya bekerja secara konsisten di berbagai jenis. Pemula python mengerti. jangan gunakan "len" sebagai nama variabel untuk menghindari pemblokiran fungsi len(). Operator '+' dapat menggabungkan dua string. Perhatikan dalam kode di bawah ini bahwa variabel tidak dideklarasikan sebelumnya -- tetapkan saja dan lanjutkan

  s = 'hi'
  print s[1]          ## i
  print len(s)        ## 2
  print s + ' there'  ## hi there

Tidak seperti Java, '+' tidak secara otomatis mengubah angka atau tipe lain menjadi bentuk string. Fungsi str() mengonversi nilai menjadi bentuk string sehingga dapat digabungkan dengan string lain

  pi = 3.14
  ##text = 'The value of pi is ' + pi      ## NO, does not work
  text = 'The value of pi is '  + str(pi)  ## yes
_

Untuk angka, operator standar, +, /, * bekerja seperti biasa. Tidak ada operator ++, tetapi +=, -=, dll. bekerja. Jika Anda ingin pembagian bilangan bulat, gunakan 2 garis miring -- e. g. 6 // 5 adalah 1

Fungsi "cetak" biasanya mencetak satu atau lebih item python diikuti dengan baris baru. Literal string "mentah" diawali dengan 'r' dan melewati semua karakter tanpa perlakuan khusus garis miring terbalik, jadi r'x\nx' mengevaluasi ke string panjang-4 'x\nx'. "print" dapat mengambil beberapa argumen untuk mengubah cara mencetak sesuatu (lihat) seperti menyetel "end" ke "" untuk tidak lagi mencetak baris baru setelah selesai mencetak semua item

  raw = r'this\t\n and that'

  # this\t\n and that
  print(raw)

  multi = """It was the best of times.
  It was the worst of times."""

  # It was the best of times.
  #   It was the worst of times.
print(multi)

Metode Untai

Berikut adalah beberapa metode string yang paling umum. Metode seperti fungsi, tetapi berjalan "pada" objek. Jika variabel s adalah string, maka kode s. lower() menjalankan metode lower() pada objek string tersebut dan mengembalikan hasilnya (ide tentang metode yang berjalan pada objek ini adalah salah satu ide dasar yang membentuk Pemrograman Berorientasi Objek, OOP). Berikut adalah beberapa metode string yang paling umum

  • s. lebih rendah(), s. upper() -- mengembalikan versi huruf kecil atau huruf besar dari string
  • s. strip() -- mengembalikan string dengan spasi dihapus dari awal dan akhir
  • s. isalpha()/s. isdigit()/s. isspace(). -- menguji apakah semua karakter string ada di berbagai kelas karakter
  • s. dimulaidengan('lainnya'), s. endwith('other') -- menguji apakah string dimulai atau diakhiri dengan string lain yang diberikan
  • s. find('other') -- mencari string lain yang diberikan (bukan ekspresi reguler) dalam s, dan mengembalikan indeks pertama di mana ia dimulai atau -1 jika tidak ditemukan
  • s. replace('old', 'new') -- mengembalikan string di mana semua kemunculan 'lama' telah diganti dengan 'baru'
  • s. split('delim') -- mengembalikan daftar substring yang dipisahkan oleh pembatas yang diberikan. Pembatasnya bukan ekspresi reguler, itu hanya teks. 'aaa, bbb, ccc'. split(',') -> ['aaa', 'bbb', 'ccc']. Sebagai kasus khusus yang nyaman s. split() (tanpa argumen) membagi semua karakter spasi
  • s. join(list) -- kebalikan dari split(), menggabungkan elemen-elemen dalam daftar yang diberikan bersama-sama menggunakan string sebagai pembatas. e. g. '---'. gabung(['aaa', 'bbb', 'ccc']) -> aaa---bbb---ccc

Pencarian google untuk "python str" akan mengarahkan Anda ke pejabat yang mencantumkan semua metode str

Python tidak memiliki tipe karakter yang terpisah. Sebagai gantinya ekspresi seperti s[8] mengembalikan string-length-1 yang berisi karakter. Dengan string-length-1 itu, operator ==, <=,. semua berfungsi seperti yang Anda harapkan, jadi kebanyakan Anda tidak perlu tahu bahwa Python tidak memiliki tipe "char" skalar yang terpisah

Irisan Tali

Sintaks "irisan" adalah cara praktis untuk merujuk ke sub-bagian dari urutan -- biasanya string dan daftar. Irisan s[mulai. akhir] adalah elemen yang dimulai dari awal dan meluas hingga tetapi tidak termasuk akhir. Misalkan kita memiliki s = "Halo"

Apa n dalam string python?

  • s[1. 4] adalah 'ell' -- karakter mulai dari indeks 1 dan diperpanjang hingga tetapi tidak termasuk indeks 4
  • s[1. ] adalah 'ello' -- menghilangkan default indeks di awal atau akhir string
  • S[. ] adalah 'Halo' -- menghilangkan keduanya selalu memberi kita salinan semuanya (ini adalah cara pythonic untuk menyalin urutan seperti string atau daftar)
  • s[1. 100] adalah 'ello' -- indeks yang terlalu besar akan terpotong hingga ke panjang string

Nomor indeks berbasis nol standar memberikan akses mudah ke karakter di dekat awal string. Sebagai alternatif, Python menggunakan angka negatif untuk memudahkan akses ke karakter di akhir string. s[-1] adalah karakter terakhir 'o', s[-2] adalah 'l' karakter berikutnya ke terakhir, dan seterusnya. Angka indeks negatif menghitung mundur dari akhir string

  • s[-1] adalah 'o' -- karakter terakhir (pertama dari akhir)
  • s[-4] adalah 'e' -- ke-4 dari akhir
  • S[. -3] adalah 'Dia' -- naik ke tetapi tidak termasuk 3 karakter terakhir
  • s[-3. ] adalah 'llo' -- dimulai dengan karakter ke-3 dari akhir dan berlanjut hingga akhir string

Ini adalah disangkal rapi bahwa untuk setiap indeks n,

  pi = 3.14
  ##text = 'The value of pi is ' + pi      ## NO, does not work
  text = 'The value of pi is '  + str(pi)  ## yes
2. Ini berfungsi bahkan untuk n negatif atau di luar batas. Atau dengan kata lain s[. n] dan s[n. ] selalu mempartisi string menjadi dua bagian string, menghemat semua karakter. Seperti yang akan kita lihat di bagian daftar nanti, irisan juga berfungsi dengan daftar

Pemformatan string

Satu hal yang dapat dilakukan python adalah secara otomatis mengubah objek menjadi string yang cocok untuk dicetak. Dua cara bawaan untuk melakukan ini adalah literal string yang diformat, juga disebut "f-strings", dan menjalankan str. format()

Literal string yang diformat

Anda akan sering melihat literal string terformat yang digunakan dalam situasi seperti

  value = 2.791514
  print(f'approximate value = {value:.2f}')  # approximate value = 2.79

  car = {'tires':4, 'doors':2}
  print(f'car = {car}') # car = {'tires': 4, 'doors': 2}
_

String literal yang diformat diawali dengan 'f' (seperti awalan 'r' yang digunakan untuk string mentah). Teks apa pun di luar kurung kurawal '{}' akan langsung dicetak. Ekspresi yang dimuat dalam '{}' dicetak menggunakan spesifikasi format yang dijelaskan dalam Ada banyak hal rapi yang dapat Anda lakukan dengan pemformatan termasuk pemotongan dan konversi ke notasi ilmiah dan perataan kiri/kanan/tengah

f-string sangat berguna ketika Anda ingin mencetak tabel objek dan ingin kolom yang mewakili atribut objek yang berbeda disejajarkan seperti

  address_book = [{'name':'N.X.', 'addr':'15 Jones St', 'bonus': 70},
      {'name':'J.P.', 'addr':'1005 5th St', 'bonus': 400},
      {'name':'A.A.', 'addr':'200001 Bdwy', 'bonus': 5},]

  for person in address_book:
    print(f'{person["name"]:8} || {person["addr"]:20} || {person["bonus"]:>5}')

  # N.X.     || 15 Jones St          ||    70
  # J.P.     || 1005 5th St          ||   400
  # A.A.     || 200001 Bdwy          ||     5

Rangkaian %

Python juga memiliki fasilitas mirip printf() yang lebih lama untuk menyatukan string. Operator % mengambil string format tipe printf di sebelah kiri (%d int, %s string, %f/%g floating point), dan nilai yang cocok dalam tuple di sebelah kanan (tuple terbuat dari nilai yang dipisahkan oleh

  # % operator
  text = "%d little pigs come out, or I'll %s, and I'll %s, and I'll blow your %s down." % (3, 'huff', 'puff', 'house')
_

Baris di atas agak panjang -- misalkan Anda ingin memecahnya menjadi beberapa baris terpisah. Anda tidak bisa begitu saja membagi baris setelah '%' seperti yang Anda lakukan dalam bahasa lain, karena secara default Python memperlakukan setiap baris sebagai pernyataan terpisah (di sisi positifnya, inilah mengapa kita tidak perlu mengetikkan titik koma pada setiap . Untuk memperbaikinya, lampirkan seluruh ekspresi di dalam tanda kurung bagian luar -- kemudian ekspresi diperbolehkan untuk merentang beberapa baris. Teknik lintas kode ini bekerja dengan berbagai konstruksi pengelompokan yang dirinci di bawah ini. ( ), [ ], {}

  # Add parentheses to make the long line work:
  text = (
    "%d little pigs come out, or I'll %s, and I'll %s, and I'll blow your %s down."
    % (3, 'huff', 'puff', 'house'))

Itu lebih baik, tapi antreannya masih agak panjang. Python memungkinkan Anda memotong garis menjadi potongan-potongan, yang kemudian akan digabungkan secara otomatis. Jadi, untuk membuat garis ini lebih pendek lagi, kita bisa melakukan ini

  # Split the line into chunks, which are concatenated automatically by Python
  text = (
    "%d little pigs come out, "
    "or I'll %s, and I'll %s, "
    "and I'll blow your %s down."
    % (3, 'huff', 'puff', 'house'))
_

String (Unicode vs byte)

String Python biasa adalah unicode

Python juga mendukung string yang terdiri dari byte biasa (dilambangkan dengan awalan 'b' di depan string literal) seperti

> byte_string = b'A byte string'
> byte_string
  b'A byte string'
_

String unicode adalah jenis objek yang berbeda dari string byte tetapi berbagai pustaka seperti ekspresi reguler berfungsi dengan benar jika melewati salah satu jenis string

Untuk mengonversi string Python biasa menjadi byte, panggil metode encode() pada string. Ke arah lain, metode decode string byte () mengubah byte biasa yang disandikan menjadi string unicode

> ustring = 'A unicode \u018e string \xf1'
> b = ustring.encode('utf-8')
> b
b'A unicode \xc6\x8e string \xc3\xb1'  ## bytes of utf-8 encoding. Note the b-prefix.
> t = b.decode('utf-8')                ## Convert bytes back to a unicode string
> t == ustring                         ## It's the same as the original, yay!

True

Di bagian membaca file, ada contoh yang menunjukkan cara membuka file teks dengan beberapa penyandian dan membacakan string unicode

Jika Pernyataan

Python tidak menggunakan {} untuk menyertakan blok kode untuk if/loops/function dll. Sebagai gantinya, Python menggunakan titik dua (. ) dan indentasi/spasi putih untuk mengelompokkan pernyataan. Tes boolean untuk if tidak perlu dalam tanda kurung (perbedaan besar dari C++/Java), dan dapat memiliki klausa *elif* dan *else* (mnemonic. kata "elif" sama panjang dengan kata "else")

Any value can be used as an if-test. The "zero" values all count as false: None, 0, empty string, empty list, empty dictionary. There is also a Boolean type with two values: True and False (converted to an int, these are 1 and 0). Python has the usual comparison operations: ==, !=, <, <=, >, >=. Unlike Java and C, == is overloaded to work correctly with strings. The boolean operators are the spelled out words *and*, *or*, *not* (Python does not use the C-style && || !). Here's what the code might look like for a health app providing drink recommendations throughout the day -- notice how each block of then/else statements starts with a : and the statements are grouped by their indentation:

  pi = 3.14
  ##text = 'The value of pi is ' + pi      ## NO, does not work
  text = 'The value of pi is '  + str(pi)  ## yes
_0

Saya menemukan bahwa menghilangkan ". " adalah kesalahan sintaks saya yang paling umum saat mengetik kode di atas, mungkin karena itu adalah hal tambahan untuk mengetik vs. kebiasaan C++/Java saya. Juga, jangan letakkan tes boolean di dalam tanda kurung -- itu adalah kebiasaan C/Java. Jika kodenya pendek, Anda dapat meletakkan kode tersebut di baris yang sama setelah ". ", seperti ini (ini berlaku untuk fungsi, loop, dll. juga), meskipun beberapa orang merasa lebih mudah dibaca untuk memisahkan hal-hal pada baris terpisah

Apa artinya \n dan \t dalam Python?

Dalam string Python, garis miring terbalik "\" adalah karakter khusus, juga disebut karakter "escape". Ini digunakan untuk mewakili karakter spasi tertentu. "\t" adalah tab, "\n" adalah baris baru , dan "\r" adalah carriage return.

Apakah \n Menambahkan spasi Python?

Python \n memberikan dua spasi di antara output dan \t memberikan satu.

Apa perbedaan antara dua string N dan \n di Python?

\ berarti Anda dapat pergi ke baris baru dalam kode sumber Anda tetapi tidak berpengaruh pada program. \n berarti menghasilkan baris baru sebagai karakter dalam string. \n hanya berfungsi di dalam literal string . Garis miring terbalik di akhir garis fisik memperluas garis logis, di mana saja, baik di dalam maupun di luar literal string.

Bagaimana Anda menghapus \n dengan Python?

Metode 1. Gunakan fungsi ganti untuk Menghapus Karakter Baris Baru Dari String dengan Python
Metode 2. Gunakan Fungsi strip() untuk Menghapus Karakter Baris Baru Dari String dengan Python
Metode 4. Gunakan re. sub() Fungsi untuk Menghapus Karakter Baris Baru Dari String dengan Python