1. 程式人生 > >Python學習(二)

Python學習(二)

info 索引 數據 影響 ans sans 緩存 偏移 png

目錄

一、基本數據類型

二、


一、基本數據類型

1、數字

int(整型)

  在32位機器上,整數的位數為32位,取值範圍為-2**31~2**31-1,即-2147483648~2147483647;在64位系統上,整數的位數為64位,取值範圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807

long(長整型)

  Python的長整數沒有指定位寬,即:Python沒有限制長整數數值的大小,但實際上由於機器內存有限,我們使用的長整數數值不可能無限大。

  自從Python2.2起,如果整數發生溢出,Python會自動將整數數據轉換為長整數,所以如今在長整數數據後面不加字母L也不會導致嚴重後果了。

float(浮點型)

  浮點數用來處理實數,即帶有小數的數字。類似於C語言中的double類型,占8個字節(64位),其中52位表示底,11位表示指數,剩下的一位表示符號。

complex(復數)

  復數由實數部分和虛數部分組成,一般形式為x+yj,其中的x是復數的實數部分,y是復數的虛數部分,這裏的x和y都是實數。

註:Python中存在小數字池:-5 ~ 257

  小整型對象池:在實際編程中,數值比較小的整數,比如1,2,10,29等,可能會非常頻繁的出現。而在Python中,所有的對象都存在於系統堆上。如果某個小整數出現的次數非常多,那麽Python將會出現大量的malloc/free操作,這樣大大降低了運行效率,而且會造成大量的內存碎片,嚴重影響Python的整體性能。所以在Python2.5乃至3.3中,將小整數位於[-5,257)之間的數,緩存在小整型對象池中。

>>> print(type(101))
<class ‘int‘>
>>> print(type(3.14))
<class ‘float‘>
>>> print(type(3j + 4))
<class ‘complex‘>
>>> print(type(True))
<class ‘bool‘>

2、布爾值

布爾值只有兩種結果,即True和False,其分別對應與二進制中的1和0。常用在條件或循環中作為條件判斷。對於真(True)的值太多了,我們只需要了解假(Flase)的值,即None、’’、[]、()、{}以及 0.

3、字符串

Python 中字的字符串是由引號(單引號 ‘ 或 雙引號 " )與引號中的字符一起組合而成,引號只是字符串的一種表示方式,不是字符串的一部分。

萬惡的字符串拼接:

python中的字符串在C語言中體現為是一個字符數組,每次創建字符串時候需要在內存中開辟一塊連續的空,並且一旦需要修改字符串的話,就需要再次開辟空間,萬惡的+號每出現一次就會在內從中重新開辟一塊空間。

(1)創建字符串

使用‘ ’或者“ ”來創建字符串

name =‘hello,world‘
print(name)          #結果 hello,world

(2)切片

切片操作符:[] [:] [::] (中括號包左不包右=包頭不包尾=左閉右開),調用內置函數slice()函數。

下列表格name代表字符串,index代表偏移量(索引),偏移量為正代表以開始為起點,偏移量為負代表以結束為起點。

技術分享圖片

基本用法

name ="hello,world"
#獲取切片,復數代表倒數第幾個,從0開始
print(name[1])             #結果e
print(name[-1])            #結果d
#從第一個到倒數第二個,不包含倒數第二個
print(name[0:-2])          #結果hello,wor
#序列從索引為-2開始,以-1為步長,到索引為-6結束,不包括索引為-6的值
print(name[-2:-6:-1])      #結果lrow

Python學習(二)