1. 程式人生 > >Python——(面向物件程式設計)類和例項

Python——(面向物件程式設計)類和例項

本文絕大部分內容轉載至:廖雪峰官方網站

面向物件最重要的概念就是類(Class)例項(Instance),必須牢記類是抽象的模板,比如Student類,而例項是根據類創建出來的一個個具體的“物件”,每個物件都擁有相同的方法,但各自的資料可能不同。

仍以Student類為例,在Python中,定義類是通過class關鍵字:

class Student(object):
    pass

class後面緊接著是類名,即Student,類名通常是大寫開頭的單詞,緊接著是(object),表示該類是從哪個類繼承下來的,繼承的概念我們後面再講,通常,如果沒有合適的繼承類,就使用object類,這是所有類最終都會繼承的類。

定義好了Student類,就可以根據Student類創建出Student的例項,建立例項是通過類名+()實現的:

>>> bart = Student()
>>> bart
<__main__.Student object at 0x10a67a590>
>>> Student
<class '__main__.Student'>

可以看到,變數bart指向的就是一個Student的例項,後面的0x10a67a590是記憶體地址,每個object(物件)的地址都不一樣,而Student本身則是一個類。

由於類可以起到模板的作用,因此,可以在建立例項的時候,把一些我們認為必須繫結的屬性強制填寫進去。通過定義一個特殊的__init__

方法,在建立例項的時候,就把namescore等屬性綁上去:

class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score

注意到__init__方法的第一個引數永遠是self,表示建立的例項本身,因此,在__init__方法內部,就可以把各種屬性繫結到self,因為self就指向建立的例項本身。

有了__init__方法,在建立例項的時候,就不能傳入空的引數了,必須傳入與__init__方法匹配的引數,但self不需要傳,Python直譯器自己會把例項變數傳進去:

>>> bart = Student('Bart Simpson', 59)
>>> bart.name
'Bart Simpson'
>>> bart.score
59

和普通的函式相比,在類中定義的函式只有一點不同,就是第一個引數永遠是例項變數self,並且,呼叫時,不用傳遞該引數。除此之外,類的方法和普通函式沒有什麼區別,所以,你仍然可以用預設引數、可變引數、關鍵字引數和命名關鍵字引數。

相關推薦

Python——(面向物件程式設計)例項

本文絕大部分內容轉載至:廖雪峰官方網站 面向物件最重要的概念就是類(Class)和例項(Instance),必須牢記類是抽象的模板,比如Student類,而例項是根據類創建出來的一個個具體的“物件”,每個物件都擁有相同的方法,但各自的資料可能不同。 仍以St

18.python面對物件程式設計(一)—什麼是面向物件例項,訪問限制

終於開始了python的核心內容了,前面都是細枝末節的小東西。先開始第一個話題,什麼是面向物件的程式設計(opp)。1)什麼是面向物件我們可以拿C語言這個典型的面向過程的程式語言來對比,面對同樣一個問題,”我吃飯“(原諒我是個吃貨)。面向過程關注的是吃這個動作。而面向物件關注

Python面向物件(定義建立物件)

day24 http://www.cnblogs.com/wupeiqi/p/4493506.html Python:函式式+面向物件,函數語言程式設計可以做所有事,但是不一定合適。 小明,10歲,男,上山去砍柴 小明,10歲,男,開車去東北 老李,90歲,男,上山去砍柴 老李,

JAVASE之面向物件程式設計--物件1

1.面向物件程式設計正規化(c++,java.Go)--能進行現實生活的抽象--狗吃糧   每個物件--類   屬性以及方法   OOA: 面向物件分析   OOP:面向物件程式設計   OOD:面向物件設計   面向物件三大特徵:*****   a.封裝性

MATLAB面向物件程式設計物件的建立

      在此之前對面向物件程式設計瞭解不多,更不用說MATLAB面向物件程式設計。不過,在第一份工作的經歷中還是遇到過一點使用,只是那時候我還不是很清楚。那一次使用是為了實現Simulink中模型的使用。       今天簡單做一個類的構建以及物件的建立。首先實現一個類

Python面向物件程式設計——物件、屬性、方法示例程式碼

習題九 一、 閱讀以下關於平面座標處理的程式碼: class Coordinate(object): def __init__(self, x, y): self.x = x self.y = y de

Python面向物件程式設計——的學習

面向物件程式設計面向物件程式設計——Object Oriented Programming,簡稱OOP,是一種程式設計思想。OOP把物件作為程式的基本單元,一個物件包含了資料和操作資料的函式。    面向過程的程式設計把計算機程式視為一系列的命令集合,即一組函式的順序執行。為

C++面向物件程式設計——物件(個人整理)

