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 *

Studi Kasus Mahjong Ways Menunjukkan Perubahan Cara Pemain Membaca Susunan Simbol Akibat Baris Tambahan
Sering Terjadi Kesalahpahaman Bahwa Transformasi Simbol Emas Mahjong Ways Menandakan Hasil Putaran Berikutnya
Perbandingan Tampilan Antara Mahjong Ways Dan Sekuelnya Dalam Menyajikan Informasi Fitur Di Layar Seluler Modern
Direkapitulasi Perjalanan Mahjong Ways Dari Tema Tradisional Menuju Industri Game Digital Modern
Tanpa Mencampurkan Dengan Peran Wild, Fungsi Scatter Mahjong Ways Dapat Dikenali Dalam Susunan Kemenangan
Penyelaman Mengungkap Perubahan Dan Makna Baru Dunia Baccarat Di Era Digital
Media Gaming Mengungkap Perjalanan Mahjong Ways 2 Dalam Menghadapi Perubahan Tren Industri Hiburan Digital
Baccarat Ditampilkan Dalam Catatan Perubahan Platform Media Gaming Masa Kini Yang Mengubah Cara Bermain
Pergeseran Media Modern Menjadikan Wacana Kasino Online Sebagai Sorotan Baru Masyarakat
Perubahan Gaya Platform Membawa Bakarat Digital Menjadi Sorotan Baru Dalam Percakapan Modern
Perkembangan Komunitas Mahjong Ways Digital Dorong Kebangkitan Popularitas di Indonesia
Tren Mahjong Ways Mobile Gaming Terbaru Hadirkan Kebangkitan Jadi Sorotan Utama
Kenapa Mahjong Ways Tetap Viral? Alasan Ini Bikin Kaget!
Fenomena Game Bertema Oriental Bangkit Kembali, Mahjong Ways Jadi Sorotan Utama
Strategi Mahjong Ways Tetap Digemari Di Tengah Persaingan Game Online Diungkap Media Digital
Transformasi Industri Mahjong Ways Digital Perjalanan Panjang Menuju Inovasi
Kebangkitan Platform Game Mahjong Ways dalam Era Perkembangan Digital
Meski Zaman Berubah, Mahjong Ways Tetap Favorit! Ini Rahasianya
Mahjong Ways Masih Jadi Perbincangan Hangat! Komunitas Gaming Ungkap Alasannya
Evolusi Mahjong Ways Dari Masa Ke Masa Yang Bikin Penasaran Diungkap Laporan Industri
Mahjong Ways Tetap Eksis! Ini Rahasia Bertahan di Tengah Persaingan Industri Game Ketat
Identitas Visual Mahjong Ways Bikin Penggemar Terpikat! Media Online Soroti Konsistensinya
Tren Digital Menggairahkan Lagi! Game Penghasil Uang Cepat Jadi Sorotan Publik
Kenapa Game Penghasil Uang Cepat Menarik Minat Pemain Indonesia? Ini Alasannya!
Benarkah Game Penghasil Uang Cepat Makin Diminati? Faktanya Mengejutkan!
Majestic Treasures Menarik Perhatian Komunitas Game Digital Lewat Pesona Khas dan Ragam Strategi Menarik
Mahjong Ways 2 Ramai Dibahas Lagi! Ini Dampak Besar pada Industri Game Digital Indonesia
Mahjongways Kasino Online Viral di Komunitas Game dan Mulai Disebut sebagai Sumber Penghasilan Baru
Mahjong Ways Kembali Jadi Sorotan! Penggemar Game Penghasil Uang di Indonesia Serbu
Game Penghasil Uang Mulai Dilirik Media Game Mobile di Tengah Pergeseran Tren Global