05 Python的核心資料型別 元組 檔案

2021-08-15 22:32:02 字數 3410 閱讀 2954

元組物件,是乙個不可以改變的列表。和列表一樣,元組是序列,但是它具有不可變性,和字串類似。

我們來定乙個元組:

>>> t = (1,2,3,4)    #定義乙個元組

>>> t

(1, 2, 3, 4)

>>> len(t)

4>>> t + (5,6) #網元組中新增元素

(1, 2, 3, 4, 5, 6)

>>> t[0]

1

元組有兩個專有的,可呼叫的方法:

>>> t.index(4)   #獲取第一次出現4的索引

3>>> t.count(4) #獲取出現過幾次

1

當然,元組是不可變的:

>>> t[0] = 2

traceback (most recent call last):

file "", line 1, in

typeerror: 'tuple' object does not support item assignment

元組存在的意義在於,它提供了一種完整性的約束,如果程式以列表的形式傳遞乙個物件的集合,它可能在任何地方改變,如果使用元組的話,是不能改變的。

檔案物件是python**對電腦上外部檔案的主要介面。雖然檔案是核心型別,但是它很特殊:沒有特定的常量語法建立檔案,需呼叫內建的open函式以字串的形式傳遞給他乙個外部的檔名以及乙個處理模式的字串。例如,建立乙個文字輸出檔案,可以傳遞其檔名以及『w』 處理模式字串以寫資料:

>>> f = open('data.txt', 'w')   #使用寫模式建立檔案

>>> f.write('hello\n') #寫入,返回字元個數

6>>> f.write('world\n')

6>>> f.close()

>>> f = open('data.txt')

>>> txt = f.read()

>>> txt

'hello\nworld\n'

>>> print(txt)

hello

world

>>> txt.split()

['hello', 'world']

檔案的開啟方式有以下幾種:

模式描述

r唯讀。指標在檔案開頭

rb二進位制格式唯讀。指標在檔案開頭

r+讀寫。指標在檔案開頭

rb+二進位制讀寫。指標在檔案頭

w寫。如果檔案存在,覆蓋,如果檔案不存在,建立新檔案

wb二進位制格式寫。如果該檔案已存在則覆蓋,如果不存在,建立新檔案

w+讀寫。如果該檔案已存在則將其覆蓋。如果該不存在,建立新檔案

wb+二進位制格式讀寫。如果檔案已存在則覆蓋。如果該不存在,建立新檔案。

a追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。

ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。

如果要看所有檔案支援的方法,可以使用dir:

>>> dir(f)

['_chunk_size', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '_

_doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattrib

ute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '

__iter__', '__le__', '__lt__', '__ne__', '__new__', '__next__', '__reduce__', '_

_reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclassho

ok__', '_checkclosed', '_checkreadable', '_checkseekable', '_checkwritable', '_f

inalizing', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno

', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'rea

dable', 'readline', 'readlines', 'seek', 'seekable', 'tell', 'truncate', 'writab

le', 'write', 'writelines']

集合是唯一的不可變的物件的無序集合。集合可以通過呼叫內建set函式而建立,或者使用python3中新的集合常量和表示式建立,並且他支援一般的資料集合操作如:交、並等。

我們來定乙個集合:

>>> x = set('spam')      #建立乙個集合

>>> y = #python3.0

>>> x, y

(, )

>>> x & y

>>> x | y

>>> x - y

>>>

集合可以新增物件,但是不能新增重複物件:

>>> x.add('v')    #新增元素

>>> x

>>> x.add('v') #再次新增,將不會重複新增

>>> x

數字字串列表字典元組檔案,集合一般被認為是核心物件(資料)型別。他們是python語言自身的一部分,並且總是有效的。

python中的數字,字串,和元組都屬於不可變物件,他們一點唄建立後,不能改變。

乙個「序列」是乙個對位置進行排序的物件的集合。字串,列表和元組是python中所有的序列,他們都擁有一般的序列操作,例如,索引,合併,以及分片。

python核心資料型別

序列運算子 本文採用版本pyton3.5 數字 int,long,float,complex,bool 字元 str,unicode 列表 list 字典 dict 元組 tuple 檔案 file 其他型別 集合 set frozenset,類型別,none str repr 或format 將非...

Python核心資料型別 概覽

python的核心資料型別有 數字,字串,列表,字典,元組,檔案等。物件型別 例子 可變性 數字345,3.45,345l,3 4j 不可變字串 spam eggs 不可變列表 1,a b 2 可變字典 可變元組 1,2,spam 不可變檔案 myfile open data r w 內建函式var...

php核心 資料型別

結構體內每乙個變數都獨佔一塊記憶體,並保持記憶體對齊 聯合體內所有變數公用同一塊記憶體,占用記憶體大小為聯合體中占用記憶體最大的變數的記憶體大小 每個變數的結構定義 struct zval struct u v uint32 t type info u1 union u2 zend value表示變...