程式設計思想
1.面向過程程式設計(窮人)
一遇到問題馬上想到的是怎麼用演算法或者步驟(邏輯)直接解決問題
2.函式式程式設計(小資)
一遇到問題馬上想到有沒有乙個函式具有解決這個問題的功能,如果有直接拿來用,沒有就自己造乙個
3.物件導向程式設計(富豪)
一遇到問題馬上有沒有乙個物件具有解決這個問題的功能,如果有直接用,沒有就建立乙個。 - 類和物件
類和物件
什麼是類、什麼是物件
類就是擁有相同功能和相同屬性的物件的集合 - 抽象的概念
物件就是類的例項 - 具體表現
人是類,小明是物件
定義類 - 用**描述清楚這個類是擁有哪些相同功能和哪些相同屬性的物件集合
1)語法
class 類名:
類的說明文件
類的內容
2)說明
class - 關鍵字;固定寫法
類名 - 程式設計師自己命名;
要求:是識別符號,不是關鍵字
規範:駝峰式命名並且首字母大寫;見名知義;不使用系統的函式名、型別名、模組名
類的說明文件 - 本質就是使用三個雙引號開頭和結尾的注釋
類的內容 - 主要包括方法(物件方法、類方法和靜態方法)和屬性(物件屬性、類屬性)
方法:本質就是定義在類中的函式,是用來對類的功能進行描述
屬性:本質就是在類中儲存資料的變數,是用來對類的屬性進行描述
定義物件
類名()
物件方法
方法就是定義在類中函式。
1)什麼是物件方法
怎麼定義:直接定義在類中
怎麼呼叫:通過'物件.方法名' 的形式來呼叫
特點是什麼:自帶引數self;用物件呼叫方法的時候引數self不需要傳參,系統會自動將當前物件傳給self
(self:誰呼叫就指向誰)
# 例子
class
dog:
defeat
(self, food=
'骨頭'):
# self = d1
print
(f'self:'
)print
(f'狗吃'
)# 建立乙個dog類物件,儲存在d1中
d1 = dog(
)print
(f'd1:'
)# 通過物件呼叫物件方法
d1.eat(
)d1.eat(
'肉')
構造方法和init方法
建構函式(方法)
函式名和類同名,專門用來建立物件的函式就是建構函式(方法)
python在定義類的時候,系統會自動建立這個類對應的建構函式
python中呼叫建構函式建立物件的時候內部會完成3個操作:
a.呼叫__new__方法建立物件
b.用建立好的物件呼叫__init__方法,對物件進行初始化操作
c.返回初始化後完成的物件
__init__方法
魔法方法:類中方法名__開頭和__結尾的方法就叫魔法方法;
魔法方法不需要程式設計師主動呼叫,系統會在特定的情況下自動去呼叫
__init__:
1)每次通過類建立物件的時候,系統都會自動呼叫這個方法;
2)建立物件的時候建構函式有沒有引數有及格看對應的init方法除了self以外有沒有額外的引數有幾個
3)如果需要給類新增init方法要保證方法名是__init__,以及方法的性質是物件方法就可以了
def person(*args, **kwargs):
物件 = 建立物件(呼叫__new__函式建立物件)
對物件進行初始化(物件.__init__(*args, **kwargs))
return 物件
屬性 - 本質就是用來儲存資料的變數
類中的屬性分為:類屬性和物件屬性兩種
1)類屬性 - 類屬性又叫類的字段
怎麼定義:直接定義在類裡面函式外面的變數就是類屬性
怎麼使用:通過'類.屬性'的形式來使用
什麼時候用:屬性值不會有因為物件不同而不一樣,這樣的屬性就可以定義成類屬性
2)物件屬性
怎麼定義:以'self.屬性名=值'的形式定義在__init__方法中
怎麼使用:以'物件.屬性'的形式來使用
什麼時候用:屬性值會有因為物件不同而不一樣,這樣的屬性就可以定義成物件屬性
例子:
# 練習:定義乙個點類,有屬性x座標、y座標,方法:以'x:?,y:?'的形式列印點的資訊
# 要求:建立點物件的時候可以給座標賦值,如果不賦值x座標和y座標都是0
# 新增方法:獲取當前點到另外乙個點的距離
class
point
:def
__init__
(self, x=
0, y=0)
: self.x = x
self.y = y
deffunc1
(self)
:print
(f'x:,y:'
)def
distance
(self, other)
:# self = p3, other = p4
d =((self.x-other.x)**2
+(self.y-other.y)**2
)**0.5print
(f'距離:'
)p3 = point(20,
10)p4 = point(10,
20)p3.func1(
)p3.distance(p4)
Python學習 第十七天
在下這廂有禮了 練習 python修改檔案時,使用w模式會將原本的檔案清空 覆蓋。可以先用讀 r 的方式開啟,寫到記憶體中,然後再用寫 w 的方式開啟。yesterday when i was young 昨日當我年少輕狂 the taste of life was sweet 生命的滋味是甜的 a...
linux學習第十七天
18.1 資料庫管理系統 資料庫是指按照某些特定結構來儲存資料資料的資料倉儲。在當今這個大資料技術迅速崛起的年代,網際網路上每天都會生成海量的資料資訊,資料庫技術也從最初只能儲存簡單的 資料的單一集中儲存模式,發展到了現如今儲存海量資料的大型分布式模式。在資訊化社會中,能夠充分有效地管理和利用各種資...
打卡第十七天
第二次了,又沒過.有時候會有一種失敗感,這幾年好像什麼都沒做好,過的好像也不是很開心。昨天兵查過成績後心情就低落起來了,尤其是聽到晨晨得知她沒過時發出的驚訝聲音 你竟然沒過?時,心情立馬跌到了谷底,回到宿舍就再也繃不住了,大哭了一場,媽媽打 詢問情況,看到女兒哭的傷心,竟也無措起來,不知如何安慰。於...