Kamus impor python kata-kata

Kamus adalah tipe majemuk yang berbeda dari tipe urutan yang kita pelajari di bab ini. Mereka adalah tipe pemetaan bawaan Python. Mereka memetakan kunci, yang bisa berupa tipe apa pun yang tidak dapat diubah, ke nilai, yang bisa berupa tipe apa saja, seperti nilai daftar atau tupel

Catatan

Nama lain untuk kamus dalam ilmu komputer termasuk peta, tabel simbol, dan susunan asosiatif. Pasangan nilai disebut sebagai pasangan nama-nilai, nilai kunci, nilai bidang, atau nilai atribut

Sebagai contoh, kami akan membuat kamus untuk menerjemahkan kata bahasa Inggris ke bahasa Spanyol. Untuk kamus ini, kuncinya adalah string

Salah satu cara untuk membuat kamus adalah memulai dengan kamus kosong dan menambahkan key-value pair. Kamus kosong dilambangkan dengan sepasang kurung kurawal,

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525, 'pears': 217}
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 217, 'oranges': 525}
7

>>> eng2sp = {}
>>> type(eng2sp)
<class 'dict'>
>>> eng2sp['one'] = 'uno'
>>> eng2sp['two'] = 'dos'
>>> eng2sp['three'] = 'tres'
_

Tugas pertama membuat kamus bernama

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525, 'pears': 217}
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 217, 'oranges': 525}
8; . Kami dapat mencetak nilai kamus saat ini dengan cara biasa

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}

Pasangan kunci-nilai kamus dipisahkan dengan koma. Setiap pasangan berisi kunci dan nilai yang dipisahkan oleh titik dua

Urutan pasangan mungkin tidak seperti yang Anda harapkan. Python menggunakan algoritme kompleks untuk menentukan di mana pasangan kunci-nilai disimpan dalam kamus. Untuk tujuan kami, kami dapat menganggap urutan ini tidak dapat diprediksi, jadi Anda sebaiknya tidak mencoba mengandalkannya. Sebagai gantinya, cari nilai dengan menggunakan kunci yang diketahui

Cara lain untuk membuat kamus adalah dengan menyediakan daftar key-value pair menggunakan sintaks yang sama dengan keluaran sebelumnya

>>> eng2sp = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
_

Tidak masalah urutan apa yang kita tulis pasangannya. Nilai dalam kamus diakses dengan kunci, bukan dengan indeks, jadi pengurutan tidak penting

Inilah cara kami menggunakan kunci untuk mencari nilai yang sesuai

>>> eng2sp['two']
'dos'

Kunci

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525, 'pears': 217}
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 217, 'oranges': 525}
_9 menghasilkan nilai
>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
0

6. 2. Operasi kamus

Pernyataan

>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
_1 menghapus pasangan kunci-nilai dari kamus. Sebagai contoh, kamus berikut ini memuat nama-nama berbagai buah dan jumlah stok masing-masing buah

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525, 'pears': 217}
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 217, 'oranges': 525}

Jika seseorang membeli semua pir, kami dapat menghapus entri dari kamus

>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}

Atau jika kami mengharapkan lebih banyak pir segera, kami mungkin hanya mengubah nilai yang terkait dengan pir

>>> inventory['pears'] = 0
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 0, 'oranges': 525}

Fungsi

>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
_2 juga berfungsi pada kamus;

>>> len(inventory)
4

Operator

>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
_3 mengembalikan
>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
4 jika kunci muncul di kamus dan
>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
5 sebaliknya

>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False

Operator ini bisa sangat berguna, karena mencari kunci yang tidak ada di kamus menyebabkan kesalahan runtime

>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>

Untuk mengatasi masalah ini, metode ________7______6 bawaan menyediakan nilai default yang dikembalikan saat kunci tidak ditemukan

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
0

Fungsi

>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
_7 bawaan Python mengembalikan daftar kunci kamus dalam urutan yang diurutkan

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
1

6. 3. Aliasing dan penyalinan

Karena kamus bisa berubah, Anda perlu waspada terhadap aliasing. Setiap kali dua variabel merujuk ke objek yang sama, perubahan pada satu variabel akan memengaruhi yang lain

Jika Anda ingin mengubah kamus dan menyimpan salinan aslinya, gunakan metode

>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
8. Misalnya,
>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
_9 adalah kamus yang berisi pasangan lawan kata

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
2

>>> inventory['pears'] = 0
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 0, 'oranges': 525}
0 dan
>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
9 mengacu pada objek yang sama; . Jika kami memodifikasi
>>> inventory['pears'] = 0
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 0, 'oranges': 525}
3,
>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
9 juga berubah

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_3

Jika kami memodifikasi

>>> inventory['pears'] = 0
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 0, 'oranges': 525}
_2,
>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
9 tidak berubah

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_4

6. 4. Set

Set adalah tipe data Python yang menampung kumpulan elemen unik yang tidak terurut. Ini mengimplementasikan tipe data abstrak himpunan yang pada gilirannya didasarkan pada konsep matematika dari himpunan terbatas. Seperti kamus, Python menggunakan kurung kurawal untuk menunjukkan satu set, tetapi dengan elemen, bukan pasangan kunci-nilai

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
5

Untuk membuat himpunan kosong, Anda tidak dapat menggunakan kurung kurawal kosong

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
6

Sebagai gantinya, gunakan fungsi konverter tipe

>>> inventory['pears'] = 0
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 0, 'oranges': 525}
_7 tanpa argumen

Set berisi kumpulan elemen unik dari jenis apa pun. Anda dapat menambahkan ke set menggunakan metode add-nya, dan menguji keanggotaan dengan operator

>>> del inventory['pears']
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'oranges': 525}
3

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_7

Karena set menyimpan kumpulan elemen yang unik, Anda dapat menggunakan fungsi konversi tipe

>>> inventory['pears'] = 0
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 0, 'oranges': 525}
7 untuk menghapus duplikat dari daftar

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
8

6. 5. Memformat String

Buku ini ditujukan untuk calon pengembang web, sehingga sebagian besar fokus kami adalah membuat halaman web dinamis menggunakan Python. Halaman web disimpan dalam file teks, yang pada dasarnya adalah file yang berisi string teks. Kemampuan mengolah dan memformat teks cukup penting bagi kami. Tentang itulah bagian ini

6. 6. Metode >>> len(inventory) 4 0 untuk string

Cara termudah dan paling ampuh untuk memformat string di Python 3 adalah dengan menggunakan metode

>>> len(inventory)
4
0

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_9

Ide utamanya adalah seseorang menyediakan string pemformat yang berisi bidang placeholder,

>>> len(inventory)
4
2 dll. Metode format string menggunakan angka sebagai indeks ke dalam argumennya, dan mengganti argumen yang sesuai ke dalam setiap bidang placeholder

Setiap placeholder juga dapat berisi spesifikasi format — selalu diperkenalkan dengan simbol

>>> len(inventory)
4
3. Hal ini dapat mengontrol hal-hal seperti

  • apakah bidang rata kiri

    >>> len(inventory)
    4
    
    _4, tengah
    >>> len(inventory)
    4
    
    5, atau kanan
    >>> len(inventory)
    4
    
    6

  • lebar yang dialokasikan ke bidang dalam string hasil (angka seperti

    >>> len(inventory)
    4
    
    7)

  • jenis konversi (awalnya kita hanya akan memaksa konversi menjadi mengambang,

    >>> len(inventory)
    4
    
    8, seperti yang kita lakukan pada baris 11 kode di atas, atau mungkin kita akan meminta bilangan bulat untuk dikonversi menjadi heksadesimal menggunakan
    >>> len(inventory)
    4
    
    9)

  • jika konversi jenisnya adalah float, Anda juga dapat menentukan berapa banyak tempat desimal yang diinginkan (biasanya,

    >>> 'pears' in inventory
    True
    >>> 'blueberries' in inventory
    False
    
    0 berguna untuk bekerja dengan mata uang hingga dua tempat desimal. )

