python之物件導向學習0

2021-10-07 07:58:16 字數 3372 閱讀 5583

物件導向是相對於面向過程而言的,在早期程式設計中,比如實現1+2+3=6.

通過設計乙個簡單的演算法就能實現。

隨著計算機技術的不斷提高,計算機被用於解決越來越複雜的問題。一切事物皆物件,通過物件導向的方式,將現實世界的事物抽象成物件,現實世界中的關係抽象成類、繼承,幫助人們實現對現實世界的抽象與數字建模。通過物件導向的方法,更利於用人理解的方式對複雜系統進行分析、設計與程式設計。

物件的含義是指具體的某乙個事物,即在現實生活中能夠看得見摸得著的事物。在物件導向程式設計中,物件所指的是計算機系統中的某乙個成分。在物件導向程式設計中,物件包含兩個含義,其中乙個是資料,另外乙個是動作。物件則是資料和動作的結合體。物件不僅能夠進行操作,同時還能夠及時記錄下操作結果。

比如人類的描述:

屬性:姓名,身高,體重,膚色,性別,等等

行為:十月懷胎,吃飯,上廁所等等

符合上述描述的,可以稱之為類,類:就是類別,類別,一類事物的統稱,抽象概念,類並不存在。

而物件則是:類的例項(實實在在的案例)

上述描述說明在物件導向程式設計時候需要先建立類,再對類進行例項化生成物件。

"""

python中定義乙個類,使用class關鍵字

class 類名稱 類的命名規範:大駝峰法

潛規則"""# 直接這樣定義乙個類

# class user:

class user(object):

# 定義類的屬性(靜態的特徵)

# 覆蓋(重新)__init__方法

def __init__(self):

#類的成員變數

self.name = "波波哥"

self.age = "20"

self.gender = "男"

self.email = "[email protected]"

#定義了類的屬性,還可以定義類的行為

def study(self):

print("study python")

print("閉門之中,請勿打擾!")

def eat(self,food):

print("我的名字是{},今年{},愛吃{}".format(self.name,self.age,food))

由上,乙個簡單的類就建立好了。下面就對類進行例項化。

if __name__ == '__main__':

#建立物件

u1 = people()

'''

##呼叫物件的屬性

print(u1.name)

print(u1.age)

print(u1.gender)

print(u1.email)

#呼叫物件的方法

u1.study()

u1.eat("油潑辣子面")

'''u1.name = "柳下惠"

u1.age = 25

u1.gender = "男"

u1.study()

u1.eat("饅頭")

上面通過類生成物件u1,呼叫類中的屬性和方法,也可以修改類中的屬性。

上述**執行的結果是,注意觀察未注釋部分:

上面可以看到,是先對類的屬性進行了固定,下面再對類的屬性進行修改,下面採用生成物件時候傳入引數而建立物件。

# -*- coding: utf-8 -*-

class cat:

def __init__(self,name,age,color,gender):

self.name = name

self.age = age

self.color = color

self.gender = gender

def sperk(self):

print("喵喵喵,嗷嗷嗷!!我是{}".format(self.name))

if __name__ == '__main__':

c1 = cat("建巨集",20,"黑色","公")

print(c1.name)

c1.sperk()

**執行結果,將建立物件時候傳入的引數來生成物件。

在建立類的時候要注意什麼才是這個類唯一的屬性?

比如,圓類的屬性應該是什麼呢?我覺得屬性是半徑r比較合適,方法可以寫輸出圓的周長,面積等。

可以寫為如下:

# -*- coding: utf-8 -*-

import math

class circle:

def __init__(self,r):

self.r = r

def get_area(self):

return self.r*self.r*math.pi

def get_cal(self):

return 2*self.r*math.pi

if __name__ == '__main__':

radius = float(input("請輸入圓的半徑"))#還可以加上對輸入的值進行判斷是否大於0.

r1 = circle(radius)

print("該圓的周長是".format(r1.get_cal()))

print("該圓的面積是".format(r1.get_area()))#進行格式化輸出,保留三位小數

執行結果。

今天的物件導向分享就到這裡,你可以嘗試著練習下面這些題目:

1、定義乙個圓類(circle),求圓的面積和周長

2、定義乙個三角形類(strange),屬性是三邊的長度,求三角形的面積和周長

3.建立乙個學員類(student),並設計三個字段用於表示學生的成績

(語文、數學、英語);然後定義乙個列表list表示乙個班

的學生(10人),依次輸入每個學生的資訊和成績,輸入

的同時將學員的每科成績劃分等級(100-90:a 89-80:

b 79-70:c 69-60:d 60以下:e)最後輸出所有學員的

資訊4.編乙個關於求多個某門功課總分和平均分的程式。

1.每個學生資訊包括姓名和某門功課成績。

2.假設5個學生。

3.類和物件的處理要合理

5.設計乙個遊戲角色類

字段:角色名、血量、魔法、狀態

方法:釋放技能 被傷害

要求:設計要合理

答案可參考點這裡

Python學習之物件導向

物件導向是一種設計思想 1 符合人們的思考習慣 2 把執行者變成指揮者 3 簡化功能,把複雜的事情簡單化 想完成一件事,找具有這樣功能的物件 如果能找到,呼叫這個物件的功能,完成這個事 如果找不到,建立具有這樣功能的物件,再呼叫完成這個事 類是對事物的描述,是抽象的。物件是類的具體體現。類對事物的描...

Python學習之物件導向 一)

6.1.1 什麼是物件導向 面向過程式程式設計 好處 出色的完成所有的需求 壞處 凡是更改或者增加一條需求,可能整個專案都隨之改變 物件導向式程式設計 類 具有相似功能和特性的一類事物 物件 類的具體體現 類的優點 類是相似功能特徵的集合,可以讓 更清晰,更合理化 類是乙個公共的模板,物件是從這個模...

python之物件導向

類 是乙個特殊的物件,class a 定義的類屬於 類物件 類的例項 obj a 屬於 例項物件 例項屬性 init 定義例項屬性 例項方法 self 物件名.方法名 類屬性 針對類物件定義的屬性,訪問類屬性方法 類名.類屬性 物件名.類屬性 類方法 針對類物件定義的方法,內部可直接訪問類屬性和其他...