程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python 「面向對象基本語法1」(驗證是否是對象方法、定義簡單的類、小小示例)

編輯:Python

在學基礎語法之前先學習一下python中的一個內置函數dir。在python中對象幾乎是無處不在的,之前學習的變量、數據、函數都是對象。

一、驗證是否是對象:

在python中可以使用以下兩個方法驗證是否是對象:

1、在標識符/數據(或變量名)後輸入一個點.,然後按下一個TAB鍵,iPython會提示該對象能夠調用的常用方法列表。

 

2、使用內置函數dir傳入標識符/數據(變量名或函數名)可以查看對象內的所有屬性及方法。

 

使用函數中的__doc__

demo.__doc

 

提示:__方法名__ (兩個下劃線開頭和結尾)格式的方法是Python提供的內置方法/屬性,接下來會介紹一些常用的內置方法/屬性。

序號

方法名

類型

作用

01

__new__

方法

創建對象時,會被自動調用

02

__init__

方法

對象被初始化時,會被自定調用

03

__del__

方法

對象被從內存中銷毀前,會被自動調用

04

__str__

方法

返回對象的描述信息,print函數輸出使用

提示:利用好dir()函數,在學習時很多內容就不需要死記硬背了。

提醒:安裝 ipython 之後,查看 PyCharm 設置,確保 Console 的通用設置 Use IPython if available 選項打勾。

二、定義簡單的類(只包含方法)

面向對象是更大的封裝,在一個類中封裝多個方法,這樣通過這個類創建出來的對象就可以直接調用這些方法。

2.1 定義只包含方法的類

在python中要定義一個只包含方法的類,語法格式如下:

class 類名:
def 方法1(self, 參數列表):
pass
def 方法1(self, 參數列表):
pass

 

方法的定義格式和之前學習過的函數幾乎一樣。區別:在於第一個參數必須是self,可以先記住就是這個格式,之後再介紹這個self。

注意: 類名的命格規則要符合大駝峰命名法。

2.2 創建對象

當一個類定義完成之後,要是用這個類來創建對象,語法格式如下:

對象變量 = 類名()

2.3 第一個面向對象演練

需求:小貓魚,小貓

分析:

  1. 定義一個貓類  Cat
  2. 定義兩個方法eat 和 drink
  3. 按照需求,不需要定義屬性

Cat

eat(self)

drink(self)

示例代碼:

class Cat:
def eat(self):
print("小貓愛吃魚")
def drink(self):
print("小貓要喝水")
# 創建貓對象名字叫tom
tom = Cat()
# 調用對象的方法
tom.eat()
tom.drink()

執行結果:

 

在主程序中使用tom這個變量去接收一個Cat貓的對象,然後用tom這個變量來調用吃魚的和喝水的方法,至於吃魚的方法和喝水的方法是怎麼實現的,主程序中就不關心了。

面向對象開發中很明顯的一個特點,主程序中只負責讓對象去工作,而不再關心具體方法的內部實現,至於方法內部的實現統統被封裝到了Cat貓這個類中。

面向對象是學習Python中一個很難的部分,同樣也是一個很重要的知識,以後去公司做項目必然會用到,希望在學習這反面的小白不要害怕,慢慢來,一遍不懂就反復的查找資料理解,千萬不要說學到後面感覺太難就放棄了,這個骨頭不啃掉還怎麼學習後面的知識呢。在python自學網裡有幾十節面向對象的視頻教程,也有文字解說文章。還包括其他教程比如django教程等等,感興趣的可以去網裡瞅一瞅。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved