Belajar Dasar Python #03 : Format Penulisan Kode

Format Penulisan Kode

Pada tahun 2000 terbentuk organisasi Python Software Foundation (PSF) yang mengelola perkembangan dari bahasa pemrograman python, organisasi tersebut juga mengeluarkan panduan bagi para developer untuk melakukan pengembangan yaitu Python Enhancement Proposals (PEP). salah satu nya adalah style guide untuk python. PEP-8 yang berisi tentang panduan penulisan kode/syntax python. panduan ini diadaptasi dari style guide essay yang dibuat oleh Guido Van Rossum. panduan ini pun masih terus berkembang seiring perkembangan dari bahasa itu sendiri.

  1. Indentasi

pada python untuk mengelompokkan Statement bertingkat menggunakan indentasi. berbeda dengan beberapa bahasa lain yang menggunakan kurung kurawal untuk mengelompokkan Statementnya. indentasi yang disarankan setara dengan 4 spasi.

tingkat 1:
    tingkat 2()
    tingkat 2()
        tingkat 3()

pada barisan yang berlanjut dapat mengikuti format dibawah:

# Aligned with opening delimiter.
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

# Add 4 spaces (an extra level of indentation) to distinguish arguments from the rest.
def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

# Hanging indents should add a level.
foo = long_function_name(
    var_one, var_two,
    var_three, var_four)

Jika kondisi dari if statement cukup panjang kita dapat menuliskan konsisinya dalam beberapa baris seperti contoh

# No extra indentation.
if (this_is_one_thing and
    that_is_another_thing):
    do_something()

# Add a comment
if (this_is_one_thing and
    that_is_another_thing):
    # Since both conditions are true, we can frobnicate.
    do_something()

# Add some extra indentation on the conditional continuation line.
if (this_is_one_thing
        and that_is_another_thing):
    do_something()

tanda kurung pada barisan lanjutan ditempatkan sejajar dengan karakter pertama dari list.

my_list = [
    1, 2, 3,
    4, 5, 6,
    ]

result = some_function_that_takes_arguments(
    'a', 'b', 'c',
    'd', 'e', 'f',
    )

atau bisa juga tanda kurung tersebut bisa juga ditempatkan sejajar dengan karakter pertama.

my_list = [
    1, 2, 3,
    4, 5, 6,
]
result = some_function_that_takes_arguments(
    'a', 'b', 'c',
    'd', 'e', 'f',
)

2. Tab atau Spasi?

untuk melakukan indentasi kita dapat menggunakan tab ataupun spasi. konsisten menggunakan salah satu saja tab atau indentasi, pada python 3 kita tidak diperbolehkan untuk mencampurkan spasi dan tab pada indentasi kita, sedangkan pada python 2 tab akan dikonversi ke spasi.

3. Membuat baris baru setelah operator atau sebelum operator?

Selama Beberapa dekade style yang disarankan, membuat baris baru setelah operator tetapi ini menimbulkan masalah karena operator sulit diidentifikasi karena tersebar pada kolom yang berbeda atau tidak sejajar.

# Wrong:
# operators sit far away from their operands
income = (gross_wages +
          taxable_interest +
          (dividends - qualified_dividends) -
          ira_deduction -
          student_loan_interest)

untuk mengatasi permasalahan ini, disarankan untuk membentuk baris baru sebelum operator.

# Correct:
# easy to match operators with operands
income = (gross_wages
          + taxable_interest
          + (dividends - qualified_dividends)
          - ira_deduction
          - student_loan_interest

4. Hindari menambahkan whitespace yang tidak perlu

antara kurung buka dan kurung tutup.

# Correct:
spam(ham[1], {eggs: 2})

# Wrong:
spam( ham[ 1 ], { eggs: 2 } )

 

antara tanda koma dan tutup kurung.

# Correct:
foo = (0,)

# Wrong:
bar = (0, )

 

sebelum tanda koma, titik koma, dan titik dua.

# Correct:
if x == 4: print x, y; x, y = y, x

# Wrong:
if x == 4 : print x , y ; x , y = y , x

 

titik dua pada slicing atau indexing berperan sebagai operator, dimana memiliki spasi atau whitespace yang sama di kedua sisinya.

# Correct:
ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham[1:9:]
ham[lower:upper], ham[lower:upper:], ham[lower::step]
ham[lower+offset : upper+offset]
ham[: upper_fn(x) : step_fn(x)], ham[:: step_fn(x)]
ham[lower + offset : upper + offset]

# Wrong:
ham[lower + offset:upper + offset]
ham[1: 9], ham[1 :9], ham[1:9 :3]
ham[lower : : upper]
ham[ : upper]

 

sebelum kurung buka pada pemanggilan fungsi.

# Correct:
spam(1)

# Wrong:
spam (1)

 

sebelum kurung buka pada slicing atau indexing.

# Correct:
dct['key'] = lst[index]

# Wrong:
dct ['key'] = lst [index]

 

spasi yang lebih dari satu pada assignment

# Correct:
x = 1
y = 2
long_variable = 3

# Wrong:
x             = 1
y             = 2
long_variable = 3

Masih banyak format penulisan yang lain, teman-teman bisa mempelajarinya pada disini.

Artikel Terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Pengalaman Pengguna Game Penghasil Saldo DANA Lebih Cepat Adaptif Dan Efisien Dibawa Oleh Inovasi Teknologi
Pergeseran Mutu Produksi Kosmetik Terdeteksi Lebih Akurat Berkat Aliran Data Langsung
Pengalaman Pengguna Semakin Responsif Adaptif Dan Efisien Berkat Perkembangan Teknologi Modern
Momentum Tetap Terarah Dan Terkendali Dipertahankan Melalui Taktik Mode Pemburu Sic Bo Live
Keputusan Tetap Terukur Dalam Game Online Dipertahankan Melalui Pengelolaan Modal Cerdas
Kapitalisasi Pasar Dan Inovasi Kasino Online Berubah Di Tengah Disrupsi Teknologi Modern
Strategi Baru Untuk Meningkatkan Keunggulan Kompetitif Dibuka Melalui Business Model Canvas Mahjong Ways
Kualitas Sistem Mahjongways Kasino Online Dipahami Melalui Identifikasi Nilai Pembayaran Game Penghasil Saldo DANA
Perspektif Baru Dalam Menganalisis Perkembangan Mahjong Ways Dibuka Melalui Modernisasi Strategi
Kasino Menjadi Studi Sistem Informasi Bagi Mahasiswa Melalui Pelatihan Enterprise Architecture
Mahjongways Kasino Online Dijadikan Acuan Strategi Marketing dalam Lingkungan Pemerintahan
Keamanan Informasi Jadi Fondasi Utama Layanan Konsultasi Kosmetik Berbasis Teknologi
Teknologi Pemantauan Membantu Mengukur Frekuensi Pembayaran secara Lebih Objektif dan Terukur
Kajian Statistik Pola RTP Menyoroti Perkembangan Teknologi Neural Sintetis Regulatoris
Simulasi Statistik Membuka Pendekatan Baru Memahami Mahjong Game Sungai Penuh secara Terukur
Statistik Objektif Membantu Membaca Pola Mahjong Game Sungai Penuh dengan Lebih Rasional
Strategi Mahjong Game Sungai Penuh Makin Terarah melalui Pendekatan Statistik Modern
Pendekatan Data Objektif Membantu Mengkaji Mahjong Game Saldo DANA Sungai Penuh secara Lebih Terstruktur
Mahjong Game Sungai Penuh Dikaji lewat Simulasi Statistik untuk Membaca Pola Aktivitas
Aturan Mahjong Digital dari Dua Kartu Awal hingga Penentuan Rentang Nilai Game Penghasil Saldo DANA
Pendekatan Adaptif MahjongWays Kasino Online Membantu Menjaga Keseimbangan Anggaran Hiburan
Kemunculan Simbol Unik MahjongWays Kasino Online Perlu Dibaca Secara Lebih Rasional
Mahjong Ways Menarik Minat Pemain di Tengah Ketatnya Persaingan Game Digital
Pengaturan Tempo MahjongWays Kasino Online Tidak Menentukan Munculnya Kombinasi Khusus
Starlight Princess Kembali Merebut Perhatian Pemain MBG Berkat Daya Tariknya
Membaca Pola Mahjong Ways dan Tren Permainan Lewat Data Saldo DANA Terbaru
Disiplin Mental MahjongWays Kasino Online Membantu Mencegah Keputusan Finansial yang Terlalu Impulsif
Mengenal Sweet Bonanza sebagai Game Digital Online dengan Tema Manis yang Menarik
Rotasi Awal MahjongWays Kasino Online Bukan Tolok Ukur Kemurahan Sistem Permainan
Menelusuri Strategi Terbaik dalam Bermain Game Penghasil Saldo DANA Secara Lebih Mendalam