




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目9
python面向?qū)ο蟪绦蛟O(shè)計(jì)9.1面向?qū)ο蟮木幊趟枷?.2類與對(duì)象9.3私有成員、公有成員和數(shù)據(jù)成員9.4方法、屬性、面向?qū)ο蟮娜筇卣?.1面向?qū)ο蟮木幊趟枷?類2對(duì)象3屬性4方法5封裝6繼承7多態(tài)9.1面向?qū)ο蟮木幊趟枷?/p>
數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。
Python是一種面向?qū)ο蟮木幊陶Z言,它支持面向?qū)ο蟮木幊趟枷?。面向?qū)ο缶幊蹋∣OP)是一種編程范式,它將數(shù)據(jù)和操作封裝到對(duì)象中,通過對(duì)象之間的交互來實(shí)現(xiàn)程序的設(shè)計(jì)和實(shí)現(xiàn)。類(Class):類是對(duì)象的藍(lán)圖或模板,定義了對(duì)象的屬性和方法。可以將類看作是創(chuàng)建對(duì)象的工廠。在Python中,使用class關(guān)鍵字來定義類。對(duì)象(Object):對(duì)象是類的實(shí)例,通過類的構(gòu)造函數(shù)創(chuàng)建。每個(gè)對(duì)象都有自己的狀態(tài)(屬性)和行為(方法)。可以通過訪問對(duì)象的屬性和調(diào)用對(duì)象的方法來操作對(duì)象。屬性(Attribute):屬性是對(duì)象的狀態(tài),用于存儲(chǔ)數(shù)據(jù)??梢詫傩砸暈轭惖淖兞浚總€(gè)對(duì)象都有自己的屬性值??梢酝ㄟ^點(diǎn)操作符(.)來訪問對(duì)象的屬性。9.1面向?qū)ο蟮木幊趟枷?/p>
數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。方法(Method):方法是對(duì)象的行為,用于執(zhí)行特定的操作。方法定義在類中,并且可以訪問類的屬性。方法可以通過點(diǎn)操作符調(diào)用。封裝(Encapsulation):封裝是將數(shù)據(jù)和操作封裝到對(duì)象中的過程。通過封裝,對(duì)象的內(nèi)部細(xì)節(jié)對(duì)外部是隱藏的,只能通過對(duì)象的接口進(jìn)行訪問。這樣可以提高代碼的可維護(hù)性和安全性。繼承(Inheritance):繼承是一種機(jī)制,允許創(chuàng)建一個(gè)新的類(子類),從現(xiàn)有的類(父類)繼承屬性和方法。子類可以重用父類的代碼,并且可以添加自己的新屬性和方法。繼承可以實(shí)現(xiàn)代碼的重用和擴(kuò)展。多態(tài)(Polymorphism):多態(tài)是指對(duì)象可以根據(jù)上下文表現(xiàn)出不同的行為。不同的對(duì)象可以對(duì)同一個(gè)方法有不同的實(shí)現(xiàn)。多態(tài)可以提高代碼的靈活性和可擴(kuò)展性。9.2類與對(duì)象9.2.1類9.2.2方法和私有化9.2.3類代碼塊9.2.4類的繼承9.2
類與對(duì)象
9.2.1類數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。
Python的類是面向?qū)ο缶幊痰暮诵母拍钪?,提供了一種組織和管理代碼的方式。要學(xué)習(xí)面向?qū)ο螅紫纫獙W(xué)會(huì)如何去創(chuàng)建類,Python中使用class關(guān)鍵字來定義類,通過以下例子說明類是如何創(chuàng)建的。下面代碼將展示如何創(chuàng)建一個(gè)類,并利用其創(chuàng)建兩個(gè)對(duì)象,并調(diào)用其中的方法。具體實(shí)現(xiàn)代碼如下:9.2
類與對(duì)象
9.2.1類#創(chuàng)建一個(gè)person類classPerson:#定義了類的構(gòu)造函數(shù)__init__def__init__(self,name):#將構(gòu)造函數(shù)中傳入的name參數(shù)賦值給對(duì)象的name屬性
=name#定義了一個(gè)名為say_hello的方法
defsay_hello(self):#通過,我們可以訪問對(duì)象的name屬性
print("Hello,mynameis",)#創(chuàng)建兩個(gè)Person對(duì)象person1=Person("Alice")person2=Person("Bob")#調(diào)用對(duì)象的方法person1.say_hello()person2.say_hello()9.2
類與對(duì)象
9.2.1類Hello,mynameisAliceHello,mynameisBob該程序的運(yùn)行結(jié)果為:9.2
類與對(duì)象
9.2.1類數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。通過以上例子,可了解關(guān)于python類的相關(guān)知識(shí):python中,類使用class來定義,類名跟在class后面。類其實(shí)是代碼塊,后面要緊跟冒號(hào)(:)類的方法本質(zhì)是函數(shù),因函數(shù)定義在類的內(nèi)部,所以將類內(nèi)部的函數(shù)稱為方法。每個(gè)方法至少制定一個(gè)self參數(shù),且定義的方法通常使用self作為第一個(gè)參數(shù),表示對(duì)當(dāng)前對(duì)象的引用。在調(diào)用方法時(shí),系統(tǒng)會(huì)自動(dòng)將對(duì)象傳入該參數(shù)。使用類創(chuàng)建對(duì)象與函數(shù)的調(diào)用類似。調(diào)用對(duì)象可直接通過對(duì)象變量調(diào)用,也可通過類調(diào)用方法。9.2
類與對(duì)象
9.2.2方法和私有化數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。一般來說,python所有方法都可被外部訪問,但很多其他語言如C、C++、Java等,沒有類的概念,只能通過提供特定關(guān)鍵字private實(shí)現(xiàn)方法的私有化,在Python中,可以通過在方法名稱前加上兩個(gè)下劃線__來將方法私有化。這樣的方法被稱為私有方法,它們只能在類的內(nèi)部訪問,無法從類的外部直接訪問。下列演示了一個(gè)類中同時(shí)存在可在外部訪問的公共方法和無法在外部訪問的私有方法的情況,具體實(shí)現(xiàn)代碼如下:9.2
類與對(duì)象
9.2.2方法和私有化classMyClass:defpublic_method(self):print("Thisisapublicmethod")def__private_method(self):print("Thisisaprivatemethod")obj=MyClass()#從外部訪問公共方法obj.public_method()#嘗試從外部訪問私有方法obj.__private_method()9.2
類與對(duì)象
9.2.2方法和私有化數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。在上述代碼中,MyClass類定義了一個(gè)公共方法public_method和一個(gè)私有方法__private_method。因?yàn)楣卜椒梢詮念惖耐獠恐苯釉L問,所以可以通過對(duì)象obj訪問公共方法public_method();由于私有方法不應(yīng)該直接從類的外部訪問,所以當(dāng)嘗試通過對(duì)象obj訪問私有方法__private_method()時(shí),會(huì)拋出AttributeError異常,提示該對(duì)象沒有名為__private_method的屬性。9.2
類與對(duì)象
9.2.3類代碼塊數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。代碼塊是一組相關(guān)的代碼語句,它們被包含在一對(duì)花括號(hào)(如{})或者縮進(jìn)的空白行中,用于將多個(gè)語句組織在一起,并在程序執(zhí)行時(shí)作為一個(gè)整體執(zhí)行,代碼塊可以包含其他代碼塊,形成嵌套的層次結(jié)構(gòu)。因此,class、for、while語句都屬于代碼塊,因此定義類就是執(zhí)行代碼塊的過程。示例代碼如下所示:classMyClass:print("MyClass")9.2類與對(duì)象
下列代碼定義了一個(gè)名為MyClass的類,其中包含一個(gè)類變量count和一個(gè)實(shí)例方法counter。通過創(chuàng)建MyClass的實(shí)例對(duì)象,我們可以調(diào)用方法來增加并修改count的值。此外,還展示了如何動(dòng)態(tài)地向?qū)ο筇砑有碌淖兞俊>唧w實(shí)現(xiàn)代碼如下:#定義了一個(gè)名為MyClass的類classMyClass:#在類定義中添加了一個(gè)print語句,該語句在定義類時(shí)執(zhí)行
print("MyClass")count=0defcounter(self):self.count+=1my=MyClass()my.counter()#調(diào)用了my對(duì)象的counter方法9.2.3類代碼塊9.2類與對(duì)象
print(my.count)#打印了my對(duì)象的count值my.counter()#再次調(diào)用了my對(duì)象的counter方法print(my.count)#打印了my對(duì)象的count值my.count="abc"#將my對(duì)象的count屬性的值修改為字符串"abc"print(my.count)#打印了my對(duì)象的count值,輸出結(jié)果為“abc”="Hello"#動(dòng)態(tài)地向my對(duì)象添加了一個(gè)名為name的新屬性,并將其值設(shè)置為字符串"Hello"print()#打印了my對(duì)象的name值,輸出結(jié)果為“Hello”該程序的運(yùn)行結(jié)果為:MyClass12abcHello9.2
類與對(duì)象
9.2.4類的繼承數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。在Python中,類的繼承是一種重要的特性,類的繼承是面向?qū)ο缶幊讨械囊粋€(gè)重要概念,它允許一個(gè)類(稱為子類或派生類)從另一個(gè)類(稱為父類或基類)繼承屬性和方法。繼承是建立類層次結(jié)構(gòu)、實(shí)現(xiàn)代碼重用和提高代碼可維護(hù)性的關(guān)鍵機(jī)制。在類的繼承中,有父類(基類)和子類(派生類)的概念。父類是被繼承的類,子類是繼承父類的類。父類可以提供通用的屬性和方法,而子類可以繼承這些屬性和方法,并可以在子類中添加新的屬性和方法。9.2
類與對(duì)象
9.2.4類的繼承數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。在Python中,需要在子類定義時(shí)將父類放在類名的圓括號(hào)中以指定繼承關(guān)系。示例代碼如下所示:#父類classFilter:deffilter1(self):return20classMyFilter(Filter):deffilter2(self):return309.2類與對(duì)象
#父類classFatherClass:defmethod1(self):print("好好學(xué)習(xí)")#子類classBabyClass(FatherClass):defmethod2(self):print("天天向上")child=BabyClass()child.method1()#調(diào)用父類的方法child.method2()9.2.4類的繼承好好學(xué)習(xí)天天向上該程序的運(yùn)行結(jié)果為:9.3私有成員、公有成員和數(shù)據(jù)成員9.3.1私有成員9.3.2公有成員9.3.3數(shù)據(jù)成員9.3
私有成員、公有成員和數(shù)據(jù)成員
9.3.1私有成員數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。在Python中,私有成員是類定義中的一種成員,用于封裝類的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),并限制外部訪問和修改。私有成員的命名約定是在成員名稱前面添加兩個(gè)下劃線__。以下是對(duì)私有成員的詳細(xì)描述。1.訪問限制:私有成員只能在類的內(nèi)部被訪問和使用,對(duì)于類的外部是不可見的。當(dāng)嘗試通過類的實(shí)例直接訪問私有成員時(shí),會(huì)引發(fā)AttributeError異常。9.3私有成員、公有成員和數(shù)據(jù)成員下列代碼定義了一個(gè)類MyClass,其中包含一個(gè)私有成員變量__private_variable和一個(gè)私有方法__private_method,并嘗試通過實(shí)例直接訪問私有成員。具體實(shí)現(xiàn)代碼如下:classMyClass:def__init__(self):self.__private_variable=42def__private_method(self):print("Thisisaprivatemethod")my_instance=MyClass()#嘗試直接訪問私有成員變量print(my_instance.__private_variable)#嘗試直接調(diào)用私有方法my_instance.__private_method()9.3.1私有成員AttributeError:'MyClass'objecthasnoattribute'__private_variable'該程序的運(yùn)行結(jié)果為:9.3
私有成員、公有成員和數(shù)據(jù)成員
9.3.1私有成員數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。2.名稱改寫:盡管私有成員在外部是不可見的,但它們?cè)陬惖膬?nèi)部仍然是可訪問的。Python通過對(duì)私有成員的名稱進(jìn)行改寫,使其在類的內(nèi)部可以被訪問,但在外部無法使用原始的私有名稱。名稱改寫是通過在私有成員名稱前添加一個(gè)下劃線和類名來實(shí)現(xiàn)的,形式為_類名__私有成員名。9.3私有成員、公有成員和數(shù)據(jù)成員下列代碼通過使用特定的名稱約定(_類名__私有成員)繞過私有成員的訪問限制,直接訪問私有成員變量和調(diào)用私有方法。示例代碼如下所示:#定義類classMyClass:def__init__(self):self.__private_variable=10def__private_method(self):print("Thisisaprivatemethod.")#創(chuàng)建類的實(shí)例obj=MyClass()9.3.1私有成員9.3私有成員、公有成員和數(shù)據(jù)成員#訪問私有成員變量print(obj._MyClass__private_variable)#輸出:10#調(diào)用私有方法obj._MyClass__private_method()#輸出:Thisisaprivatemethod.9.3.1私有成員10Thisisaprivatemethod該程序的運(yùn)行結(jié)果為:9.3
私有成員、公有成員和數(shù)據(jù)成員
9.3.1私有成員數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。3.封裝和隱藏現(xiàn)實(shí)細(xì)節(jié):私有成員的主要目的是封裝類的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),將其隱藏起來,防止外部直接訪問和修改。通過將數(shù)據(jù)和方法定義為私有成員,可以控制對(duì)類的內(nèi)部數(shù)據(jù)和行為的訪問,這樣做有助于保持類的封裝性和數(shù)據(jù)的完整性,同時(shí)減少了外部對(duì)類內(nèi)部的依賴。9.3私有成員、公有成員和數(shù)據(jù)成員【技能實(shí)訓(xùn)】本例定義了一個(gè)銀行賬戶類BankAccount,其中包含了初始化賬戶、存款、取款和獲取余額的功能。通過創(chuàng)建賬戶實(shí)例并調(diào)用相關(guān)方法,可以進(jìn)行存款、取款和查看賬戶余額的操作。具體實(shí)現(xiàn)代碼如下:#定義了一個(gè)名為BankAccount的類,表示銀行賬戶classBankAccount:#在類的構(gòu)造函數(shù)中,初始化賬戶號(hào)碼和初始余額
def__init__(self,account_number,initial_balance):self.__account_number=account_numberself.__balance=initial_balance#定義deposit方法用于存款
defdeposit(self,amount):self.__balance+=amount9.3私有成員、公有成員和數(shù)據(jù)成員
#定義withdraw方法用于取款
defwithdraw(self,amount):ifamount<=self.__balance:self.__balance-=amountelse:print("Insufficientbalance.")#定義get_balance方法用于獲取余額
defget_balance(self):returnself.__balance#創(chuàng)建一個(gè)名為account的BankAccount對(duì)象account=BankAccount("1234567890",1000)#打印賬戶的余額print(account.get_balance())#輸出:10009.3私有成員、公有成員和數(shù)據(jù)成員#存款500元到賬戶account.deposit(500)#再次打印賬戶的余額print(account.get_balance())#輸出:1500#嘗試從賬戶中取款2000元account.withdraw(2000)#輸出:Insufficientbalance.該程序的運(yùn)行結(jié)果為:10001500Insufficientbalance.9.3
私有成員、公有成員和數(shù)據(jù)成員
9.3.2公有成員數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。在Python中,共有成員是指類中的屬性和方法,它們可以被類的實(shí)例對(duì)象和其他類訪問和調(diào)用。公有成員在類定義中沒有使用雙下劃線(__)作為前綴。公有成員有以下幾個(gè)特點(diǎn):公有成員可以被類的實(shí)例對(duì)象和其他類直接訪問和調(diào)用,提供了類的接口和功能。公有成員的訪問權(quán)限相對(duì)較高,但仍需要遵守類的封裝原則,避免直接修改公有屬性的值。公有成員通常用于表示對(duì)象的狀態(tài)和提供對(duì)象的行為。下列代碼展示了公有屬性和公有方法的使用。具體實(shí)現(xiàn)代碼如下:9.3私有成員、公有成員和數(shù)據(jù)成員classMyClass:def__init__(self):self.public_property="PublicProperty"
defpublic_method(self):print("Thisisapublicmethod.")print("PublicProperty:",self.public_property)#創(chuàng)建類的實(shí)例對(duì)象obj=MyClass()9.3.2公有成員9.3私有成員、公有成員和數(shù)據(jù)成員#訪問公有屬性print(obj.public_property)#輸出:PublicProperty#調(diào)用公有方法obj.public_method()9.3.2公有成員該程序的運(yùn)行結(jié)果為:PublicPropertyThisisapublicmethod.PublicProperty:PublicProperty9.3私有成員、公有成員和數(shù)據(jù)成員下面示例代碼,展示了一個(gè)類中的公有成員的使用和解析。具體實(shí)現(xiàn)代碼如下:#定義類Rectangle:classRectangle:def__init__(self,width,height):#定義了兩個(gè)公有屬性width和heightself.width=widthself.height=heightdefcalculate_area(self):returnself.width*self.height#創(chuàng)建類的實(shí)例對(duì)象rect=Rectangle(5,3)9.3私有成員、公有成員和數(shù)據(jù)成員下面示例代碼,展示了一個(gè)類中的公有成員的使用和解析。具體實(shí)現(xiàn)代碼如下:#訪問公有屬性print("Width:",rect.width)#輸出:Width:5print("Height:",rect.height)#輸出:Height:3#調(diào)用公有方法area=rect.calculate_area()print("Area:",area)#輸出:Area:15該程序的運(yùn)行結(jié)果為:Width:5Height:3Area:159.3
私有成員、公有成員和數(shù)據(jù)成員
9.3.3數(shù)據(jù)成員數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool)。整型:Python程序中的整數(shù)。如10、21、33。浮點(diǎn)型:Python程序中的小數(shù)或指數(shù)。如3.14、4.0、5.3E-3。復(fù)數(shù)類型:Python程序中用a+bj或a+bJ表示的,a為復(fù)數(shù)的實(shí)部,b為復(fù)數(shù)的虛部。如1+2j、3-4j。布爾類型:用于描述條件判斷的結(jié)果,只有True和False兩個(gè)值。True為真,F(xiàn)alse為假。在Python中,數(shù)據(jù)成員是指類或?qū)ο髢?nèi)部定義的變量,用于存儲(chǔ)數(shù)據(jù)或狀態(tài)。Python中的數(shù)據(jù)成員分為以下幾種類型:1.實(shí)例變量(InstanceVariables)2.類變量(ClassVariables)3.私有變量(PrivateVariables)4.公有方法(PublicMethods)5.私有方法(PrivateMethods)9.3私有成員、公有成員和數(shù)據(jù)成員下列代碼展示了一個(gè)簡單的汽車類Car,其中包含了實(shí)例變量、類變量和私有變量的使用。通過創(chuàng)建類的實(shí)例對(duì)象、訪問數(shù)據(jù)成員、修改數(shù)據(jù)成員的值,以及調(diào)用實(shí)例方法,我們可以操作和獲取汽車的型號(hào)、年份和里程數(shù)。輸出結(jié)果展示了數(shù)據(jù)成員的使用及其值的變化。具體實(shí)現(xiàn)代碼如下:classCar:#類變量
manufacturer="Ford"def__init__(self,model,year):#實(shí)例變量
self.model=modelself.year=yearself.__mileage=0#私有變量
9.3私有成員、公有成員和數(shù)據(jù)成員
defdrive(self,distance):
self.__mileage+=distancedefget_mileage(self):returnself.__mileage#創(chuàng)建類的實(shí)例對(duì)象car1=Car("Mustang",2022)car2=Car("F-150",2023)#訪問實(shí)例變量和類變量print(car1.model)#輸出:Mustangprint(car2.year)#輸出:2023print(Car.manufacturer)#輸出:Ford9.3私有成員、公有成員和數(shù)據(jù)成員#修改實(shí)例變量和類變量car1.model="GT"Car.manufacturer="Chevrolet"#調(diào)用實(shí)例方法car1.drive(100)car2.drive(200)#訪問私有變量print(car1.get_mileage())#輸出:100print(car2.get_mileage())#輸出:200該程序的運(yùn)行結(jié)果為:Mustang2023Ford1002009.4方法、屬性、面向?qū)ο蟮娜筇卣?.4方法、屬性、面向?qū)ο蟮娜筇卣?/p>
數(shù)字類型是Python中的一種數(shù)據(jù)類型,指的是Python程序中所用到的數(shù)字。根據(jù)數(shù)字的不同特點(diǎn),將數(shù)字類型細(xì)分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 43710-2025科學(xué)數(shù)據(jù)安全審計(jì)要求
- 養(yǎng)殖庫房出售合同范本
- 單位鍋爐人員合同范本
- 個(gè)體工商合同范本
- 專業(yè)白蟻防治服務(wù)合同范本
- 養(yǎng)老機(jī)構(gòu)銷售合同范本
- 醫(yī)療設(shè)備議標(biāo)合同范本
- 化工鋼材采購合同范例
- 介紹費(fèi)協(xié)議合同范本
- 勞務(wù)派遣合同勞動(dòng)合同范本
- 福特福睿斯說明書
- 萬千教育學(xué)前幼兒園課程故事:支架教師的專業(yè)成長
- 健康教育知識(shí)講座高血壓
- BLM(含樣例)教學(xué)課件
- 居間協(xié)議書-五金工具銷售服務(wù)
- 企業(yè)數(shù)字化轉(zhuǎn)型之路燈塔工廠專題報(bào)告
- 酒店賓客意見表
- 低溫恒溫槽日常維護(hù)保養(yǎng)
- 一年級(jí)語文《端午粽》說課課件
- NB/T 11261-2023煤礦凍結(jié)孔施工及質(zhì)量驗(yàn)收規(guī)范
- 市政道路工程城市道路施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論