cari
Rumahpembangunan bahagian belakangTutorial PythonAdakah Python berorientasikan objek atau berorientasikan proses?

Adakah Python berorientasikan objek atau berorientasikan proses?

Jan 05, 2023 pm 04:54 PM
pythonberorientasikan objek

Python berorientasikan objek. Dari awal reka bentuknya, bahasa Python telah diletakkan sebagai bahasa pengaturcaraan berorientasikan objek "Segala-galanya dalam Python adalah objek" adalah tafsiran sempurna bahasa pengaturcaraan Python. Kelas dan objek ialah ciri penting Python Berbanding dengan bahasa berorientasikan objek yang lain, Python boleh mencipta kelas dan objek dengan mudah Pada masa yang sama, Python juga menyokong tiga ciri utama berorientasikan objek: enkapsulasi, pewarisan dan polimorfisme.

Adakah Python berorientasikan objek atau berorientasikan proses?

Persekitaran pengendalian tutorial ini: sistem windows7, versi python3, komputer DELL G3

Walaupun Python ialah bahasa yang ditafsirkan, bahasa Python direka Dari awal, ia diletakkan sebagai bahasa pengaturcaraan berorientasikan objek "Semuanya dalam Python adalah objek" adalah tafsiran sempurna bahasa pengaturcaraan Python.

Apakah itu berorientasikan objek

Pengaturcaraan berorientasikan objek dibangunkan berdasarkan pengaturcaraan berorientasikan proses Ia mempunyai lebih banyak ciri daripada proses -pengaturcaraan berorientasikan. Pengaturcaraan berorientasikan objek adalah titik permulaan dalam pembangunan pengaturcaraan Ramai pemula akan berhenti belajar pengaturcaraan kerana mereka tidak memahami pengaturcaraan berorientasikan objek.

Pengaturcaraan Berorientasikan Objek (pendek kata OOP) ialah kaedah merangkum kod. Malah, dalam kajian bab sebelumnya, kita telah pun didedahkan kepada enkapsulasi Sebagai contoh, membuang data yang tidak kemas ke dalam senarai adalah enkapsulasi mudah, iaitu pembungkusan tahap data yang biasa digunakan blok kod ke dalam fungsi , iaitu juga sejenis enkapsulasi, pada peringkat pernyataan.

Pengenkapsulan kod sebenarnya menyembunyikan kod khusus yang melaksanakan fungsi tersebut, hanya meninggalkan antara muka untuk pengguna Sama seperti menggunakan komputer, pengguna hanya perlu menggunakan papan kekunci dan tetikus untuk melaksanakan beberapa fungsi. Tidak perlu mengetahui cara ia berfungsi secara dalaman.

Pengaturcaraan berorientasikan objek juga merupakan idea pengkapsulan, tetapi ia jelas lebih maju daripada dua pengkapsulan di atas Ia boleh mensimulasikan perkara dalam dunia nyata dengan lebih baik (melakukannya sebagai objek), dan Merangkumi data dan blok kod (fungsi) yang menerangkan ciri bersama-sama.

Sebagai contoh, jika anda mereka bentuk watak penyu dalam permainan, bagaimanakah anda harus melaksanakannya? Ia akan menjadi lebih mudah untuk menggunakan pemikiran berorientasikan objek, yang boleh diterangkan dalam dua aspek berikut:

  • Diterangkan dari ciri permukaan, contohnya, hijau, mempunyai 4 kaki, berat 10 kg , dengan cangkerang dan sebagainya.

  • Huraikan berdasarkan tingkah lakunya, contohnya, ia boleh merangkak, makan, tidur, menarik balik kepala dan anggota badannya ke dalam cangkangnya, dsb.

Jika kura-kura diwakili oleh kod, ciri-ciri permukaannya boleh diwakili oleh pembolehubah, dan ciri-ciri tingkah lakunya boleh diwakili dengan mewujudkan pelbagai fungsi. Kod rujukan adalah seperti berikut:

