一、什么是python對象
在python中,構造的任何類(lèi)型的值都是一個(gè)對象,。比如一個(gè)整數類(lèi)型的值,一個(gè)字符串,一個(gè)列表等,都可以看做是對象。
所有的對象分為三部分:
(1)身份。每個(gè)對象都有個(gè)標識自己的id。可用內建函數id()查看
(2)類(lèi)型。可用type()查看
(3)值。對象用來(lái)存放數據,當然其最主要的數據就是它的值。
二、標準類(lèi)型
數字,整型,布爾型,長(cháng)整型,浮點(diǎn)型,復數性,字符串,列表,元組,字典,模塊,類(lèi)
三、切片對象
步進(jìn)切片,多維切片
(1)步進(jìn)切片sequence[起始索引:結束索引:步進(jìn)值]
>>> list1 = [1,2,3,4,5,6,7,8]>>> list1[0:7:2][1, 3, 5, 7]
(2)多維切片 sequence[star1:end1,start2:end2]
四、標準類(lèi)型內建函數
(1)type()返回類(lèi)型
(2)cmp(a,b)如果a>b,則返回正整數,如果a</b,則返回負整數
(3)str()轉換為字符類(lèi)型
五、類(lèi)型工廠(chǎng)
int(),long,float(),
《python核心編程——python對象》(.unjs)。。。。
作者:廖雪峰 字體:[增加 減小] 類(lèi)型:轉載
這篇文章主要介紹了簡(jiǎn)述Python中的面向對象編程的概念,面向對象編程是Python的重要特性,需要的朋友可以參考下
面向對象編程——Object Oriented Programming,簡(jiǎn)稱(chēng)OOP,是一種程序設計思想,。OOP把對象作為程序的基本單元,一個(gè)對象包含了數據和操作數據的函數。
面向過(guò)程的程序設計把計算機程序視為一系列的命令集合,即一組函數的順序執行。為了簡(jiǎn)化程序設計,面向過(guò)程把函數繼續切分為子函數,即把大塊函數通過(guò)切割成小塊函數來(lái)降低系統的復雜度。
而面向對象的程序設計把計算機程序視為一組對象的集合,而每個(gè)對象都可以接收其他對象發(fā)過(guò)來(lái)的消息,并處理這些消息,計算機程序的執行就是一系列消息在各個(gè)對象之間傳遞。
在Python中,所有數據類(lèi)型都可以視為對象,當然也可以自定義對象。自定義的對象數據類(lèi)型就是面向對象中的類(lèi)(Class)的概念。
我們以一個(gè)例子來(lái)說(shuō)明面向過(guò)程和面向對象在程序流程上的不同之處。
假設我們要處理學(xué)生的成績(jì)表,為了表示一個(gè)學(xué)生的成績(jì),面向過(guò)程的程序可以用一個(gè)dict表示:
std1 = { ‘name‘: ‘Michael‘, ‘score‘: 98 }std2 = { ‘name‘: ‘Bob‘, ‘score‘: 81 }
而處理學(xué)生成績(jì)可以通過(guò)函數實(shí)現,比如打印學(xué)生的成績(jì):
def print_score(std): print ‘%s: %s‘ % (std[‘name‘], std[‘score‘])
如果采用面向對象的程序設計思想,我們首選思考的不是程序的執行流程,而是Student這種數據類(lèi)型應該被視為一個(gè)對象,這個(gè)對象擁有name和score這兩個(gè)屬性(Property),
《簡(jiǎn)述Python中的面向對象編程的概念》(.unjs)。如果要打印一個(gè)學(xué)生的成績(jì),首先必須創(chuàng )建出這個(gè)學(xué)生對應的對象,然后,給對象發(fā)一個(gè)print_score消息,讓對象自己把自己的數據打印出來(lái)。
class Student(object): def __init__(self, name, score): self.name = name self.score = score def print_score(self): print ‘%s: %s‘ % (self.name, self.score)
給對象發(fā)消息實(shí)際上就是調用對象對應的關(guān)聯(lián)函數,我們稱(chēng)之為對象的方法(Method)。面向對象的程序寫(xiě)出來(lái)就像這樣:
bart = Student(‘Bart Simpson‘, 59)lisa = Student(‘Lisa Simpson‘, 87)bart.print_score()lisa.print_score()
面向對象的設計思想是從自然界中來(lái)的,因為在自然界中,類(lèi)(Class)和實(shí)例(Instance)的概念是很自然的。Class是一種抽象概念,比如我們定義的Class——Student,是指學(xué)生這個(gè)概念,而實(shí)例(Instance)則是一個(gè)個(gè)具體的Student,比如,Bart Simpson和Lisa Simpson是兩個(gè)具體的Student:
所以,面向對象的設計思想是抽象出Class,根據Class創(chuàng )建Instance。
面向對象的抽象程度又比函數要高,因為一個(gè)Class既包含數據,又包含操作數據的方法。
小結
數據封裝、繼承和多態(tài)是面向對象的三大特點(diǎn),我們后面會(huì )詳細講解。
學(xué)習?shū)B(niǎo)網(wǎng)站是免費的綜合學(xué)習網(wǎng)站,提供各行各業(yè)學(xué)習資料、學(xué)習資訊供大家學(xué)習參考,如學(xué)習資料/生活百科/各行業(yè)論文/中小學(xué)作文/實(shí)用范文實(shí)用文檔等等!
寫(xiě)作基礎 | 作文指導 |
寫(xiě)作經(jīng)驗 | 寫(xiě)作方法 |
文學(xué)常識 |
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:0.230秒