python概念与术语,python之基础篇(四)
防偽碼:忘情公子著
本篇我們來說說python的內置對象類型及其運算。
python有許多的內置類型,我們?yōu)槭裁匆褂脙戎妙愋湍?#xff1f;python編程時是盡量去使用自定義類型還是盡可能多的使用內置類型呢?
內置類型對python本身來講它的理解能力更好一點,對其執(zhí)行時所能夠帶來的性能上也會更好一點。所以,除非內置類型無法提供特殊對象處理時,一般而言最好都用內置類型。因為內置類型使得其內置對象程序更容易編寫,另外,內置類型、內置對象是擴展組件,內置對象往往比自己開發(fā)的那種數據結構,在執(zhí)行時更有效率。
python對象的相關術語:
python程序中保存的所有數據都是圍繞對象這個概念展開的:
程序中存儲的所有數據都是對象。
每個對象都有一個身份、一個類型和一個值。
例如,school="cheqiao"會以"cheqiao"創(chuàng)建一個字符串對象,其身份是指向它在內存中所處位置的指針(其在內存中的地址),而school就是引用這個具體位置的名稱。
對象的類型也稱對象的類別,用于描述對象的內部表示及它支持的方法和操作。
創(chuàng)建特定類型的對象時,有時也將該對象稱為該類型的實例。
實例被創(chuàng)建后,其身份和類型就不可改變
如果對象值是可修改的,則稱為可變對象;
如果對象值不可修改,則稱為不可變對象
如果某個對象包含對其它對象的引用,則將其稱為容器。
大多數對象都擁有大量特有的數據屬性和方法
屬性:與對象相關的值。在對象實例化時,在對象內部可以使用的變量的變量名稱就稱之為對象的屬性。
方法:被調用時將在對象上執(zhí)行某些操作的函數。
使用點(.)運算符可以訪問屬性和方法。
對于python而言,每一種數據類型都是由類來進行定義的。所以在python中類和類型是不加區(qū)分來使用的,它們指的都是同一個意思。
類由屬性和方法組成:
屬性(內置的數據):與對象相關的值。在對象實例化時,在對象內部可以使用的變量的變量名稱就稱之為對象的屬性。在對象(實例)初始化時,由初始化過程來做賦值
方法:被調用時將在對象上執(zhí)行某些操作的函數。實例的調用接口,實例所屬類型所支持的操作
類必須要實例化成對象,而這些實例對象其內部的數據不同,所以它們才稱為不同的實例。
對實例內部的數據可以執(zhí)行某些類型的操作,這些操作只能是附加在這些實例上的操作,這些操作是由類在內部定義的。
一個對象在內存中存儲,如果有變量名指向它,它就被引用了。
當某一個對象不被引用或其引用技術為0時,這個對象則變成了可被垃圾回收器回收的對象。
點號(.)運算符:可以用來訪問對象的屬性和方法。
屬性:數據
方法:操作。使用點號運算符調用方法時,必須在后面加上(),如list.pop()
可調用對象:使用callable()函數測試對象是否可調用。
對于屬性來說,通過點號運算符來訪問時返回一個數據,若想顯示則要使用print語句;
對于方法來說,調用時則執(zhí)行對應方法內部的代碼。
使用內置函數dir()來獲取對象支持的屬性和方法。
使用內置函數help()來獲取某方法的具體使用幫助。
對象的身份與類型:
python內置函數id()可返回一個對象的身份,即該對象在內存中的位置
is運算符用于比較兩個對象的身份;
type()用于返回一個對象的類型;
對象類型本身也是一個對象,稱為對象的類
該對象的定義是唯一的,且對于某類型的所有實例都是相同的
所有類型對象都有一個指定的名稱,可用于執(zhí)行類型檢查,如list、dictif?a?is?b:
statements
if?a?==?b:
statements
if?type(a)?is?type(b):
statements
python核心數據類型:
對象類型例子
數字3077,3.14,300000
字符串'baidu.com',"spam"
列表['one','two','three']
字典{'course':'linux','tutor':'baidu','age':42}
元組(32,'spam','eggs')
文件myFile=open('/tmp/tfile','r')
集合set('abc'),{'a','b','c'}
其它類型類類型、None、布爾型
編程單元類型函數、模塊、類
與實現相關的類型編譯的代碼堆棧跟蹤
python是一個強類型的語言,很多時候我們需要顯式地對類型進行轉換。
比如一個數字和一個字母相運算,這是個拋出異常的。因為此兩者不是同一種類型,在python中不同類型之間是無法進行運算的。In?[1]:?a?=?'123'
In?[2]:?type(a)
Out[2]:?str
In?[3]:?print?1?+?a
---------------------------------------------------------------------------
TypeError?????????????????????????????????Traceback?(most?recent?call?last)
?in?()
---->?1?print?1?+?a
TypeError:?unsupported?operand?type(s)?for?+:?'int'?and?'str'
此時如果我們將類型進行顯式的轉換一下,就可以完成運算了。In?[1]:?a?=?'123'
In?[2]:?type(a)
Out[2]:?str
In?[3]:?print?1?+?a
---------------------------------------------------------------------------
TypeError?????????????????????????????????Traceback?(most?recent?call?last)
?in?()
---->?1?print?1?+?a
TypeError:?unsupported?operand?type(s)?for?+:?'int'?and?'str'
In?[4]:?b?=?int(a)
In?[5]:?type(b)
Out[5]:?int
In?[6]:?print?1?+?b
124
python中類型顯式轉換常用的內置函數有以下這些:
str(),repr()或format():用于將非字符串轉換成字符串
str()的結果與print的結果一樣;
repr()表示某個對象的精確值;
format()利用特定格式將其轉換成字符串
int():轉換成整數
float():轉換成浮點數
list(s):將字符串s轉換成列表
tuple(s):將字符串s轉換成元組
set(s):將字符串s轉換成集合
frozenset(s):將字符串s轉換成不可變集合
dict(d):根據指定的鍵值對創(chuàng)建字典,這里的d必須是(key,value)的元組序列,如d = (('a',1),('b',2),('c',3))或d = [('a',1),('b',2),('c',3)]
ord(x):將字符x轉換成整數值
hex(x):將整數x轉換成十六進制字符串
bin(x):將整數x轉換成二進制字符串
oct(x):將整數x轉換成八進制字符串
總結
以上是生活随笔為你收集整理的python概念与术语,python之基础篇(四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python如何在官网下载1005无标题
- 下一篇: 查看mysql日志大小,SQL Serv