class tortoise:
    bodyColor = "绿色"
    footNum = 4
    weight = 10
    hasShell = True
    #会爬
    def crawl(self):
        print("乌龟会爬")
    #会吃东西
    def eat(self):
        print("乌龟吃东西")
    #会睡觉
    def sleep(self):
        print("乌龟在睡觉")
    #会缩到壳里
    def protect(self):
        print("乌龟缩进了壳里")

Perhatikan bahawa kod di atas hanya untuk menunjukkan idea pengaturcaraan berorientasikan objek.

Oleh itu, dari perspektif program tertentu, menggunakan pemikiran berorientasikan objek boleh mensimulasikan sesuatu dengan lebih baik dalam kehidupan sebenar daripada hanya menggunakan pembolehubah atau fungsi sahaja.

Bukan itu sahaja, dalam Python, semua pembolehubah sebenarnya adalah objek, termasuk integer (int), jenis titik terapung (float), rentetan (str), senarai (senarai), tuple (tuple) ), dict dan ditetapkan. Ambil kamus (dict) sebagai contoh Ia mengandungi pelbagai fungsi untuk kita gunakan Contohnya, gunakan keys() untuk mendapatkan semua kunci dalam kamus, gunakan values() untuk mendapatkan semua nilai dalam kamus, dan. gunakan item() untuk mendapatkan semua kunci dalam pasangan Nilai, dsb.

Istilah berkaitan berorientasikan objek

Sebelum mempelajari pengaturcaraan berorientasikan objek secara sistematik, pemula harus memahami beberapa istilah tentang berorientasikan objek. Mengetahui istilah yang betul boleh membantu apabila membincangkan kod dengan orang lain, atau semasa cuba mencari penyelesaian kepada masalah yang kita hadapi.

Dalam berorientasikan objek, istilah biasa termasuk:

  • Kelas : Dapat difahami bahawa ia adalah templat yang melaluinya banyak contoh khusus boleh dicipta. Sebagai contoh, kura-kura yang ditulis sebelum ini hanya mewakili spesies penyu, yang melaluinya banyak contoh boleh dicipta untuk mewakili penyu dengan pelbagai ciri (proses ini juga dipanggil instantiasi kelas).

  • Objek: Kelas tidak boleh digunakan secara langsung, hanya kejadian (juga dipanggil objek) yang dicipta melalui kelas boleh digunakan. Ini sedikit sebanyak perkaitan lukisan kereta dengan kereta Lukisan itu sendiri (kelas) tidak boleh digunakan oleh orang, hanya kereta (objek) yang dicipta melalui lukisan itu boleh digunakan.

  • Atribut: Semua pembolehubah dalam kelas dipanggil atribut. Contohnya, dalam kelas kura-kura, bodyColor, footNum, weight dan hasShell adalah semua sifat yang dimiliki oleh kelas ini.

  • Kaedah : Semua fungsi dalam kelas biasanya dipanggil kaedah. Walau bagaimanapun, tidak seperti fungsi, kaedah kelas mesti mengandungi sekurang-kurangnya satu parameter diri (lebih lanjut mengenai ini kemudian). Contohnya, dalam kelas kura-kura, crawl(), eat(), sleep(), dan protect() adalah semua kaedah yang dimiliki oleh kaedah Kelas ini tidak boleh digunakan secara bersendirian dan hanya boleh digunakan bersama-sama dengan objek kelas.

Ciri berorientasikan objek Python:

Kelas dan objek ialah ciri penting Python, berbanding objek lain -ciri berorientasikan Bahasa, Python memudahkan untuk mencipta kelas dan objek. Pada masa yang sama, Python juga menyokong tiga ciri utama berorientasikan objek: enkapsulasi, pewarisan dan polimorfisme.

Encapsulation