Anda dapat memiliki banyak placeholder yang mengindeks argumen yang sama, atau bahkan mungkin memiliki argumen tambahan yang tidak direferensikan sama sekali

>>> eng2sp = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
_0

Ini menghasilkan yang berikut ini

>>> eng2sp = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
_1

Seperti yang mungkin Anda duga, Anda akan mendapatkan kesalahan indeks jika placeholder merujuk ke argumen yang tidak Anda berikan

>>> eng2sp = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
_2

Selain argumen posisional dalam format string, argumen bernama juga didukung

>>> eng2sp = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
_3

Perhatikan bahwa urutan argumen pada contoh metode

>>> len(inventory)
4
0 tidak sesuai dengan urutan kemunculannya dalam string format. Ini adalah kata kunci, seperti kamus, jadi urutannya tidak relevan

String format gaya lama

Versi Python sebelumnya menggunakan cara samar untuk memformat string. Itu dianggap usang dan pada akhirnya akan hilang dari bahasa

Meskipun kita tidak akan menggunakannya dalam buku ini, Anda masih akan melihatnya di banyak kode Python yang ada, jadi ada baiknya untuk mengetahuinya.

Sintaks untuk operasi pemformatan string lama terlihat seperti ini

>>> eng2sp = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
_4

Untuk melihat cara kerjanya, berikut adalah beberapa contoh

>>> eng2sp = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
_5

6. 7. File

6. 7. 1. Tentang file

Saat program sedang berjalan, datanya disimpan dalam memori akses acak (RAM). RAM sangat cepat, tetapi juga tidak stabil, yang berarti saat program berakhir, atau komputer dimatikan, data dalam RAM hilang. Untuk membuat data tersedia pada saat Anda menyalakan komputer dan memulai program Anda, Anda harus menulisnya ke media penyimpanan yang tidak mudah menguap, seperti hard drive, drive usb, atau CD-RW

Data pada media penyimpanan non-volatile disimpan di lokasi bernama pada media yang disebut file. Dengan membaca dan menulis file, program dapat menyimpan informasi di antara program yang dijalankan. File adalah blok data yang disimpan dalam sistem file sistem operasi komputer

Untuk menggunakan file, Anda harus membukanya. Setelah selesai, Anda harus menutupnya. Saat Anda membuka file, Anda harus memutuskan sebelumnya apakah Anda ingin membaca data dari file atau menulis data ke dalamnya. Jika Anda berencana untuk menulis data ke file, Anda harus memilih antara memulai versi baru file atau menulis data di akhir yang sudah ada. Opsi kedua untuk menulis ke file ini disebut menambahkan. Opsi pertama menghancurkan data yang sudah ada sebelumnya di dalam file

6. 7. 2. Fungsi >>> 'pears' in inventory True >>> 'blueberries' in inventory False 2

Fungsi

>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False
_2 mengambil dua argumen. Yang pertama adalah nama file, dan yang kedua adalah modenya. Mode
>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False
_4 berarti kita sedang membuka file untuk ditulis. Mode
>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False
5 berarti membaca, dan mode
>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False
6 berarti menambahkan

Mari kita mulai dengan contoh yang menunjukkan ketiga mode ini beroperasi

>>> eng2sp = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
_6

Membuka file menciptakan apa yang kita sebut deskriptor file. Dalam contoh ini, variabel

>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False
_7 mengacu pada objek deskriptor baru. Program kami memanggil metode pada deskriptor, dan ini membuat perubahan pada file sebenarnya yang terletak di penyimpanan non-volatile

Baris pertama membuka

>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False
_8 untuk menulis. Jika tidak ada file bernama
>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False
_8 pada disk, itu akan dibuat. Jika sudah ada, itu akan diganti dengan file yang kita tulis dan semua data sebelumnya di dalamnya akan hilang

Untuk memasukkan data ke dalam file, kami memanggil metode

>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>
0 pada deskriptor file. Kami melakukan ini tiga kali pada contoh di atas, tetapi dalam program yang lebih besar, tiga panggilan terpisah ke
>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>
0 biasanya akan diganti dengan loop yang menulis lebih banyak baris ke dalam file. Metode
>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>
_0 mengembalikan jumlah byte (karakter) yang ditulis ke file

Menutup pegangan file memberi tahu sistem bahwa kita telah selesai menulis dan membuat file disk tersedia untuk dibaca oleh program lain (atau oleh program kita sendiri)

Kami menyelesaikan contoh ini dengan membuka

>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False
_8 untuk dibaca. Kami kemudian memanggil metode
>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>
_4, menugaskan konten file, yang merupakan string, ke variabel bernama
>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>
5, dan akhirnya mencetak
>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>
5 untuk melihat bahwa memang itulah yang kami tulis ke file sebelumnya

Jika kita ingin menambahkan file yang sudah ada, gunakan mode append

>>> eng2sp = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
_7

6. 8. Membuka file yang tidak ada

Jika kami mencoba membuka file yang tidak ada, kami mendapatkan kesalahan

>>> eng2sp = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
_8

Tidak ada yang salah dengan sintaks baris yang menyebabkan kesalahan. Kesalahan terjadi karena file tidak ada. Kesalahan seperti ini disebut pengecualian. Sebagian besar bahasa pemrograman modern memberikan dukungan untuk menghadapi situasi seperti ini. Proses ini disebut penanganan pengecualian

Dalam Python, pengecualian ditangani dengan pernyataan

>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>
7

>>> eng2sp = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
_9

Dalam contoh ini kami mencoba membuka file data untuk dibaca. Jika berhasil, kami menggunakan metode

>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>
_8 untuk membaca isi file sebagai string ke dalam variabel
>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>
9 dan menutup file. Jika pengecualian
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_00 terjadi, kami masih membuat
>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>
9 sebagai string kosong dan melanjutkan program

6. 9. Membaca data dari file

Deskriptor file Python memiliki tiga metode untuk membaca data dari file. Kami telah melihat metode

>>> inventory['blueberries']
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'blueberries'
>>>
_8, yang mengembalikan seluruh konten file sebagai string tunggal. Untuk file yang sangat besar, ini mungkin bukan yang Anda inginkan

Metode

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_03 mengembalikan satu baris file sekaligus. Setiap kali Anda menyebutnya
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_03 mengembalikan baris berikutnya. Panggilan dilakukan ke
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
03 setelah mencapai akhir file mengembalikan string kosong (
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
06)

>>> eng2sp['two']
'dos'
0

Ini adalah pola praktis untuk kotak alat kami. Dalam program yang lebih besar, kami memasukkan logika yang lebih ekstensif ke dalam isi loop pada baris 8 — misalnya, jika setiap baris file berisi nama dan alamat email salah satu teman kami, mungkin kami akan membagi baris tersebut menjadi

Pada baris 8 kita menekan karakter baris baru yang

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
07 biasanya ditambahkan ke string kita. Mengapa? . metode
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
08 di baris 3 mengembalikan semuanya hingga dan termasuk karakter baris baru. Ini juga menjelaskan logika deteksi akhir file. ketika tidak ada lagi baris untuk dibaca dari file,
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
08 mengembalikan string kosong — string yang bahkan tidak memiliki baris baru di akhir, maka panjangnya adalah 0

6. 9. 1. Mengubah file menjadi daftar baris

Seringkali berguna untuk mengambil data dari file disk dan mengubahnya menjadi daftar baris. Misalkan kita memiliki sebuah file yang berisi teman-teman kita dan alamat email mereka, satu per baris dalam file tersebut. Tapi kami ingin garis-garisnya diurutkan ke dalam urutan abjad. Rencana yang bagus adalah membaca semuanya ke dalam daftar baris, lalu mengurutkan daftar, lalu menulis daftar yang diurutkan kembali ke file lain

>>> eng2sp['two']
'dos'
1

Metode

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_10 pada baris 2 membaca semua baris dan mengembalikan daftar string

Kita bisa saja menggunakan template dari bagian sebelumnya untuk membaca setiap baris satu per satu, dan membuat daftarnya sendiri, tetapi jauh lebih mudah menggunakan metode yang diberikan oleh pelaksana Python kepada kita.

