中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python面向對象思想與應用的示例分析

發布時間:2021-08-26 11:14:02 來源:億速云 閱讀:119 作者:小新 欄目:開發技術

這篇文章主要介紹了Python面向對象思想與應用的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

面向對象思想

1、面向對象的設計思想

面向對象是基于萬物皆對象這個哲學觀點。

2、面向對象和面向過程的區別

面向過程

在生活中:
它是一種看待問題的思維方式,在思考問題的時候,著眼問題是怎樣一步一步解決的,然后親力親為去解決問題[類似于公司里的執行者]。
在程序中:
代碼是從上而下順序執行,各個模塊之間的關系盡可能簡單,在功能上相對獨立,程序的流程在寫程序的時候就已經決定。

面向對象

在生活中:
它是另一種看待問題的方式,它著眼于找到一個具有特殊功能的個體,然后委托這個個體去幫你完成某件事.這更符合人類思考習慣的思想[指揮者]。
在程序中:
把數據以及對數據的操作方法放在一起,作為一個相互依存的整體–對象;
把同類的對象進行抽象出其共性,形成類;
類中大多數數據,只能用本類的方法進行處理;
類通過一個簡單的外部接口與外界發生關系,對象與對象之間通過消息進行通信;
程序執行的流程由用戶在使用的過程中決定;
使用面向對象思想進行開發,需要先找到具有所需功能的對象來使用,如果這個對象不存在,那么則需要創建這么一個具有所需功能的對象。
注意:面向對象只是一種思想,并不是一門編程語言。

區別總結

a. 都是看待問題的一種思維方式,都能解決問題;
b. 面向過程著眼于所有的事情親力親為;
c. 面向對象著眼于找到一個具有特殊功能的對象,委托這個對象實現你需要實現的功能。

python語言是面向對象的程序設計語言,類和對象是面向對象的核心。

類和對象

1、類和對象的概念

類:一個具有特殊功能的實體的集合[群體]。

對象:在一個類中,一個具有特殊功能的實體,能夠幫忙解決特定的問題,對象通常也被稱為實例。

兩者之間的關系:類用于描述某一對象的共同特征,而對象則是類的具體存在。

舉例:

學生 張三、李四
快遞 順豐、韻達

總結:

類與對象的關系:

a.類是對象的抽象,對象是類的具體體現。
b.類也是一種數據類型,只不過是自己定義的,類似與number,string等,它本身并不占用空間,但是它的實例[對象]是占用空間的。

2、類的定義

格式:

class 類名(object):
 類體

說明:

a.python中使用class關鍵字定義類;

b.類名只要是一個合法的標識符即可,命名規則遵循”大駝峰式命名”【每個單詞的首字母大寫】;

c.盡量使用單個或者多個有意義的單詞連接而成

演示

# 一個簡單的類的實例
class Person():
  print("hello")

3、類的設計

只需要關心3樣東西

1.事物名稱[類名]: 如人類 (Person);
2.特征(屬性): 如身高(height) 年齡(age)等 ——>名詞;
3.行為(方法): 如跑(run) 說話(say) —————>動詞。

類中的方法和屬性

1、方法和屬性的定義

生活中描述事物的無非就是描述事物的特征和行為。

python中用類來描述事物也是如此,前面已經定義了類,但是,如果只有類單獨存在,沒有任何意義,所以定義類其實就是定義類中的成員[成員變量和成員方法]。

在類中的變量我們稱之為成員變量,在類中的方法我們稱之為成員方法(函數)。

成員變量—>類具有的特征 例如:人—>身高,性別,體重。

成員方法 —>類具有的行為 例如人—>吃喝玩樂。

因此,擁有相同的(或者類似)屬性和行為的對象都可以抽取出一個類。