Istilah objek (Objek) dalam pengaturcaraan berorientasikan objek pada asasnya boleh dianggap sebagai data (sifat) dan satu siri data yang boleh mengakses dan mengendalikannya data. Dalam erti kata tradisional, "program =
struktur data + algoritma" dirangkumkan, "tertutup" dan dipermudahkan kepada "program = objek + mesej". Objek ialah contoh kelas, dan abstraksi kelas perlu dirangkumkan. Enkapsulasi membolehkan pemanggil menggunakan objek secara langsung tanpa mengambil berat tentang bagaimana objek itu dibina.

Warisan

  • Warisan kelas:

    Perasaan warisan langsung ialah ia merupakan tingkah laku menggunakan semula kod . Warisan boleh difahami sebagai mewujudkan objek kelas khas berdasarkan kelas biasa Subkelas mempunyai hubungan IS-A dengan kelas induk yang diwarisinya.

  • Pewarisan berbilang:

    Tidak seperti C#, Python menyokong warisan berbilang kelas (C# boleh mewarisi daripada berbilang Antara Muka, tetapi paling banyak satu kelas). Mekanisme pewarisan berbilang kadangkala berguna, tetapi ia boleh merumitkan perkara dengan mudah.

Polymorphism

Polymorphism bermaksud bahawa operasi yang sama boleh digunakan pada objek yang berbeza, tetapi ia mungkin muncul dalam pelbagai bentuk hasil. Dalam Python, polimorfisme digunakan apabila anda tidak tahu jenis objek, tetapi anda memerlukan objek untuk melakukan sesuatu. Kaedah adalah polimorfik dan begitu juga pengendali.

[Cadangan berkaitan: Tutorial video Python3]

Atas ialah kandungan terperinci Adakah Python berorientasikan objek atau berorientasikan proses?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Rancangan Python 2 jam: Pendekatan yang realistikRancangan Python 2 jam: Pendekatan yang realistikApr 11, 2025 am 12:04 AM

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python: meneroka aplikasi utamanyaPython: meneroka aplikasi utamanyaApr 10, 2025 am 09:41 AM

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Berapa banyak python yang boleh anda pelajari dalam 2 jam?Berapa banyak python yang boleh anda pelajari dalam 2 jam?Apr 09, 2025 pm 04:33 PM

Anda boleh mempelajari asas -asas Python dalam masa dua jam. 1. Belajar pembolehubah dan jenis data, 2. Struktur kawalan induk seperti jika pernyataan dan gelung, 3 memahami definisi dan penggunaan fungsi. Ini akan membantu anda mula menulis program python mudah.

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam?Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam?Apr 02, 2025 am 07:18 AM

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah?Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah?Apr 02, 2025 am 07:15 AM

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Apa yang perlu saya lakukan jika modul '__builtin__' tidak dijumpai apabila memuatkan fail acar di Python 3.6?Apa yang perlu saya lakukan jika modul '__builtin__' tidak dijumpai apabila memuatkan fail acar di Python 3.6?Apr 02, 2025 am 07:12 AM

Memuatkan Fail Pickle di Python 3.6 Kesalahan Laporan Alam Sekitar: ModulenotFoundError: Nomodulenamed ...

Bagaimana untuk meningkatkan ketepatan segmentasi kata Jieba dalam analisis komen tempat yang indah?Bagaimana untuk meningkatkan ketepatan segmentasi kata Jieba dalam analisis komen tempat yang indah?Apr 02, 2025 am 07:09 AM

Bagaimana untuk menyelesaikan masalah segmentasi kata Jieba dalam analisis komen tempat yang indah? Semasa kami mengadakan komen dan analisis tempat yang indah, kami sering menggunakan alat segmentasi perkataan jieba untuk memproses teks ...

Bagaimana cara menggunakan ungkapan biasa untuk memadankan tag tertutup pertama dan berhenti?Bagaimana cara menggunakan ungkapan biasa untuk memadankan tag tertutup pertama dan berhenti?Apr 02, 2025 am 07:06 AM

Bagaimana cara menggunakan ungkapan biasa untuk memadankan tag tertutup pertama dan berhenti? Semasa berurusan dengan HTML atau bahasa markup lain, ungkapan biasa sering diperlukan untuk ...

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini