Atribut kelas
1. Tentukan atribut secara langsung dalam kelas
Tentukan atribut kelas Sudah tentu, cara yang paling mudah dan paling langsung ialah mentakrifkannya dalam kelas, contohnya:
class UserInfo(object): name='兩點(diǎn)水'
2
maka namanya , iaitu untuk mentakrifkan sifat semasa membina objek.
class UserInfo(object): def __init__(self,name): self.name=name
3. Kawalan akses atribut
Di Jawa, terdapat hartanah awam (awam) dan harta persendirian (swasta), yang boleh mengawal akses kepada hartanah. Jadi adakah terdapat sebarang kawalan akses atribut dalam Python?
Secara amnya, kami akan menggunakan __private_attrs bermula dengan dua garis bawah untuk mengisytiharkan bahawa atribut tersebut adalah peribadi dan tidak boleh digunakan atau diakses terus di luar kelas. Apabila menggunakan self.__private_attrs dalam kaedah di dalam kelas.
Kenapa kita hanya boleh bercakap tentang situasi umum? Kerana sebenarnya, Python tidak menyediakan fungsi seperti atribut peribadi. Walau bagaimanapun, kawalan akses Python terhadap atribut bergantung pada kesedaran pengaturcara. Kenapa awak cakap macam tu? Lihat contoh di bawah:
Lihat gambar dengan teliti, mengapa anda mengatakan garis bawah berganda bukan sifat peribadi yang sebenar? Mari kita lihat contoh berikut dan gunakan contoh berikut untuk mengesahkan:
#!/usr/bin/env python # -*- coding: UTF-8 -*- class UserInfo(object): def __init__(self, name, age, account): self.name = name self._age = age self.__account = account def get_account(self): return self.__account if __name__ == '__main__': userInfo = UserInfo('兩點(diǎn)水', 23, 347073565); # 打印所有屬性 print(dir(userInfo)) # 打印構(gòu)造函數(shù)中的屬性 print(userInfo.__dict__) print(userInfo.get_account()) # 用于驗(yàn)證雙下劃線是否是真正的私有屬性 print(userInfo._UserInfo__account)
Hasil output adalah seperti yang ditunjukkan di bawah: