Format String Python: Panduan Lengkap – Codewithaden

Metode python format () Mengembalikan nilai yang diberikan ke dalam format yang ditentukan. Metode format () adalah implementasi tingkat yang lebih tinggi untuk pemformatan kompleks pada berbagai objek dan string juga. Jika Anda ingin memformat string, fungsi python format () berguna.

Format Python

Itu string.format () adalah bawaan Python fungsi yang memungkinkan beberapa penggantian dan pemformatan nilai. Itu string.format () Metode memungkinkan gabungan elemen dalam string melalui format posisi.

Python 3 memperkenalkan metode baru untuk melakukan pemformatan string yang juga kemudian kembali ke Python 2.7.

Ini “gaya baru” pemformatan string menyingkirkan %-operator Sintaks khusus dan membuat sintaks untuk pemformatan string lebih standar.

Pemformatan sekarang ditangani dengan memanggil fungsi format () pada objek string.

Anda dapat menggunakan format python () untuk melakukan pemformatan posisi sederhana, seperti yang Anda bisa dengan pemformatan “gaya lama”.

Atau, Anda dapat merujuk pada substitusi variabel Anda dengan nama dan menggunakannya dalam urutan apa pun yang ingin Anda gunakan.

Ini adalah fitur yang cukup kuat karena memungkinkan untuk mengatur ulang urutan tampilan tanpa mengubah argumen yang diteruskan ke format ().

Metode python format () memformat nilai yang ditentukan dan memasukkannya ke dalam placeholder string.

Placeholder didefinisikan menggunakan braket keriting: {}.

Baca lebih lanjut tentang placeholder di bagian placeholder di bawah ini.

Sintaksis

format(value[, format_spec]) 

Argumen

nilai : Dia nilai yang harus diformat.

format_spec : Adalah spesifikasi format yang menunjukkan bagaimana nilainya harus diformat.

Fungsi ini memanggil __Format __ () Metode objek nilai.

Kami dapat mendefinisikan fungsi untuk kelas khusus kami untuk menggunakan fungsi format () dengan mereka.

Beberapa opsi format untuk angka adalah:

  1. ‘+’ – tanda harus digunakan dengan angka positif dan negatif.
  2. ‘-‘-tanda harus digunakan hanya dengan angka negatif; Ini adalah perilaku default.
  3. % – dikalikan dengan 100 dan ditunjukkan dalam persentase.
  4. ‘B’, ‘O’, ‘X’, ‘X’ – Konversi bilangan bulat menjadi format biner, oktal, dan heksadesimal. Huruf huruf kecil akan digunakan untuk ‘X’ sedangkan huruf besar akan digunakan dengan ‘X’. Ini hanya berlaku untuk bilangan bulat.
  5. ‘E’, ‘E’, ‘F’, ‘F’-digunakan dengan bilangan titik mengambang untuk notasi eksponen dan notasi titik tetap, masing-masing.

Metode format () mengembalikan string yang diformat.

Berbagai jenis penentu format dalam python

Lihat penentu format berikut.

‘<‘ - Kiri menyelaraskan hasilnya

‘>’ – benar menyelaraskan hasilnya

‘^’ – Center menyelaraskan hasilnya

‘=’ – menempatkan tanda pada posisi paling kiri

‘+’ – Gunakan tanda plus untuk menunjukkan apakah hasilnya positif atau negatif

‘-‘-Gunakan tanda minus hanya untuk nilai negatif

‘‘ – Gunakan ruang terkemuka untuk angka positif

‘,’ – Gunakan koma sebagai ribuan pemisah

‘_’ – Gunakan garis bawah sebagai seribu pemisah

‘B’ – format biner

‘C’ – Mengubah nilai menjadi karakter unicode yang sesuai

‘D’ – format desimal

‘E’ – format ilmiah, dengan huruf kecil e

‘E’ – format ilmiah, dengan huruf besar e

‘F’ – Format Nomor FixPoint

‘F’ – Format Nomor Fixpoint, Kasus Hulu

‘G’ – Format Umum

‘G’ – Format Umum (Menggunakan Epercase E untuk Notasi Ilmiah)

‘O’ – format oktal

‘X’ – format hex, huruf kecil

‘X’ – format hex, huruf besar

‘N’ – Format Nomor

‘%’ – format persentase

Lihat contoh kode berikut.

# app.py

# Print a value in integer format
print(format(8918, 'd'))  # 'd' refer to integer format

# Printing a value in float format
print(format(123.5461213, 'f'))  # 'f' refers to float format

