Jadual Kandungan
Konsep dan contoh kelas dan kaedah
1. kelas ular sawa: kelas
2. Kaedah pembinaan kelas__init__()
3. Parameter kaedah dalam kelas self
4. Harta pusaka
5.方法重写
类的特殊属性与方法
类的私有属性
类的私有方法
Rumah pembangunan bahagian belakang Tutorial Python Cara menggunakan kelas dan kaedah dalam Python

Cara menggunakan kelas dan kaedah dalam Python

Apr 21, 2023 pm 02:28 PM
python class

Konsep dan contoh kelas dan kaedah

  • Kelas (Kelas): Digunakan untuk menerangkan koleksi objek dengan sifat dan kaedah yang sama. Ia mentakrifkan sifat dan kaedah yang biasa kepada setiap objek dalam koleksi. Objek ialah contoh kelas.

  • Kaedah : Fungsi yang ditakrifkan dalam kelas.

  • Kaedah pembina kelas __init__(): Kelas mempunyai kaedah khas (pembina) yang dipanggil init(), yang digunakan apabila kelas diwujudkan akan menjadi dipanggil secara automatik.

  • Pembolehubah instance: Dalam pengisytiharan kelas, atribut diwakili oleh pembolehubah jenis ini dipanggil pembolehubah instance menggunakan pembolehubah Ubahsuai sendiri.

  • Instantiation: Buat tika kelas, objek khusus kelas.

  • Warisan: Iaitu, kelas terbitan mewarisi medan dan kaedah kelas asas. Warisan juga membenarkan objek kelas terbitan untuk dianggap sebagai objek kelas asas. Sebagai contoh, terdapat reka bentuk sedemikian: objek jenis Anjing berasal daripada kelas Haiwan, yang menyerupai perhubungan "ialah-a" (contohnya, Anjing ialah Haiwan).

1. kelas ular sawa: kelas

Kelas (kelas) Python adalah bersamaan dengan keluarga yang terdiri daripada pelbagai fungsi Jika ada orang bernama Myclass dalam keluarga besar ini f, jika f ini mempunyai fungsi untuk mencetak cuaca, maka jika suatu hari nanti saya memerlukan f ini untuk mencetak cuaca hari ini, maka saya mesti memanggil nama penuhnya MyClass.f sebelum dia boleh mencetaknya kepada saya, iaitu selepas memanggilnya Anda perlu membawa nama keluarganya + namanya.

  • Atribut: Atribut ialah pembolehubah dalam kelas ini. Jika pembolehubah ialah item, maka atribut yang berbeza adalah item yang berbeza dalam keluarga ini

  • Kaedah : Kaedah ialah fungsi dalam kelas ini. Jika fungsi adalah orang, maka kaedah yang berbeza adalah orang yang berbeza dalam keluarga besar ini.

Instance MyClass:

#Myclass家族,但是这个家族只有一个人f
class MyClass:   
  """一个简单的类实例"""    
  i = 12345    
  def f(self):        
    return 'hello world'
# 实例化类
x = MyClass() 
# 访问类的属性和方法
print("MyClass 类的属性 i 为:", x.i) #家族x + 物品名i
print("MyClass 类的方法 f 输出为:", x.f()) #家族x + 人名f
Salin selepas log masuk

Hasil keluaran:

Cara menggunakan kelas dan kaedah dalam Python

2. Kaedah pembinaan kelas__init__()

Jika init() juga seorang, tetapi dia adalah penghubung antara keluarga dan dunia luar, apabila orang dari luar mahu memanggil orang dari keluarga mereka sendiri, mereka mesti terlebih dahulu Beritahu dia bahawa selagi ahli keluarga dipanggil, init() akan dilaksanakan terlebih dahulu, dan kemudian dia akan memberitahu orang yang dipanggil untuk melaksanakan yang dipanggil.

init() instance:

class Complex:
    def __init__(self, realpart, imagpart): #必须要有一个self参数,
        self.r = realpart
        self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i)   # 输出结果:3.0 -4.5
Salin selepas log masuk

Hasil keluaran:

Cara menggunakan kelas dan kaedah dalam Python

3. Parameter kaedah dalam kelas self

Di dalam kelas, gunakan kata kunci def untuk mentakrifkan kaedah Berbeza daripada takrifan fungsi umum, kaedah kelas mesti memasukkan parameter diri, yang merupakan parameter pertama. diri mewakili contoh kelas.

  • diri: Terdapat hanya satu perbezaan istimewa antara kaedah kelas dan fungsi biasa - mesti ada nama parameter pertama tambahan, mengikut kebiasaannya Nama itu sendiri.

  • Instance of class: Ia adalah untuk menggunakan kelas dalam senario instance Contohnya, fungsi dalam kelas ialah f Jika f ini mempunyai cetak pada masa tertentu Keupayaan keadaan cuaca, maka jika saya memerlukan f ini untuk mencetak cuaca pada pukul 12 hari ini, maka tindakan membiarkan dia mencetak cuaca pada pukul 12 hari ini adalah instantiasi kelas, menjadikan keupayaan fungsi dalam tindakan kelas sebenar.

Instance instance:

#类定义
class people:
    #定义基本属性
    name = ''
    age = 0
    #定义私有属性,私有属性在类外部无法直接进行访问
    #定义构造方法
    def __init__(self,n,a):
        self.name = n
        self.age = a
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age))

# 实例化类
p = people('Python',10,30)
p.speak()
Salin selepas log masuk

Hasil keluaran:

Cara menggunakan kelas dan kaedah dalam Python

4. Harta pusaka

Jika ada dua keluarga, satu daripadanya, Keluarga A, mula merosot, dan satu lagi keluarga baru, B, ingin mewarisi bahan dan hamba keluarga A, maka anda boleh melakukan perkara berikut: Kaedah untuk mencapai warisan, di sini, keluarga A ialah kelas induk, keluarga B ialah subkelas. Dari segi penggunaan, jika keluarga B boleh menggunakan barang dan orang suruhan keluarga A sesuka hati.

class [子类]([父类]):
Salin selepas log masuk
  • BaseClassName (nama kelas asas dalam contoh) mesti ditakrifkan dalam skop yang sama dengan kelas terbitan. Selain kelas, anda juga boleh menggunakan ungkapan, yang berguna apabila kelas asas ditakrifkan dalam modul lain.

  • Python juga menyokong warisan berbilang, yang bermaksud anda boleh mewarisi berbilang kelas induk. Kaedah pewarisan adalah sama dengan kaedah pewarisan tunggal, dan kaedahnya adalah seperti berikut:

class [子类]([父类]1, [父类]2, [父类]3):
Salin selepas log masuk

Contoh pewarisan:

#类定义
class people:
    #定义基本属性
    name = ''
    age = 0
    #定义私有属性,私有属性在类外部无法直接进行访问
    __weight = 0
    #定义构造方法
    def __init__(self,n,a,w):
        self.name = n
        self.age = a
        self.__weight = w
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age))

#单继承示例
class student(people): #student为子类,people为父类
    grade = ''
    def __init__(self,n,a,w,g):
        #调用父类的构函
        people.__init__(self,n,a,w)
        self.grade = g
    #覆写父类的方法
    def speak(self):
        print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))

s = student('ken',10,60,3)
s.speak()
Salin selepas log masuk

Keputusan larian:

Cara menggunakan kelas dan kaedah dalam Python

5.方法重写

如果你的父类方法的功能不能满足你的需求,你可以在子类重写你父类的方法。即如果B家族继承了A家族,但是B家族有个佣人只会扫地,于是A家族给这个人洗脑,让他啥都不会,然后再教这个佣人洗碗、擦桌子的技能,那么这个佣人就只会洗碗和擦桌子了。

  • super()函数是用于调用父类(超类)的一个方法。

方法重写实例:

class Parent:        # 定义父类
   def myMethod(self):
      print('调用父类方法')

class Child(Parent): # 定义子类
   def myMethod(self):
      print('调用子类方法')

c = Child()          # 子类实例
c.myMethod()         # 子类调用重写方法
super(Child,c).myMethod() #用子类对象调用父类已被覆盖的方法
Salin selepas log masuk

输出结果:

Cara menggunakan kelas dan kaedah dalam Python

类的特殊属性与方法

类的私有属性

  • _private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs。

私有属性实例:

class JustCounter:
    __secretCount = 0  # 私有变量
    publicCount = 0    # 公开变量

    def count(self):
        self.__secretCount += 1
        self.publicCount += 1
        print(self.__secretCount)

counter = JustCounter()
counter.count()
counter.count()
print(counter.publicCount)
print(counter.__secretCount)  # 报错,实例不能访问私有变量
Salin selepas log masuk

输出结果:

Cara menggunakan kelas dan kaedah dalam Python

类的私有方法

  • __private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用 ,不能在类的外部调用。self.__private_methods。

私有方法实例:

class Site:
    def __init__(self, name, url):
        self.name = name       # public
        self.__url = url   # private

    def who(self):
        print('name  : ', self.name)
        print('url : ', self.__url)

    def __foo(self):          # 私有方法
        print('这是私有方法')

    def foo(self):            # 公共方法
        print('这是公共方法')
        self.__foo()

x = Site('Python', 'www.irvingao.com')
x.who()        # 正常输出
x.foo()        # 正常输出
x.__foo()      # 报错
Salin selepas log masuk

输出结果:

Cara menggunakan kelas dan kaedah dalam Python

Atas ialah kandungan terperinci Cara menggunakan kelas dan kaedah dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

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 lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Hadidb: Pangkalan data yang ringan dan berskala mendatar di Python Hadidb: Pangkalan data yang ringan dan berskala mendatar di Python Apr 08, 2025 pm 06:12 PM

Hadidb: Pangkalan data Python yang ringan, tinggi, Hadidb (Hadidb) adalah pangkalan data ringan yang ditulis dalam Python, dengan tahap skalabilitas yang tinggi. Pasang HadIdb menggunakan pemasangan PIP: Pengurusan Pengguna PipInstallHadidB Buat Pengguna: CreateUser () Kaedah untuk membuat pengguna baru. Kaedah pengesahan () mengesahkan identiti pengguna. dariHadidb.OperationImportuserer_Obj = user ("admin", "admin") user_obj.

Kaedah Navicat untuk melihat kata laluan pangkalan data MongoDB Kaedah Navicat untuk melihat kata laluan pangkalan data MongoDB Apr 08, 2025 pm 09:39 PM

Tidak mustahil untuk melihat kata laluan MongoDB secara langsung melalui Navicat kerana ia disimpan sebagai nilai hash. Cara mendapatkan kata laluan yang hilang: 1. Tetapkan semula kata laluan; 2. Periksa fail konfigurasi (mungkin mengandungi nilai hash); 3. Semak Kod (boleh kata laluan Hardcode).

Rancangan Python 2 jam: Pendekatan yang realistik Rancangan Python 2 jam: Pendekatan yang realistik Apr 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.

Bagaimana untuk mengoptimumkan prestasi MySQL untuk aplikasi beban tinggi? Bagaimana untuk mengoptimumkan prestasi MySQL untuk aplikasi beban tinggi? Apr 08, 2025 pm 06:03 PM

Panduan Pengoptimuman Prestasi Pangkalan Data MySQL Dalam aplikasi yang berintensifkan sumber, pangkalan data MySQL memainkan peranan penting dan bertanggungjawab untuk menguruskan urus niaga besar-besaran. Walau bagaimanapun, apabila skala aplikasi berkembang, kemunculan prestasi pangkalan data sering menjadi kekangan. Artikel ini akan meneroka satu siri strategi pengoptimuman prestasi MySQL yang berkesan untuk memastikan aplikasi anda tetap cekap dan responsif di bawah beban tinggi. Kami akan menggabungkan kes-kes sebenar untuk menerangkan teknologi utama yang mendalam seperti pengindeksan, pengoptimuman pertanyaan, reka bentuk pangkalan data dan caching. 1. Reka bentuk seni bina pangkalan data dan seni bina pangkalan data yang dioptimumkan adalah asas pengoptimuman prestasi MySQL. Berikut adalah beberapa prinsip teras: Memilih jenis data yang betul dan memilih jenis data terkecil yang memenuhi keperluan bukan sahaja dapat menjimatkan ruang penyimpanan, tetapi juga meningkatkan kelajuan pemprosesan data.

Python: meneroka aplikasi utamanya Python: meneroka aplikasi utamanya Apr 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.

Cara Menggunakan AWS Glue Crawler dengan Amazon Athena Cara Menggunakan AWS Glue Crawler dengan Amazon Athena Apr 09, 2025 pm 03:09 PM

Sebagai profesional data, anda perlu memproses sejumlah besar data dari pelbagai sumber. Ini boleh menimbulkan cabaran kepada pengurusan data dan analisis. Nasib baik, dua perkhidmatan AWS dapat membantu: AWS Glue dan Amazon Athena.

Bolehkah mysql menyambung ke pelayan SQL Bolehkah mysql menyambung ke pelayan SQL Apr 08, 2025 pm 05:54 PM

Tidak, MySQL tidak dapat menyambung terus ke SQL Server. Tetapi anda boleh menggunakan kaedah berikut untuk melaksanakan interaksi data: Gunakan middleware: data eksport dari MySQL ke format pertengahan, dan kemudian mengimportnya ke SQL Server melalui middleware. Menggunakan Pangkalan Data Pangkalan Data: Alat perniagaan menyediakan antara muka yang lebih mesra dan ciri -ciri canggih, pada dasarnya masih dilaksanakan melalui middleware.

Cara memulakan pelayan dengan redis Cara memulakan pelayan dengan redis Apr 10, 2025 pm 08:12 PM

Langkah -langkah untuk memulakan pelayan Redis termasuk: Pasang Redis mengikut sistem operasi. Mulakan perkhidmatan Redis melalui Redis-server (Linux/macOS) atau redis-server.exe (Windows). Gunakan redis-cli ping (linux/macOS) atau redis-cli.exe ping (windows) perintah untuk memeriksa status perkhidmatan. Gunakan klien Redis, seperti redis-cli, python, atau node.js untuk mengakses pelayan.

See all articles