Kami dapat mengirim atau membaca surat menggunakan skrip Python. Modul pustaka standar Python berguna untuk menangani berbagai protokol seperti PoP3 dan IMAP. Python menyediakan modul smtplib untuk mengirim email menggunakan SMTP (Simple Mail Transfer Protocol). Kita akan belajar cara mengirim email dengan SMTP layanan email populer dari skrip Python.
Metode Python
Metode sihir Python adalah metode khusus yang menambahkan “sihir” ke kelas. Itu dimulai dan diakhiri dengan garis bawah ganda, misalnya, init atau str.
Kelas bawaan menentukan banyak metode ajaib. Fungsi dir() dapat digunakan untuk melihat jumlah metode ajaib yang diwariskan oleh suatu kelas. Ini memiliki dua awalan dan garis bawah akhiran dalam nama metode.
- Metode sihir Python juga dikenal sebagai metode dunder, kependekan dari metode “garis bawah ganda” karena namanya dimulai dan diakhiri dengan garis bawah ganda.
- Metode ajaib secara otomatis dipanggil oleh juru bahasa Python dalam situasi tertentu, seperti saat objek dibuat, dibandingkan dengan objek lain, atau dicetak.
- Metode ajaib dapat digunakan untuk menyesuaikan perilaku kelas, seperti menentukan bagaimana objek dibandingkan, diubah menjadi string, atau diakses sebagai wadah.
- Beberapa metode sulap yang umum digunakan termasuk init untuk menginisialisasi objek, str untuk mengonversi objek menjadi string, eq untuk membandingkan dua objek agar setara, dan getitem dan setitem untuk mengakses item dalam objek wadah.
Misalnya, metode sihir str dapat menentukan bagaimana sebuah objek harus direpresentasikan sebagai sebuah string. Berikut contohnya:
Nama:
def init(diri, nama, umur):
self.nama = nama
diri.umur = umur
def __str__(diri sendiri):
kembalikan f"{self.name} ({self.age})"
Dalam contoh ini, metode str didefinisikan untuk mengembalikan representasi string terformat dari objek Person dengan nama dan usia orang tersebut.
Metode sulap lain yang umum digunakan adalah eq, yang menentukan bagaimana objek harus dibandingkan untuk kesetaraan. Berikut contohnya:
def init(self, x, y):
diri.x = x
diri.y = y
def eq(diri sendiri, lainnya):
kembalikan self.x == other.x dan self.y == other.y
Dalam contoh ini, metode eq didefinisikan untuk mengembalikan True jika dua objek Point memiliki koordinat x dan y yang sama dan False jika sebaliknya.
Konsep Python
Segala sesuatu di Python diperlakukan sebagai objek, termasuk nilai integer, float, fungsi, kelas, dan tidak ada. Selain itu, Python mendukung semua konsep berorientasi. Di bawah ini adalah pengantar singkat tentang konsep Ups Python.
- Kelas dan Objek – Kelas Python adalah cetak biru dari Objek. Objek adalah kumpulan data dan metode yang bertindak atas data.
- Warisan – Warisan adalah teknik di mana satu kelas mewarisi properti dari kelas lain.
- Konstruktor – Python menyediakan metode khusus init() yang dikenal sebagai konstruktor. Metode ini secara otomatis dipanggil ketika sebuah objek dipakai.
- Anggota Data – Variabel yang menyimpan data yang terkait dengan kelas dan objeknya.
- Polimorfisme – Polimorfisme adalah konsep di mana suatu objek dapat mengambil banyak bentuk. Dalam Python, polimorfisme dapat dicapai melalui metode overloading dan metode overriding.
- Kelebihan Metode – Dalam Python, kelebihan metode dicapai melalui argumen default, di mana metode dapat didefinisikan dengan beberapa parameter. Nilai default digunakan jika beberapa parameter tidak diteruskan saat memanggil metode.
- Metode Overriding – Metode overriding adalah konsep di mana subclass mengimplementasikan metode yang sudah ditentukan dalam superclass-nya.
- Enkapsulasi – Enkapsulasi membungkus data dan metode menjadi satu kesatuan. Dalam Python, enkapsulasi dicapai melalui pengubah akses, seperti publik, pribadi, dan dilindungi. Namun, Python tidak secara ketat menerapkan pengubah akses, dan konvensi penamaan menunjukkan tingkat akses.
- Abstraksi Data: Teknik untuk menyembunyikan kompleksitas data dan hanya menampilkan fitur penting kepada pengguna. Ini menyediakan antarmuka untuk berinteraksi dengan data. Abstraksi data mengurangi kerumitan dan membuat kode lebih modular, memungkinkan pengembang untuk fokus pada fitur penting program.