6. 9. 2. Contoh

Banyak program pemrosesan garis yang berguna akan membaca file teks baris-baris pada satu waktu dan melakukan beberapa pemrosesan kecil saat mereka menulis baris ke file keluaran. Mereka mungkin menomori baris dalam file keluaran, atau menyisipkan baris kosong ekstra setelah setiap 60 baris untuk memudahkan pencetakan pada lembaran kertas, atau mengekstrak beberapa kolom tertentu hanya dari setiap baris dalam file sumber, atau hanya mencetak baris yang berisi . Kami menyebut program semacam ini filter

Ini adalah filter yang menyalin satu file ke file lainnya, menghilangkan baris apa pun yang dimulai dengan

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
11

>>> eng2sp['two']
'dos'
2

Pernyataan

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_12 pada baris 9 melompati baris yang tersisa dalam iterasi loop saat ini, tetapi loop masih akan mengulangi. Gaya ini terlihat agak dibuat-buat di sini, tetapi sering kali berguna untuk mengatakan "singkirkan baris yang tidak kami perhatikan lebih awal, sehingga kami memiliki logika yang lebih terfokus dan lebih bersih di bagian gemuk dari loop yang mungkin ditulis . ”

Jadi, jika

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
13 adalah string kosong, loop akan keluar. Jika karakter pertama dari
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_13 adalah tanda pagar, aliran eksekusi menuju ke bagian atas loop, siap untuk mulai memproses baris berikutnya. Hanya jika kedua kondisi gagal barulah kita lolos untuk melakukan pemrosesan pada baris 11, dalam contoh ini, menulis baris ke dalam file baru

Mari pertimbangkan satu kasus lagi. misalkan file asli Anda berisi baris kosong. Pada baris 6 di atas, apakah program ini akan menemukan baris kosong pertama dalam file, dan segera menghentikannya? . Ingatlah bahwa

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_08 selalu menyertakan karakter baris baru dalam string yang dikembalikannya. Hanya ketika kami mencoba membaca di luar akhir file, kami mendapatkan kembali string kosong dengan panjang 0

6. 10. >>> print(eng2sp) {'three': 'tres', 'one': 'uno', 'two': 'dos'} 16 dan >>> print(eng2sp) {'three': 'tres', 'one': 'uno', 'two': 'dos'} 17 fungsi

Python memiliki fungsi bawaan bernama

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
18 yang menggunakan objek Python sebagai argumen dan mengembalikan representasi string dari objek tersebut. Untuk tipe bawaan Python, representasi string dari suatu objek dapat dievaluasi menggunakan fungsi
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
19 bawaan untuk membuat ulang objek

Cara kerjanya paling mudah ditunjukkan dengan contoh

>>> eng2sp['two']
'dos'
_3

Objek daftar,

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
20 diubah menjadi representasi string menggunakan fungsi
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
18, dan representasi string ini kemudian diubah kembali menjadi objek daftar Python menggunakan fungsi
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
19 (yang mengevaluasi representasi string)

Sementara kita akan belajar banyak cara yang lebih baik untuk mencapai tujuan menyimpan objek Python ke dalam file data nanti,

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
18 dan
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
19 memberi kita alat yang mudah dipahami untuk menulis dan kemudian membaca kembali data Python ke file yang dapat kita gunakan sekarang

6. 11. Modul

Modul adalah file yang berisi definisi dan pernyataan Python yang dimaksudkan untuk digunakan dalam program Python lainnya. Ada banyak modul Python yang disertakan dengan Python sebagai bagian dari pustaka standar. Kami telah melihat dua di antaranya, modul

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_25 dan modul
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
26

6. 12. Membuat modul

Yang kita perlukan untuk membuat modul adalah file teks dengan ekstensi

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
27 pada nama file

>>> eng2sp['two']
'dos'
_4

Kami sekarang dapat menggunakan modul kami di skrip dan shell Python. Untuk melakukannya, pertama-tama kita harus mengimpor modul. Ada dua cara untuk melakukan ini

