資源簡介 (共28張PPT)類與對象(一)課前回顧1、pycharm安裝與使用PyCharm是一種Python IDE,帶有一整套可以幫助我們在使用Python語言開發時提高其效率的工具。2、非內置模塊安裝使用get-pip工具安裝第三方模塊3、sympy模塊sympy模塊,可以進行符號計算,可以定義符號變量,進行代數運算,以及微分運算、積分運算等。情境引入Python中一切皆為對象,所謂對象,我們自己就是一個對象,房子是一個對象,我們家的小狗也是一個對象。。。循序善誘分類是人們認識世界的一個很自然的過程,在日常生活中會不自覺地將對象進行進行分類循序善誘類:在python中,把具有相同屬性和方法的對象歸為一個類(class)循序善誘類是對象的模板或藍圖,類是對象的抽象化,對象是類的實例化。類不代表具體的事物,而對象表示具體的事物。新知教授2、創建對象1、創建類3、面向對象4、課堂總結創建類新知教授使用類幾乎可以模擬任何東西。下面來編寫一個表示小狗的簡單類Dog——它表示的不是一只小狗,而是狗這個物種。思維構建對于大多數寵物狗,它們都有屬性:名字和年齡;我們還知道,大多數小狗的行為有蹲下和打滾。我們的Dog類將包含它們。這個Dog類將讓Python知道如何創建表示小狗的對象。思維構建根據Dog類創建的每個實例都將存儲名字和年齡。我們賦予了每條小狗蹲下(sit())和打滾(roll_over())的能力:class Dog():#一次模擬小狗的簡單嘗試def __init__(self, name, age):# 初始化屬性name和ageself.name = nameself.age = agedef sit(self):#模擬小狗被命令時蹲下print(self.name + " is now sitting.")def roll_over(self):#模擬小狗被命令時打滾print(self.name + " rolled over!")編玩編學構造方法__init__()定義需要包含三個參數:self、name和age。參數self在每一個類新建過程中是必不可少的,并且,它還必須位于其他形參的前面class Dog():def __init__(self, name, age):self.name = nameself.age = age編玩邊學每個與類進行關聯的方法,在調用時都自動傳遞實參self,讓實例對象能夠訪問類中的屬性和方法。def sit(self):print(self.name + " is now sitting.")def roll_over(self):print(self.name + " rolled over!")創建對象新知教授假如你手上有一份設計藍圖,其中內容描述了一類的事物樣貌特征、性能功能等,現在讓你按照這個設計藍圖來生產、制造出來這個具體的物體的過程,你就可以理解為是根據類的信息,來創造、創建實例對象的過程。思維構建Dog類是一系列說明,對類的描述與創建,可以讓Python知道如何創建表示特定小狗的實例。class Dog():def __init__(self, name, age):self.name = nameself.age = agedef sit(self):print(self.name + " is now sitting.")def roll_over(self):print(self.name + " rolled over!")my_dog = Dog('旺財', 6)print("My dog's name is " + my_dog.name + ".")print("My dog is " + str(my_dog.age) + " years old.")編玩編學根據我們實際傳遞的實參'旺財'和6,調用Dog類中的方法__init__()自動創建一個表示特定小狗的實例對象,并使用我們提供的值來設置對象的屬性name和age信息。my_dog = Dog('旺財', 6)# 將對象實例賦值給變量my_dog方法__init__()并沒有包含return語句、沒有任何的返回值信息,但此處python會自動返回依據我們所給參數創建的對象編玩邊學Python先找到我們通過類創建的實例對象my_dog,然后再查找與這個實例對象相關聯的屬性name。在Dog類中引用這個屬性時,使用的是self.nameprint("My dog's name is " + my_dog.name + ".")print("My dog is " + str(my_dog.age) + " years old.")面向對象新知教授面向對象是一種編程方式,此編程方式的實現是基于對 類 和 對象 的使用。思維構建class Dog():def __init__(self, name, age):self.name = nameself.age = agedef sit(self):print(self.name + " is now sitting.")def roll_over(self):print(self.name + " rolled over!")my_dog = Dog('旺財', 6)my_dog.sit()my_dog.roll_over()我們使用Dog類創建了一只叫旺財的小狗,并可以讓它蹲下和打滾。我們也可以使用函數實現這一點,那為什么還要使用類與對象呢?編玩邊學當我們使用函數時,的確可以實現和類相同的功能,但這是建立在類是一個“小”類,類相當于一堆功能函數的集合:同樣,如果一個函數足夠“大”,集成的功能足夠多,某種程度上,這個函數也成了類。def my_dog(name,age):print(name + " is now sitting.")print(name + " rolled over!")世界上本沒有類,代碼寫多了,也就有了類思維構建使用面向對象的思維編程時,我們在做什么?我們將具有相同特征的一類事物進行抽象提煉,變成一個類,而類可以供我們重復使用。思維構建而對象的創建就是在實例化類,可以重復調用類中的功能來創建一個個不同的對象,滿足不同的需求。這和函數重復調用很像,但是類與對象實例化程序結構更加清晰明了,便于我們進行管理。實踐創作創建一個屬于自己的類,并實例化一個對象。課堂總結1、創建類類:在python中,把具有相同屬性和方法的對象歸為一個類(class)2、創建對象對象=屬性(特征)+方法(行為)3、面向對象面向對象是一種編程方式,此編程方式的實現是基于對 類 和 對象 的使用。分享交流同學們今天寫代碼有沒有遇到什么問題?演示今天打印的代碼同學們,要加油哦!下節課見啦 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