物件: object 客觀世界中任何一個事物都可以看成一個物件,如自然物體(汽車,房子,班級...) 可以看到一個班級作為一個物件有兩個要素: 1、班級所屬系和專業,人數等靜態特徵(屬性); 2、班

Java基礎筆記整理---【07】面向物件程式設計-物件

int 型別預設值為 0 String型別預設值為null 方法(函式):返回值 方法名(引數型別 引數名稱, ...){方法體(程式碼塊)}this指呼叫的方法中(當前)的變數類與物件1.構造方法:1> 構造物件 構造例項的方法,一個特殊方法,方法名需要與類名相同,

python 面向物件程式設計例項

深度學習在構建網路模型時,看到用類來構建一個模型例項,清晰明瞭,所以這篇博文主要學習一下python類 類和例項: 類可以起到模板的作用,因此,可以在建立例項的時候,把一些我們認為必須繫結的屬性強制填寫進去。通過定義一個特殊的__init__(注意:特殊方法“__init__”前後分別有

Python面向物件程式設計例項 訪問限制 繼承多型 獲取物件資訊 例項屬性屬性)

面向物件程式設計——Object Oriented Programming,簡稱OOP,是一種程式設計思想。OOP把物件作為程式的基本單元,一個物件包含了資料和操作資料的函式。 資料封裝、繼承和多型是面向物件的三大特點 在Python中,所有資料型別都可以視

python面向物件物件例項物件變數、例項變數、方法、例項方法、靜態方法

  1. 類物件和例項物件   Python中一切皆物件,Python類本身也是一種物件,類定義完成後,會在當前作用域中定義一個以類名為名字的名稱空間。類物件具有以下兩種操作: 可以通過“類名()”的方式例項化一個物件。  可以通過“類名.類屬性”的方式來訪問一個類屬性。

面向物件程式設計-變數與例項變數

1 class Role(object):#執行時之後就存在記憶體裡 2 n='我是類裡的n' #類變數,儲存在類的記憶體裡 3 list=[] 4 name='我是類裡的name' 5 def __init__(self,name,role,weapon,li

【java】面向物件程式設計——物件的繼承多型

一、程式碼塊 程式碼塊定義:使用 {} 定義的一段程式碼。 根據程式碼塊定義的位置以及關鍵字,又可分為以下四種: 普通程式碼塊(定義在方法中,除錯) 構造塊(定義在類中的(不加修飾符)) 靜態塊 同步程式碼塊 構造塊 構造塊在每次產生一個新的物件就呼叫一次構

Python基礎筆記_Day10_Python面向物件物件、__init__、__str__、訪問限制、set、get

Day10_Python面向物件、類和物件、init、str、訪問限制、set、get 10.01_Python語言基礎(面向物件思想)(理解) 10.02_Python語言基礎(類和物件)(掌握) 10.03_Python語言基礎(類的構成)(掌握) 10.04_Python語言基礎(

[Python]面向物件程式設計---例項(3)

三、例項 1、__init__() "構造器"方法     當類被呼叫,例項化的第一步是建立例項物件,一旦物件建立了,Python檢查是否實現了__init__()方法。 (1) 如果沒有定義或覆蓋__init__(),則不對例項做任何操作,返回它的物件,例項化過程完畢。

python面向物件程式設計例項:飛機大戰

說明:此則部落格只是自己學習python程式設計的學習記錄,其中完成的程式設計只是飛機大戰的小小小demo,只為自己熟悉python語言和pygame,所以程式並不完善,只當練手和記錄,當然可基於次程式進行後續的完善開發。最後感謝一下hm的python教程。至於程式中的圖片

Python 進階_OOP 面向物件程式設計_self 的例項繫結

目錄 self 和繫結 在 Python 中 self 變數是特殊的, 其用於在例項方法中引用該方法所繫結的例項, 換句話說就是 Python 在例項化物件時會自動的將例項物件傳遞到類體的 self 變數中, 類體中的 self 變數代表了該類的例

python學習筆記05-python面向物件程式設計

1.面向物件程式設計 1. 類和例項 注意,類的所有方法,的第一個引數一定是self。 在呼叫類的方法時,不需要傳入第一個引數self。  #!/usr/bin/env python # -*- coding: utf-8 -*- #定義一個類Student,繼承自

030_面向物件_03_物件的關係

一、概念介紹   a)類:許多相似或相同事物的綜合、.用於性質或特徵相同或相似的事物,此處我們所說的類是對物件的一種抽象。   b)物件:指行動或思考時作為目標的一個具體事物,從認識論角度考慮是先有物件後有類。比如學生這個物件   c)抽象:從具體事物抽出、概括出它們共同的方面、本質屬性與關係等,而將個