>>> eng2sp['two']
'dos'
5

dan

>>> eng2sp['two']
'dos'
_6

Pada contoh pertama,

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_28 dipanggil seperti fungsi yang telah kita lihat sebelumnya. Pada contoh kedua nama modul dan titik (. ) ditulis sebelum nama fungsi

Perhatikan bahwa dalam kedua kasus tersebut kami tidak menyertakan ekstensi file

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
27 saat mengimpor. Python mengharapkan nama file modul Python diakhiri dengan
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
27, jadi ekstensi file tidak disertakan dalam pernyataan impor

Penggunaan modul memungkinkan untuk memecah program yang sangat besar menjadi bagian-bagian berukuran yang dapat dikelola, dan menjaga bagian-bagian terkait tetap bersama

6. 13. Ruang nama

Namespace adalah wadah sintaksis yang memungkinkan nama yang sama digunakan dalam modul atau fungsi yang berbeda (dan seperti yang akan kita lihat nanti, dalam kelas dan metode)

Setiap modul menentukan ruang namanya sendiri, sehingga kita dapat menggunakan nama yang sama di banyak modul tanpa menyebabkan masalah identifikasi

>>> eng2sp['two']
'dos'
_7

>>> eng2sp['two']
'dos'
_8

Kami sekarang dapat mengimpor kedua modul dan mengakses

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
31 dan
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
32 di masing-masing

>>> eng2sp['two']
'dos'
_9

Jika kami telah menggunakan

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
33 dan
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
34 sebagai gantinya, kami akan mengalami benturan penamaan dan tidak akan dapat mengakses
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
31 dan
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
32 dari
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
37

Fungsi juga memiliki namespace sendiri

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525, 'pears': 217}
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 217, 'oranges': 525}
0

Menjalankan program ini menghasilkan keluaran berikut

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525, 'pears': 217}
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 217, 'oranges': 525}
_1

Tiga

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_38 di sini tidak bertabrakan karena masing-masing berada di ruang nama yang berbeda

Ruang nama mengizinkan beberapa pemrogram untuk bekerja pada proyek yang sama tanpa harus ada tabrakan penamaan

6. 14. Atribut dan operator titik

Variabel yang didefinisikan di dalam modul disebut atribut modul. Mereka diakses dengan menggunakan operator titik (

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
39). Atribut
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_31 dari
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
37 dan
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
42 diakses menggunakan
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
43 dan
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
44

Modul berisi fungsi serta atribut, dan operator titik digunakan untuk mengaksesnya dengan cara yang sama.

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
45 mengacu pada fungsi
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
28 dalam modul
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
47

Di Bab 7 kita memperkenalkan fungsi

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_48 dari modul
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
26. Modul
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_26 berisi banyak fungsi berguna lainnya

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525, 'pears': 217}
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 217, 'oranges': 525}
_2

Anda harus menggunakan pydoc untuk menelusuri fungsi dan atribut lain di modul string

6. 15. Glosarium

kamus

Kumpulan pasangan kunci-nilai yang memetakan dari kunci ke nilai. Kunci dapat berupa tipe apa pun yang tidak dapat diubah, dan nilainya dapat berupa tipe apa pun

mengajukan

Entitas bernama, biasanya disimpan di hard drive, floppy disk, atau CD-ROM, yang berisi aliran karakter

berkas sistem

Metode untuk menamai, mengakses, dan mengatur file dan data yang dikandungnya

nama yang memenuhi syarat

Nama yang diawali oleh beberapa pengidentifikasi ruang nama dan operator titik, atau oleh objek instan, mis. g.

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
51 atau
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
52

menangani

Objek dalam program kami yang terhubung ke sumber daya yang mendasarinya (mis. g. file). Pegangan file memungkinkan program kita memanipulasi / membaca / menulis / menutup file sebenarnya yang ada di disk kita

impor

Pernyataan yang mengizinkan fungsi dan variabel yang didefinisikan dalam skrip Python untuk dibawa ke lingkungan skrip lain atau shell Python yang sedang berjalan. Misalnya, asumsikan berikut ini dalam skrip bernama

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
53

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525, 'pears': 217}
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 217, 'oranges': 525}
_3

Sekarang mulai shell python dari dalam direktori yang sama di mana

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
53 berada

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525, 'pears': 217}
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 217, 'oranges': 525}
_4

Tiga nama didefinisikan dalam

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_53.
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
56,
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
38, dan
>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
58. Jika kami mencoba mengakses salah satu dari ini di shell tanpa mengimpor terlebih dahulu, kami mendapatkan kesalahan

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525, 'pears': 217}
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 217, 'oranges': 525}
5

Namun, jika kita mengimpor semuanya dari

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_53, kita dapat menggunakan semua yang didefinisikan di dalamnya

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525, 'pears': 217}
>>> print(inventory)
{'apples': 430, 'bananas': 312, 'pears': 217, 'oranges': 525}
_6

Perhatikan bahwa Anda tidak menyertakan

>>> print(eng2sp)
{'three': 'tres', 'one': 'uno', 'two': 'dos'}
_27 dari nama skrip dalam pernyataan impor

kunci

Item data yang dipetakan ke nilai dalam kamus. Kunci digunakan untuk mencari nilai dalam kamus

pasangan kunci-nilai

Salah satu pasangan item dalam kamus. Nilai dicari di kamus dengan kunci

jenis pemetaan

Tipe pemetaan adalah tipe data yang terdiri dari kumpulan kunci dan nilai terkait. Satu-satunya tipe pemetaan bawaan Python adalah kamus. Kamus mengimplementasikan tipe data abstrak array asosiatif

mode

Metode operasi yang berbeda dalam program komputer. File dengan Python dapat dibuka dalam salah satu dari tiga mode. baca (

>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False
_5), tulis (
>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False
4), dan tambahkan (
>>> 'pears' in inventory
True
>>> 'blueberries' in inventory
False
6)

memori non-volatile

Memori yang dapat mempertahankan keadaannya tanpa daya. Hard drive, flash drive, dan compact disk yang dapat ditulis ulang (CD-RW) masing-masing adalah contoh memori non-volatile

jalur

Urutan nama direktori yang menentukan lokasi yang tepat dari sebuah file

mengatur

Kumpulan elemen unik dan tidak berurutan

file teks

File yang berisi karakter yang dapat dicetak yang diatur ke dalam baris yang dipisahkan oleh karakter baris baru

memori yang mudah menguap

Memori yang membutuhkan arus listrik untuk mempertahankan keadaan. Memori utama atau RAM komputer tidak stabil. Informasi yang disimpan dalam RAM hilang ketika komputer dimatikan

Bagaimana cara mengimpor kamus kata dengan Python?

Langkah-langkah. .
Unduh file JSON yang berisi kata-kata kamus bahasa Inggris dalam format tipe data kamus python, atau atur konten file dengan cara itu
Buat folder dan tambahkan unduhan. file json dan skrip python di folder itu
Di editor python, impor modul yang diperlukan

Apakah ada kamus kata-kata dengan Python?

PyDictionary adalah Modul Kamus untuk Python 2/3 untuk mendapatkan arti, terjemahan, sinonim dan antonim kata. Itu menggunakan WordNet untuk mendapatkan makna, Google untuk terjemahan, dan sinonim. com untuk mendapatkan sinonim dan antonim.

Apa perpustakaan Python untuk kata-kata kamus?

PyDictionary adalah pustaka python sumber terbuka yang digunakan untuk menemukan arti kata, terjemahan kata dan kalimat ke bahasa yang berbeda, dan properti linguistik lain dari kata yang berbeda.

Bagaimana Anda membuat kamus kata dengan Python?

Kamus dengan Python terdiri dari pasangan kunci-nilai. Di dua bagian berikutnya Anda akan melihat dua cara membuat kamus. Cara pertama adalah dengan menggunakan satu set kurung kurawal, {} , dan cara kedua adalah dengan menggunakan fungsi dict() bawaan .