# Printing a value in binary format

print(format(12, 'b'))  # 'b' refers to binary

# Hexadecimal format

print(format(20, 'X'))  # 'X' refers to hexadecimal in upper case
 

Keluaran

➜  pyt python3 app.py
8918
123.546121
1100
14
➜  pyt 

Jadi dalam contoh di atas, kita dapat melihat bahwa, untuk memformat input ke integer, kita harus menggunakan ‘d’, dalam heksadesimal tetapi dalam huruf kapital ‘X’, dalam biner ‘ b’ Dan untuk nilai float, kami telah menggunakan ‘f’

Fungsi python format () untuk objek khusus

Mari kita lihat bagaimana kita dapat menggunakan fungsi format () dengan objek kustom.

Kami akan membuat file kelas dan tentukan fungsi __Format __ () untuk itu.

Fungsi ini harus mengembalikan string; Kalau tidak, kami akan mendapatkan kesalahan.

Lihat kode berikut.

# app.py

class App:
    id = 11

    def __init__(self, i):
        self.id = i

    def __format__(self, format_spec):
        print('__format__ method called')
        if format_spec == 's':
            return "App[id=%s]" % self.id
        if format_spec == 'i':
            return str(self.id)
        else:
            return 'invalid format spec'


d = App(21)
print(format(d, 's'))
print(format(d, 'i'))
print(format(d, 'x'))
 

Keluaran

➜  pyt python3 app.py
__format__ method called
App[id=21]
__format__ method called
21
__format__ method called
invalid format spec
➜  pyt 

Operasi pemformatan yang dijelaskan di sini menunjukkan berbagai kebiasaan yang menyebabkan beberapa kesalahan umum seperti gagal ditampilkan tupel dan Kamus benar.

Menggunakan string literal yang diformat lebih baru atau str.format () Antarmuka membantu menghindari kesalahan ini.

Alternatif -alternatif ini juga memberikan metode yang lebih kuat, fleksibel, dan dapat diperluas untuk memformat teks.

Interpolasi python string / f-string

Python 3.6 Menambahkan cara pemformatan string baru yang disebut string literal yang diformat atau “f-string”.

Metode baru untuk format string ini memungkinkan Anda menggunakan ekspresi python tertanam di dalam konstanta string. Inilah contoh sederhana untuk memberi Anda perasaan untuk fitur ini.

Lihat contoh kode berikut di konsol Python.

➜  pyt python3
Python 3.6.4 (v3.6.4:d48ecebad5, Dec 18 2017, 21:07:28)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 11
>>> b = 21
>>> f'Eleven plus twenty one is {a + b} and not {2 * (a + b)}.'
'Eleven plus twenty one is 32 and not 64.'
>>> 

Seperti yang Anda lihat, ini awalan konstanta string dengan huruf “f” —kia nama “f-string.”

Sintaks pemformatan baru ini sangat kuat. Karena Anda dapat menanamkan ekspresi Python yang sewenang -wenang, Anda bahkan dapat melakukan aritmatika inline dengan itu.

Literal string yang diformat adalah fitur parser Python yang mengubah string F menjadi serangkaian konstanta dan ekspresi string. Mereka kemudian bergabung untuk membangun string terakhir.

Lihat kode berikut.

# app.py

def wish(name, question):
    return f"Happy Birthday, {name}! How's your birthday {question}?"


print(wish('Agent K', 'going'))
 

Keluaran

➜  pyt python3 app.py
Happy Birthday, Agent K! How's your birthday going?
➜  pyt 

String template python

Mari kita lihat satu alat lagi untuk memformat string Python: string template . Ini adalah mekanisme yang lebih mudah dan kurang kuat, tetapi dalam beberapa kasus, inilah yang Anda cari.

Lihat kode berikut.

# app.py

from string import Template

t = Template('Hey, $name!')
formattedString = t.substitute(name='Krunal')
print(formattedString)
 

Keluaran

➜  pyt python3 app.py
Hey, Krunal!
➜  pyt 

Anda lihat di sini bahwa kami perlu mengimpor kelas template dari bawaan Python rangkaian modul.

String template bukanlah fitur bahasa inti, tetapi disediakan oleh string modul di perpustakaan standar.

Kesimpulan

Ada lebih dari satu cara untuk menangani pemformatan string di Python.

Setiap metode memiliki pro dan kontra. Kasing penggunaan Anda akan mempengaruhi metode mana yang harus Anda gunakan.

Itu untuk tutorial ini.

Pos terkait

Format Waktu Python

Format tanggal string python

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *