Pengaturcaraan

Panduan Permulaan Ultimate Python

30 Oktober 2021

Isi kandungan

  • Persediaan Persekitaran
    • Persediaan Persekitaran Setempat
    • Bagaimana untuk mendapatkan Python
    • Bagaimana untuk memasang Python
    • Pemasangan Windows
    • Pemasangan Unix/Linux
    • Pemasangan MAC
    • Menyediakan Laluan untuk Python
    • Menetapkan laluan untuk Unix/Linux
    • Menetapkan laluan untuk Windows
  • Pembolehubah Persekitaran Python
    • Menjalankan Python
  • Sintaks Asas
    • Pengecam Python
    • Kenyataan Python
    • Inden dalam Python
    • Komen dalam Python
    • Mendapatkan Input
    • Paparkan Output
  • Jenis Pembolehubah
    • Menetapkan Nilai kepada Pembolehubah
    • Jenis Data Python
    • rentetan
    • Tuple
    • Senarai
    • Nombor
  • Operator Asas
    • Operator Tugasan
    • Operator bitwise
    • Operator logik
    • Operator Aritmetik
    • Operator perbandingan
    • Pengendali Identiti
    • Operator Keahlian
  • Membuat keputusan
    • Jika kenyataan
    • jika tidak
    • Bersarang jika
    • Jika-elif-lain-tangga
    • Penyataan ringkas jika
    • Penyataan if-else ringkasan
  • gelung
    • Manakala Gelung
    • Untuk Gelung
    • Gelung Bersarang
    • Kenyataan Kawalan Gelung
    • Sambung kenyataan
    • Penyataan putus
    • Penyata lulus
  • Nombor
    • Penukaran Jenis Nombor
    • Fungsi Nombor Rawak
    • Fungsi trigonometri
    • Fungsi Matematik
  • rentetan
    • Mencipta rentetan
    • Pengendali Khas Rentetan
    • Operator Pemformatan Rentetan
    • Watak Melarikan Diri
    • Kaedah Rentetan Terbina Dalam
  • Tuple
    • Mengakses Nilai dalam Tuples
    • Mengemas kini tupel
    • Pengendali Tuple asas
    • Dibina dalam Fungsi Tuple
    • Pengindeksan dan Penghirisan
    • Memadam tuple
  • Senarai
    • Mengakses Nilai dalam Senarai
    • Mengemas kini Senarai
    • Pengendali Senarai Asas
    • Fungsi dan Kaedah Senarai Terbina dalam
    • Pengindeksan dan Penghirisan
    • Padamkan elemen Senarai
  • Kamus
    • Mencipta kamus
    • Menambah elemen dalam kamus
    • Mengalih keluar elemen daripada kamus
    • Kaedah kamus Python
  • Tarikh dan masa
    • Time Tuple
    • Modul Masa
    • Modul Kalendar
  • Fungsi
    • Bagaimana untuk menentukan fungsi
    • Memanggil fungsi
    • Lulus dengan rujukan
    • Lulus mengikut nilai
    • Hujah fungsi
    • Argumen panjang boleh ubah
    • Hujah yang diperlukan
    • Hujah lalai
    • Hujah kata kunci
    • Fungsi Tanpa Nama
  • Modul
    • Penyata Import
    • Penyata dari import
    • Penyata daripada import *
    • Mengesan Modul
    • Fungsi locals() dan globals().
    • Ruang nama dan Skop
    • Fungsi dir( )
    • Fungsi muat semula().
  • Fail I / O
    • Membuka fail
    • Atribut objek fail
    • Menutup fail
    • Dengan Kenyataan
    • Kaedah Tulis
    • Kaedah membaca
    • Kaedah namakan semula().
    • Kaedah remove().
    • Kedudukan fail
  • Pengecualian
    • Apakah Pengecualian?
    • Mengendalikan pengecualian
    • Menimbulkan pengecualian
    • Senarai pengecualian standard
    • Pengecualian yang ditakrifkan pengguna
    • Penegasan dalam Python
  • Kelas dan Objek
  • Pengaturcaraan CGI
    • Pelayaran Web
    • Pengepala HTTP
    • Pembolehubah Persekitaran CGI
    • kaedah GET
    • kaedah POST
    • Menggunakan Kuki dalam CGI
    • Bagaimanakah ia berfungsi?
  • Akses Pangkalan Data MySQL
    • Mencipta Jadual Pangkalan Data
    • Operasi INSERT
    • BACA Operasi
    • Kemas kini Operasi
    • PADAM Operasi
    • Menjalankan Transaksi
    • Operasi KOMIT
    • Operasi ROLLBACK
    • Memutuskan sambungan Pangkalan Data
    • Mengendalikan Ralat
  • Rangkaian
    • Apakah Soket?
    • Modul soket
    • Modul Internet Python
  • Menghantar E-mel
    • Menghantar e-mel HTML menggunakan Python
    • Menghantar Lampiran sebagai E-mel
  • Pengaturcaraan Multithread
    • Memulakan benang baru
    • Modul Threading
    • Menyegerakkan Benang
    • Barisan Keutamaan Berbilang Benang
  • Pemprosesan XML
    • Apakah XML?
    • Senibina dan API Penghurai XML
    • Menghuraikan XML dengan API SAX
      • Kaedah make_parser
      • Kaedah parse
      • Kaedah parseString
  • Pengaturcaraan GUI
    • Widget Tkinter
  • Pengurusan Geometri
  • Artikel yang Disyorkan

Kelas dan Objek

Python ialah bahasa berorientasikan objek sejak ia wujud dan oleh itu, menggunakan dan mencipta kelas dan objek menjadi lebih mudah. Bab ini akan membantu anda menjadi pakar dalam menggunakan sokongan pengaturcaraan berorientasikan objek Python.

Jika anda tidak mempunyai pengetahuan yang mencukupi tentang pengaturcaraan berorientasikan objek di sini adalah sedikit sesuatu untuk dimulakan.

    Kelas− Ia adalah prototaip yang ditentukan pengguna untuk objek yang mentakrifkan satu set atribut yang mencirikan mana-mana objek kelas. Pembolehubah kelas dan pembolehubah contoh dan kaedah, diakses melalui tatatanda titik.Objek− Ia adalah contoh struktur data yang ditakrifkan oleh kelasnya. Objek terdiri daripada kedua-dua pembolehubah kelas dan pembolehubah contoh.Pembolehubah kelas− Ia adalah pembolehubah yang dikongsi oleh semua kejadian kelas. Pembolehubah kelas ditakrifkan dalam kelas tetapi di luar mana-mana kaedah kelas. Pembolehubah kelas tidak digunakan sebagai pembolehubah contoh yang kerap.Ahli data− ia adalah pembolehubah contoh yang berpegang pada data yang dikaitkan dengan kelas dan objeknya.Pembolehubah contoh− Ia adalah pembolehubah yang biasanya ditakrifkan di dalam kaedah dan ia tergolong dalam contoh semasa kelas.Lebihan fungsi− Penugasan satu atau lebih tingkah laku kepada fungsi tertentu. Operasi yang dilakukan berbeza mengikut jenis objek atau hujah yang terlibat.Operator lebih muatan− Penyerahan satu atau lebih fungsi kepada pengendali tertentu.pusaka− Ia adalah pemindahan ciri-ciri kelas kepada kelas lain yang diperoleh daripadanya.Kaedah− Ia adalah sejenis fungsi khas yang ditakrifkan dalam definisi kelas.

Mencipta kelas

Kelas mencipta definisi kelas baharu. Nama kelas diikuti oleh kelas kata kunci diikuti dengan titik bertindih.

SINTAKSIS

|_+_|
  • Kelas ini terdiri daripada rentetan dokumentasi, yang diakses melalui ClassName.__doc__.
  • Class_suite terdiri daripada pernyataan komponen yang mentakrifkan ahli kelas, atribut data dan fungsi.
img 617dd27284418

Objek Kelas

Objek adalah contoh Kelas. Kelas adalah seperti pelan tindakan manakala ia adalah salinan kelas dengan nilai sebenar.

img 617dd272d3ac5

PENGELUARAN

img 617dd273361bc

Mengakses Atribut

Anda boleh mengakses atribut objek menggunakan pengendali titik dengan objek.

  • getattr(obj, name[, default]) − Ia digunakan untuk mengakses atribut objek.
  • hasattr(obj,name) − Ia digunakan untuk menyemak sama ada atribut wujud atau tidak.
  • setattr(obj,nama,nilai) − Ia digunakan untuk menetapkan atribut. Jika atribut tidak wujud, maka ia akan dibuat.
  • delattr(obj, nama) −Ia digunakan untuk memadam atribut.

Atribut kelas terbina

Setiap kelas Python terus mengikuti atribut terbina dalam, dan ia diakses menggunakan pengendali titik seperti mana-mana atribut lain −

    __dict__− Ia adalah kamus yang mengandungi ruang nama kelas.__doc__− Ia adalah rentetan dokumentasi kelas atau tiada, jika tidak ditentukan.__nama__− Nama kelas.__modul__− Ia adalah nama modul di mana kelas ditakrifkan. Atribut ini ialah __main__ dalam mod interaktif.__asas__− Tuple kosong yang mengandungi kelas asas, mengikut urutan kejadiannya dalam senarai kelas asas.

Kutipan sampah

Python memadam objek secara automatik untuk membebaskan ruang memori. Proses yang ular sawa secara berkala menuntut semula blok memori yang tidak lagi digunakan dipanggil Pengumpulan Sampah.