class Persion():
  #成員變量,初始值就是相當于默認值
  name = ""
  age = 0
  height = 0
  weight = 0
  #成員方法
  #在類的內部,使用def關鍵字來定義的一個方法
  #注意:區別于普通方法,類中方法的參數必須包含參數self,且為第一個參數
  #self代表類的實例(某個對象)
  def run(self):
    print("run")
  def eat(self, food):
    print("eat",food)
  def sleep(self):
    print("sleeping")

說明:定義了類,并在類中定義了成員變量和成員方法,但是成員變量和成員方法是如何使用的呢?

2、方法和屬性的使用

2.1、實例化對象:

前面說過,對象是實實在在的個體,負責去完成某件指定的事情。

對象的創建的過程又被稱作對象的實例化過程。

語法:

對象名 = 類名()

'''
實例化對象
格式: 對象名 = 類名()
注意: 沒有參數的時候,小括號也不能省略
'''
#實例化一個對象
pre1 = Person()
print(pre1)
print(type(per1))
print(id(per1))
per2 = Person()
print(per2)
print(type(per2))
print(id(per2))

3、對象調用方法和屬性

per = Preson()
'''
訪問屬性
格式:對象名.屬性名
賦值:對象名.屬性名 = 新值
'''
per.name = 'lili'
per.age = 18
per.height = 160
per.weight = 80
print(per.name, per.age, per.height, per.weight)
'''
訪問方法
格式:對象名.方法名(參數列表)
'''
per.run()
per.eat("apple")
per.sleep()
#問題:目前來看Person創建的所有對象屬性都是一樣的
per2 = Person()
print(per2.age)
per3 = Person()
print(per3.age)

總結:

訪問變量采用: 對象名.屬性名;
訪問方法采用: 對象名.方法名(參數列表)。

4、內存中的對象

per = Person()

說明:程序中定義Person類型的變量per實際是一個變量名,它被存放在棧內存中,它指向實際的Person對象,而真正的Person對象則存放在堆內存中。

綜合練習:

第一天開學,介紹一下你自己其中包括姓名,年齡以及愛好

#學生類
class Student():
  #特征:成員變量
  self.name = ""
  self.age = ""
  self.hobby =""
  def introduce(self,name, age, hobby):
    print("大家好,我是%s,今年%d歲,愛好是%s"%(name,age, hobby))
  def singsong(self):
    print("娘子~啊哈")
  def dance(self):
    print("廣場舞跳起來...")
  def lie(self):
    print("我家特別窮,我小時候就一直在放牛,只有幾萬頭....")
# 類實例化
stu = Student()
# 成員方法調用
stu.introduce('ldc',18,'跑步')
stu.singsong()
stu.dance()
stu.lie()

輸出:

大家好,我是ldc,今年18歲,愛好是跑步
娘子~啊哈
廣場舞跳起來...
我家特別窮,我小時候就一直在放牛,只有幾萬頭....

如何查看所有屬性和方法

class Test():
  def __init__(self,name):
    self.name = name
  def test(self):
    print('testing...')
test = Test('測試')
# 查看所有屬性和方法
list1 = dir(test)
# 檢查實例是否有這個屬性
print(hasattr(test, 'name'),hasattr(test, 'test'),hasattr(test, 'tt'))
# 設置屬性值
setattr(test,'name','測試2')
# 獲取屬性值
print(getattr(test, 'name'))

輸出:

True True False
測試2

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python面向對象思想與應用的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安丘市| 塔城市| 阿瓦提县| 汽车| 海丰县| 台南市| 洛扎县| 大厂| 昌乐县| 稷山县| 施甸县| 南江县| 磐安县| 德令哈市| 延寿县| 灵丘县| 和林格尔县| 和田市| 陈巴尔虎旗| 日照市| 绥江县| 璧山县| 扶绥县| 丹阳市| 宜都市| 永和县| 汽车| 沈丘县| 阳新县| 乌兰察布市| 贡嘎县| 莱芜市| 怀安县| 大关县| 航空| 天镇县| 方山县| 恩平市| 濉溪县| 无极县| 湄潭县|