Python tidak diragukan lagi dapat disebut bahasa yang telah mengalami pertumbuhan signifikan dalam dekade terakhir, bahasa yang telah terbukti kuat. Saya telah membuat banyak aplikasi Python, dari
peta interaktif hingga
blockchains . Python memiliki banyak fitur. Sangat sulit bagi pemula untuk memahami semua ini sekaligus.

Bahkan jika Anda seorang programmer yang beralih ke Python dari bahasa lain seperti C, atau jika Anda adalah seorang ilmuwan yang dulu bekerja di MATLAB, pemrograman Python menggunakan abstraksi tingkat tinggi jelas merupakan pengalaman yang sangat istimewa. Saya ingin berbicara tentang lima yang sangat penting, menurut pendapat saya, fitur-fitur Python yang sayangnya tidak saya ketahui sebelumnya.
1. Daftar inklusi - menulis kode ringkas
Banyak yang akan menyebut mekanisme Python seperti
lambda
,
map
dan
filter
rahasia yang harus dipelajari oleh setiap programmer pemula. Dan meskipun saya yakin bahwa semua ini patut diketahui, dalam sebagian besar situasi di mana alat ini dapat diterapkan, saya telah menemukan fleksibilitas yang tidak memadai dari alat ini. Akibatnya, mereka jauh dari berguna seperti kelihatannya.
Lambda
adalah metode untuk membuat fungsi kecil, garis tunggal untuk penggunaan tunggal. Jika suatu fungsi dipanggil berkali-kali, itu menurunkan kinerja. Tetapi pada saat yang sama, fungsi
map
menerapkan fungsi ke semua elemen daftar, dan
filter
memilih dari set elemen tertentu subset yang sesuai dengan kondisi yang ditentukan oleh pengguna.
add_func = lambda z: z ** 2 is_odd = lambda z: z%2 == 1 multiply = lambda x,y: x*y aList = list(range(10)) print(aList)
Daftar inklusi (pemahaman daftar) adalah desain yang ringkas dan mudah digunakan untuk membuat daftar dari daftar lain menggunakan ekspresi dan kondisi yang fleksibel. Konstruksi ini digambarkan menggunakan tanda kurung siku. Mereka termasuk ekspresi atau fungsi yang berlaku untuk setiap elemen daftar hanya jika elemen itu memenuhi kondisi tertentu. Daftar inklusi dapat berupa struktur multi-level yang berisi blok bersarang. Ini memungkinkan Anda untuk memproses daftar bersarang, memberikan lebih banyak fleksibilitas daripada menggunakan
map
dan
filter
.
Berikut ini sintaks untuk penyertaan daftar:
[ expression(x) for x in aList if optional_condition(x) ]
Berikut ini sebuah contoh:
print(list(map(add_func, aList))) print([x ** 2 for x in aList])
2. Bekerja dengan daftar - daftar bundar
Python memungkinkan Anda untuk menggunakan indeks negatif saat bekerja dengan daftar. Perbandingan berikut ini benar:
aList[-1] == aList[len(aList)-1]
Ini memungkinkan, misalnya, untuk mendapatkan elemen kedua dari akhir daftar menggunakan
aList[-2]
. Desain serupa lainnya dimungkinkan.
Selain itu, Anda bisa mendapatkan sepotong daftar:
aList[start:end:step]
Di sini, elemen awal daftar termasuk dalam irisan yang dihasilkan, dan elemen terakhir tidak termasuk di dalamnya. Misalkan daftar terlihat seperti ini:
aList = [1, 2, 3, 4, 5, 6, 7, 8, 9]
aList[2:5]
akan terlihat seperti
[2, 3, 4]
. Selain itu, Anda dapat "membalik" daftar menggunakan perintah
aList[::-1]
. Dalam kasus kami, ini akan memberi
[9, 8, 7, 6, 5, 4, 3, 2, 1]
. Saya menemukan solusi ini untuk tugas "membalik" daftar sangat visual dan sukses.
Anda juga dapat membongkar daftar dengan menempatkan nilai yang disimpan di dalamnya ke dalam variabel yang terpisah. Atau - "mendekomposisi" nilainya menjadi variabel yang terpisah dan daftar baru menggunakan tanda bintang:
a, b, c, d = aList[0:4] print(f'a = {a}, b = {b}, c = {c}, d = {d}')
3. fungsi zip dan enumerate - membuat kuat untuk loop
Fungsi
zip
menciptakan iterator yang menggabungkan elemen dari beberapa daftar. Ini memungkinkan perayapan paralel daftar
for
loop dan penyortiran paralel. Anda dapat mengembalikan elemen gabungan ke keadaan normal menggunakan operator
*
.
Berikut adalah contoh bekerja dengan fungsi
zip
:
numList = [0, 1, 2] engList = ['zero', 'one', 'two'] espList = ['cero', 'uno', 'dos'] print(list(zip(numList, engList, espList)))
Namun, inilah cara mengembalikan daftar ke keadaan normal:
Eng = list(zip(engList, espList, numList)) Eng.sort()
Fungsi
enumerate
, pada pandangan pertama, mungkin terlihat sangat rumit, tetapi jika Anda mengatasinya, ternyata itu bisa berguna dalam banyak kasus. Ini adalah penghitung otomatis yang sering digunakan
for
loop. Selain itu, dalam siklus seperti itu tidak perlu untuk membuat dan menambah variabel penghitung menggunakan konstruksi seperti
counter = 0
dan
counter += 1
.
Fungsi
zip
dan
enumerate
adalah dua alat paling kuat yang digunakan dalam membangun loop:
upperCase = ['A', 'B', 'C', 'D', 'E', 'F'] lowerCase = ['a', 'b', 'c', 'd', 'e', 'f'] for i, (upper, lower) in enumerate(zip(upperCase, lowerCase), 1): print(f'{i}: {upper} and {lower}.')
4. Generator - penggunaan memori yang efisien
Generator digunakan dalam kasus-kasus ketika diperlukan untuk melakukan perhitungan tertentu yang mengarah pada tampilan serangkaian hasil, tetapi pada saat yang sama perlu untuk menghindari alokasi memori simultan untuk menyimpan semua hasil tersebut. Dengan kata lain, generator memberikan nilai-nilai tertentu, seperti yang mereka katakan, "on the fly". Namun, mereka tidak menyimpan dalam memori nilai-nilai yang sebelumnya ditemukan oleh mereka. Akibatnya, memori digunakan hemat.
Generator sering digunakan untuk membaca file besar atau untuk membuat urutan tak terbatas menggunakan kata kunci
yield
. Saya sering merasa cocok untuk menggunakannya dalam proyek penelitian saya.
def gen(n):
5. Lingkungan virtual - isolasi kode
Jika Anda hanya dapat memilih satu ide dari artikel ini yang dapat Anda ingat, maka saya akan menyarankan Anda satu yang akan kita bicarakan di bagian ini. Kita berbicara tentang lingkungan virtual (lingkungan virtual).
Aplikasi python sering menggunakan banyak paket berbeda. Mereka diciptakan oleh pengembang yang berbeda, mereka berbeda dalam set dependensi yang kompleks. Dalam aplikasi tertentu, versi tertentu dari perpustakaan tertentu dapat digunakan. Namun, versi lain untuk aplikasi semacam itu tidak akan berfungsi. Tetapi bagaimana jika beberapa aplikasi menggunakan versi berbeda dari perpustakaan yang sama? Ini adalah pertanyaan yang sulit yang membawa kita pada gagasan bahwa tidak ada lingkungan universal, paket-paket yang diinstal di dalamnya sangat cocok untuk semua aplikasi. Jawaban untuk pertanyaan ini dapat disebut penggunaan lingkungan virtual.
Untuk membuat lingkungan virtual yang terisolasi satu sama lain, Anda dapat melakukan ini:
conda create -n venv pip python=3.7
Ringkasan
Pada artikel ini, kami telah membahas 5 fitur Python yang berguna. Yaitu, itu tentang daftar inklusi, tentang daftar siklik, tentang fungsi
zip
dan
enumerate
, tentang generator dan lingkungan virtual. Kami harap fitur ini berguna.
Pembaca yang budiman! Jika Anda bisa memberi tahu programmer pemula hanya satu fitur Python, apa yang akan Anda pilih?