Pengumpul sampah ular sawa berjalan semasa pelaksanaan program, dan ia dicetuskan apabila kiraan rujukan objek mencapai sifar.

Kiraan rujukan objek meningkat apabila ia diberikan nama baharu atau diletakkan dalam bekas (senarai, tuple atau kamus). Kiraan rujukan objek berkurangan apabila ia dipadamkan dengan daripada , rujukannya ditetapkan semula, atau rujukannya di luar skop. Apabila kiraan rujukan objek mencapai sifar, python mengumpulnya secara automatik.

img 617dd273789c9

PENGELUARAN

img 617dd273c29af

Warisan Kelas

Anda juga boleh mencipta kelas dengan memperolehnya daripada kelas sebelumnya dengan menyebut kelas induk dalam kurungan selepas nama kelas baharu.

Kelas anak boleh mewarisi atribut kelas induknya dan anda boleh menggunakan ciri tersebut seolah-olah ia ditakrifkan dalam kelas anak. Kelas kanak-kanak juga boleh mengatasi kaedah dan ahli data daripada ibu bapa.

SINTAKSIS

|_+_|

Kaedah Mengatasi

Anda boleh mengatasi kaedah kelas induk anda. Sebab untuk mengatasi kaedah ibu bapa adalah kerana anda mungkin mahukan fungsi unik atau berbeza dalam subkelas anda. Berikut adalah beberapa kaedah beban asas.

Ya tidak Kaedah Penerangan
satu__repr__( diri sendiri )Perwakilan rentetan yang boleh dinilai
dua__del__( diri sendiri )Pemusnah, memadam objek
3__cmp__ ( diri, x )Perbandingan objek
4__init__ ( diri [, args…] )Pembina (dengan sebarang hujah pilihan)
5__str__( diri sendiri )Perwakilan rentetan boleh cetak

Ungkapan Biasa

Ungkapan biasa ialah jujukan aksara unik yang membantu anda mencari atau memadankan set rentetan, dengan menggunakan sintaks khas yang dipegang dalam corak. Ungkapan biasa digunakan secara meluas dalam dunia UNIX.

Modul Python menyediakan sokongan penuh untuk ungkapan biasa seperti Perl dalam Python. Modul ini menimbulkan pengecualian.

Fungsi padan

Ia cuba memadankan corak RE kepada rentetan dengan bendera pilihan.

SINTAKSIS

|_+_|
Ya tidak Parameter Penerangan
satubenderaIa menentukan bendera yang berbeza menggunakan bitwise ATAU (|).
duacorakIa adalah ungkapan biasa yang perlu dipadankan.
3taliIa adalah rentetan, yang dicari untuk memadankan corak pada permulaan rentetan.

Fungsi carian

Ia mencari kejadian pertama corak RE dalam rentetan dengan bendera pilihan.

SINTAKSIS

|_+_|
Ya tidak Parameter Penerangan
satubenderaIa menentukan bendera yang berbeza menggunakan bitwise ATAU (|).
duacorakIa adalah ungkapan biasa yang perlu dipadankan.
3taliIa adalah rentetan, yang dicari untuk memadankan corak pada permulaan rentetan.

Pengubah Ubah Ungkapan Biasa

Ya tidak Parameter Penerangan
satusemula.MIa menjadikan $ sepadan dengan penghujung baris dan menjadikan ^ sepadan dengan permulaan mana-mana baris.
duasemula LIa mentafsir perkataan mengikut tempat semasa. Tafsiran mempengaruhi kumpulan abjad serta tingkah laku sempadan perkataan.
3semula.UIa mentafsir huruf mengikut set aksara Unicode. Bendera mempengaruhi tingkah laku w, W, , B.
4semula.XIa membenarkan sintaks ungkapan biasa yang lebih comel. Ia mengabaikan ruang putih dan menganggap unescaped # sebagai penanda ulasan.
5semula SIa menjadikan titik sepadan dengan mana-mana watak, termasuk baris baharu.
6semula.IIa melakukan pemadanan tidak sensitif huruf besar-besaran.

Corak Ekspresi Biasa

