Python的物件型別

2021-08-04 10:55:33 字數 3236 閱讀 5172

數字—-1234, 3.1415, 3+4j

字串(str)—-『spam』

列表(list)—-[1, [2, 『three』], 4]

字典(dict)—-

元組(tuple)—-(1, 『spam』, 4)

檔案(file)—-myfile = open(『filename』, 『r』)

其他型別:集合(set)、none、布林型

****

python沒有型別宣告,物件的型別由表示式決定。一旦建立了乙個物件,它就只能有固定的操作——只可以對字串進行字串相關的操作,對列表進行列表相關的操作。

包括:整型、浮點型、長整型、複數

注意:2**100 # 2的100次方

結果是1267650600228229401496703205379l,末尾的「l」,當需要額外的精度時,python自動將整型公升級為長整型。

>>>3.1415 * 2 # repr,以全精度的形式顯示

6.283000000000000004

>>>print 3.1415 * 2 # str,以使用者友好的形式顯示

6.283

repr和str函式都會把任意物件變換成它們的字串表達

字串作為一種序列,可以用索引操作得到某個字元

>>> s = 'spam'

>>>len(s)

4>>>s[0] # 第乙個字元

's'>>>s[-1] # 倒數第乙個字元

'm'>>>s[1:3] # 切片

'pa'

注意:字串在python中不可變,但是可以建立乙個新的字串並以同乙個變數名對其賦值

>>>s = 'spam'

>>>s[0] = 'z'

...error text omitted...

typeerror:'str'object does not support item assignment

>>>s = 'z' + s[1:]

>>>s

'zpam'

s.find('pa')  # 返回傳入子字串的第乙個字元的下標

s.replace('pa','xyz') # 返回替換後的字串

s.upper() # 返回大寫的字串

s.lower() # 返回小寫的字串

s.strip() # 返回去掉空格、換行符的字串

s.split(',') # 當字串中含有「,」時,按「,」分割字串,返回乙個列表

列表是序列的一種,列表支援前述對字串的切片、索引操作,列表是可變的。

列表沒有固定的大小,但不許引用不存在的元素

l.pop(2) # 刪除列表中索引為2的元素

l.inser(1,'ni) # 在列表索引為2的位置插入元素'ni'

l.remove('ni') # 刪除元素'ni'

l.sort() # 預設按照公升序排序

l.reverse() # 對列表進行反轉

m[[1,2,3],[4,5,6],[7,8,9]]  # 二維陣列

m[1] = [4,5,6]

m[1][2] = 6

實際上是生成器的一種形式

>>>col_2 = [row[1] for row in m]

>>>col_2

[2,5,8]

>>>[row[1] for row in m if row[1] % 2 == 0]

[2,8]

字典是一種對映。

字典通過鍵而不是相對位置來儲存,因此字典中元素的順序會發生變化。

字典具有可變性。

>>>d =

>>>d['food'] # 字典通過鍵來獲取值

'spam'

>>>d['country'] = 'china' # 對新的鍵賦值會建立該鍵

>>>d

字典與字典、字典與列表可以進行巢狀

>>>rec = ,

'job': ['dev', 'mgr'],

'age': 40.5}

>>>rec['name']['last']

'smith'

>>>ks = d.keys()  # 返回鍵的列表

>>>ks.sort() # 對鍵進行排序

>>>for key in ks:

# some codes

這3步可以合併為乙個操作:

>>>for key in sorted(d):

# some codes

>>>d.has_key('f')

false

不可改變的列表。

元組是序列,但不可變。

**使用元組的原因:提供完整性約束**

檔案物件是python**對電腦上外部檔案的主要介面。

呼叫內建的open函式建立乙個檔案物件以字串的形式傳遞乙個外部的檔名以及乙個處理模式的字串。注意:以相對路徑給出檔名,檔案需要放在py檔案的同一目錄下。

f = open('filename', 'rb')

f = open('filename', 'wb')

對檔案物件有多種操作

f.read()

f.readline()

f.readlines()

f.write()

數學意義上的集合,元素具有唯一性、無序性。

set支援一般的數學集合操作:

>>>x = set('spam')

>>>y = set(['h', 'a', 'm'])

>>>x & y

set(['a', 'm'])

>>>x | y

set(['a', 'p', 's', 'h', 'm'])

>>>x - y

set(['p', 's'])

>>>x = none

>>>print x

none

>>>type(x)

python物件型別 Python物件型別

因為python3.0與python2.x在語法等方面還是有一定的差別,而我的系統中裝的是python2.7,因此筆記基本已python2.7版本為主。python 中的變數是動態的,而非靜態的。意思就是說,在變數賦值之前無需進行變數型別的定義,賦給變數什麼型別,它就是什麼型別的。事實上,在pyth...

python物件型別

在python中一切皆物件 python程式可以分解為 模組 語句 表示式 物件 內建物件即語言的組成部分 python中常用的內建物件 數字 字串 列表 字典 元組 檔案 集合等 python程式中處理的每一樣東西都是物件,而使用內建物件使python程式設計更加簡單。在python中沒有型別宣告...

python物件型別

一.內建物件 物件型別 分類是否可變 例子數字數值否 123,3.12 字串序列 否 test test s 列表序列 是 1,2,3,1,2,test 字典對應是元組 序列否 1,2,3,1,2,3 檔案擴充套件 n afile open filename 集合集合 是set test froze...