Ya tidak Corak Penerangan
satu.Ia sepadan dengan watak tunggal kecuali baris baharu.
duaa| bIa sepadan sama ada a atau b.
3[…]Ia sepadan dengan watak tunggal dalam kurungan.
4[^…]Ia sepadan dengan aksara tunggal bukan dalam kurungan
5$Ia sepadan dengan hujung baris.
6^Ia sepadan dengan permulaan baris.
7semula*Ia sepadan dengan 0 atau lebih kejadian bagi ungkapan sebelumnya.
8semula+Ia sepadan dengan satu atau lebih kejadian bagi ungkapan sebelumnya.
9semula?Ia sepadan dengan 0 atau 1 kejadian bagi ungkapan sebelumnya.
10semula{ n}Ia sepadan dengan tepat n bilangan kejadian bagi ungkapan sebelumnya.
sebelassemula{n, m}Ia sepadan dengan sekurang-kurangnya n dan m kejadian bagi ungkapan sebelumnya.
12semula{n,}Ia sepadan dengan n atau lebih kejadian bagi ungkapan sebelumnya.
13(semula)Ia mengumpulkan ungkapan biasa dan mengingati teks yang dipadankan.
14(?imx)Ia menogol sementara pada pilihan i, m atau x dalam ungkapan biasa.
lima belas(?imx: semula)Ia menogol sementara pada pilihan i, m atau x dalam kurungan.
16?: semula)Ia mengumpulkan ungkapan biasa tanpa mengingati teks yang dipadankan.
17(?-imx)Ia menogol sementara pilihan i, m atau x dalam ungkapan biasa.
18(?-imx: semula)Ia menogol sementara pilihan i, m atau x dalam kurungan.
19(?#…)Komen.
dua puluh(?= semula)Ia menentukan kedudukan menggunakan corak. Ia tidak mempunyai julat.
dua puluh satu(?! semula)Ia menentukan kedudukan menggunakan penafian corak. ia tidak mempunyai julat.
22(?> semula)Ia sepadan dengan corak bebas tanpa berundur.
23DalamIa sepadan dengan aksara perkataan.
24DALAMIa sepadan dengan aksara bukan perkataan.
25SIa sepadan dengan bukan ruang putih.
26sIa sepadan dengan ruang putih.
27DIa sepadan dengan bukan digit.
28dIa sepadan dengan digit. Bersamaan dengan [0-9].
2910Ia sepadan dengan subungkapan kumpulan ke-n jika ia sudah sepadan. Jika tidak, ia merujuk kepada perwakilan oktal bagi kod aksara.
30KEPADAIa sepadan dengan permulaan rentetan.
31DENGANIa sepadan dengan hujung rentetan. Jika mana-mana baris baharu wujud, ia sepadan sebelum baris baharu.
32denganIa sepadan dengan hujung rentetan.
33GIa sepadan dengan titik di mana perlawanan terakhir berakhir.
3. 4 , , dsb.Ia sepadan dengan baris baharu, pemulangan pengangkutan, tab, dsb.
35BIa sepadan dengan sempadan bukan perkataan.
361…9Ia sepadan dengan subungkapan kumpulan ke-n.
37Ia sepadan dengan ruang belakang (0x08) apabila di dalam kurungan.

Kelas Watak

Ya tidak Contoh Penerangan
satu[aeiou]Ia sepadan dengan mana-mana satu vokal kecil
dua[0-9]Ia sepadan dengan mana-mana digit; sama seperti [0123456789]
3[Pp] ythonIa sepadan dengan Python atau python
4[a-z]Ia sepadan dengan mana-mana huruf kecil ASCII
5gosok [kamu]Ia sepadan dengan delima atau rube
6[^aeiou]Ia sepadan dengan apa sahaja selain vokal huruf kecil
7[^0-9]Ia sepadan dengan apa sahaja selain digit
8[a-zA-Z0-9]Ia sepadan dengan mana-mana di atas
9[A-Z]Ia sepadan dengan mana-mana huruf besar ASCII
10.Ia sepadan dengan watak tunggal kecuali baris baharu.
sebelasDalamIa sepadan dengan aksara perkataan.
12DALAMIa sepadan dengan aksara bukan perkataan.
13SIa sepadan dengan bukan ruang putih.
14sIa sepadan dengan ruang putih.
lima belasDIa sepadan dengan bukan digit.
16dIa sepadan dengan digit. Bersamaan dengan [0-9].

Kes Ulangan

Ya tidak Contoh Penerangan
satudelima+Ia sepadan dengan sapuan tambah 1 atau lebih ys
duadelima*Ia sepadan dengan sapuan tambah 0 atau lebih ys
3delima?Ia sepadan dengan gosok atau delima: y adalah pilihan
4d{3}Ia sepadan dengan tepat 3 digit
5d{3,}Ia sepadan dengan 3 atau lebih digit
6d{3,5}Ia sepadan dengan 3, 4 atau 5 digit

sauh

Ya tidak Contoh Penerangan
satuPython ZIa sepadan dengan Python pada penghujung rentetan.
duaPython$Ia sepadan dengan Python pada penghujung rentetan atau baris.
3^PythonIa sepadan dengan Python pada permulaan rentetan atau baris dalaman.
4 APythonIa sepadan dengan Python pada permulaan rentetan.
5Python(?=!)Ia sepadan dengan Python jika diikuti dengan tanda seru.
6Ular sawa(?!!)Ia sepadan dengan Python, jika tidak diikuti dengan tanda seru.
7PythonIa sepadan dengan Python pada sempadan perkataan.