首頁 後端開發 Python教學 第二章 python資料類型

第二章 python資料類型

Dec 22, 2016 pm 05:04 PM

第一節    數字和字串類型 

123和「123」一樣嗎

() [] {} 

電腦是用來輔助人們的,在程式設計中也映射了現實世界的分類,以便於抽象的分析。

數字 

字串 

列表 

元組 


> >> num1=123 

>>> type(123) 

 

>>> type(num1) 
 

>>> num2=9999999999999999999999999999999999

>>> num='hello'


>>>示例如上面所示。


>>> num3=123L        這裡我們是以長整數來賦值的 
>>>> type(num3) 
 


>>> num=0.0 

>>> type(num) 

 
>>> num=12 
>>> type(num) 

 

>>

Python對複數提供內嵌支持,這是其他大部分軟體所沒有的: 


複數舉例:3.14j,8.32e-36j 


範例: 

>
>
. >> type(num) 
 

>>> num 

3.14j 
>>> print num 


3.14j 

> a=123 
>>> stra="123" 
>>> print a 
123 
>>> print stra 
123 
>>> a+stra  
Traceback (most recent call last): 
  File "", line 1, in  
TypeError: unsupported operand type(s) for +: 'int' and 'str' 

>>> 

>
>>> type(stra) 

 


字串String 


使用引號定義的一組可以包含數字,字母,符號(非特殊系統符號)的集合。



>>> str1='hello world' 


>>> str2="hello world"

>>> say='let's go'   這樣還包含在這裡包含的錯誤,因為   一個單引號 

  File "", line 1 
    say='let's go' 

             ^ 

Syn         ^        我們將外面的單引號改為雙引號即可 

>>> say="let's "go""        如果我們的雙引號裡面還有雙引號,我們就要使用轉義字了 

  File "", line 1       ^ 

SyntaxError: invalid syntax 
>>> say="let's "go"" 
>>> print say 


let's "go" 


. tom: hello i am jack' 
>>> print mail 
tom: hello i am jack 
>>> mail='tom:n hellon i am jack'      > mail 
'tom:n hellon i am jack' 
>>> print mail 
tom: 
 hello 

 i am jack 

下面我們使用三重引號實現換行的效果: 

>>> mail="""tom: 
...    >> print mail 
tom: 
    i am jack 
    goodbye 

>>> mail       


另外我們在程式碼中也可以用三重引號取註解某一行,也可以使用他做doc資料 

透過索引取值 


>>>> a='abcde'


>>> a[0]  透過索引來取字串裡面的某個值

'a' 

>>> a[1] 

'b' 

>>> a[0]+a[1]        如果我們想要取多個在中間中間可以使用+號做連接 



'ab' 

使用切片進行取值 


>>>> a 


'abcde' 



'abcde' 

+1:步長] 

>>> a[1:4]        這裡我們取bcd,並使用[開始位置:結束位置+1]來取值

'bcd' 

>> a[ 4]        這表示從頭開始到d切割

'abcd' 


>>> a[4:]       2:] 


'cde' 


>>> a[::1]        步長取值,以下步長為2的時候更為清晰 

'abcde' > ] 

'ace' 

>>> a[-4:-1]  透過負數索引取值,這裡我們開始的時候從是從後向前的,-1代表倒數第二個值 

'bcd' 


>>> a[:-1]        從倒數最後一個值切斷,然後顯示前面的值 


'abcd' 


下面取值>>> a[-2:-4:-1]            他是從將所有的數先反過來,然後再進行從第二個位置開始切斷取值到'dc' 第三個位置 

>>> a [-4:-2:1]              他表示在倒數第二個位置切斷 


'bc' 



'bc' 


>> a倒過來取值 


'dcb' 


 

第二節    序列 


a.列表、元組和字串都是切片操作符。 


    ——索引運算子讓我們可以從序列中擷取一個特定項目。 


    -切片運算子讓我們可以取得序列的一個切片,也就是一部分序列。 

c.索引同樣可以是負數,位置是從序列尾開始計算的。

    ——因此,shoplist[-1]表示序列的最後一個元素而shoplist[-2]抓取序列的倒數第二個項目 


d.切片運算元是序列名後跟一個方括號,方括號中有一對可選的數字,並用冒號分割。 


    ——注意這與你使用的索引運算符十分相似。記住數是可選的,而冒號是必須的。 


    -切片運算子中的第一個數字(冒號之前)表示開始的位置,第二個數字(冒號之後)表示切片到哪裡結束。如果不指定第一個數,Python就從序列首開始。如果沒有指定第二個數,則Python會停止在序列尾。 


    ——注意:返回的序列從開始位置開始,剛好在結束位置之前結束。即開始位置是包含在序列切片中的,而結束位置則排斥在切片外。 

    a.shoplist[1:3]返回從位置1開始,包括位置2,但是停止在位置3的一個序列切片,因此返回一個含有兩個項目的切片。 shoplist[:]傳回整個序列的拷貝。你可以用負數做切片。負數用在從序列尾開始計算的位置。例如,shoplist[:-1]會傳回除了最後一個項目外包含所有項目的序列切片。


序列的基本操作 

    1.len():                    連結2個序列 

    3.*:             判斷元素是否在序列中 

    5.max():          傳回最大的值 

      7.cmp(tuplel,tuple2)    比較2個的序列值是否相同 

下面我們來操作: 

>>> a 

'abcde' 
>>> len(a) 

>>> str1='123'>

>>> str1='123'>

>> str1+str2 


'123adbs' 


>>> str1*5       
1就會重複五次

'12312312312str1就會重複五次

'12312312312str1就會被重複五次

'12312312312 # ##################################' 

>>> str2 

'adbs' 



>>> 'c' in str2        檢視'c'這個字元是否在str2這個字串中不在回傳False,在回傳True

False 
>>> 'a' in str2 

True 

>>> 'c' not in str2 
True 
>>> max(str1) 
'3' 

>>> max(str2) ' 

cmp(str1,str2)用於兩個字串的比較 

>>> str1='12345' 
>>> str2='abcde' 
>> -1 


>>> str2='123' 

>>> cmp(str1,str2) 


>>> str2='12345'   

>>> str2='12345'   cmp(str1,str2)         




第三節    元組() 

的元組化

第三節 



    ——元組透過圓括號中以逗號分割的項目定義。 


    ——元組通常用在使語句或使用者定義的函數能夠安全地採用一組值的時候,即被使用的元組的值不會改變。

>>> str2='12345' 
>>> id(str2) 

139702043552192 

>>> str2='123456666'p 43552576 

下面我們開始元組的操作 

首先我們可以看看透過切片出來的姓名,會在長度不同的情況下有空格顯示,這樣我們從裡面取元素是比較困難的 

>>> userinfo="milo 30 male" 

>>> userinfo[:4] 
'milo' 

>>> userinfo1="zou 25 famale" 

>>> userinfo1[:4] 
'zou ' 
>>> t=("milo",30," male")   這裡如果我們使用元組這種定義方式,在取值的時候就會方便很多 
>>> t[0] 
'milo' >> t [2] 

'male' 


創建元組 
    ——一個空元組由一對一的圓括號組成 
        a.如myempty = ()        a.如myempty = ()       ,) 
——一般的元組 
        a.zoo = ('wolf','elephant','penguin') 


      >>> t=()            定義一個空元組 

>>> t1=(2,)        定義一個只有一個元素的元組,這裡要特別注意,那個逗號type(t1) 

 


元組操作 


    -元組和字串型一樣屬於序列型, >>> t=('milo',30,'male') 
>>> t 
('milo', 30, 'male') 

>>> t[1] 

30 
>>> t[11 ]=31        這裡我們在視圖改變年齡的時候發現報錯 

Traceback (most recent call last): 

  File "", line 1, in  
TypeError: 'tuple' obect 5s

('milo', 30, 'male') 

 

>>> name,age,gender=t 

>>>> name 
'milo' male' 


>>> a,b,c=1,2,3 


>>> a,b,c=(1,2,3)        可以定義元組中這兩種方法都可以定義元組,但是我們盡量使用第二種方法 



第四節    序列-元組 

列表[] 



1)

列表[] 


1)是處理一組有序項目中的資料結構,即你可以在一個結構,即你可以處理一組有序項目清單中儲存一個序列的項目。 


2)列表是可變類型的資料 


3)列表的組成:以[]表示列表,包含了多個以逗號分隔開的數字,或字串。


    ——List1=['Simon','David','Clotho','張三'] 


    ——List2=[1,2,3,4,5] 

["str1","str2","str3","str4","str5"] 


>>> listmilo=[]        空白清單的定義 

>>> type(listmiloat)> ['milo',30,'male']        一般清單的定義 
>>> t=('milo',30,'male') 

>>> t[0] 

'milo' 
>> list 0] 

'milo' 

>>> listmilo[0:2]        從清單中取值 
['milo', 30] 

>>> t[0:2] mimi

>

有差別的在下面 


>>> t3=('abc') 

>>> l3=['abc'] 

>>> type(l3)   >>> type(t3) 
 


列表操作 


    ——取值 


    


    ——新增 

        a.list.append () 


    ——刪除 

        a.del(list[]) 

修改 


        a.list[]=x 

    -找出 

        a.var in list 

>>> listmilo[0]      收到
下面我們介紹如何在清單中加入一個元素 


>>>> listmilo 
['milo', 30, 'male'] 

>>> listmilo.append("123444555")

['milo', 30, 'male', '123444555']        這時我們發現listmilo列表中已經新增了第四個元素 

>>> listmilo 
['milo', 30, 'male'] 


>>>> del(listmilo[1])       listmilo 

['milo', 'male'] 


要學會使用help查詢一些語法的使用,例如我們需要查看清單的內部的刪除操作 



>> Help on method_descriptor: 

remove(...) 

    L.remove(value) -- remove first occurrence of value. 

  > help(len )            以如此查看一些內部函數的使用操作 




物件與類快速入門 


1)物件和類別,以更好的理解清單。 


2)物件=屬性+方法 


3)列表是使用物件和類別的範例。 


    ——當你使用變數i並給它賦值的時候,例如賦整數5,你可以認為你創建了一個類別(類型)int的物件(實例)i。 


    ——help(int) 


4)類別也有方法,即僅為類別而定義地函數。 


    -僅在該類別的物件可以使用這些功能。 


    -例如: 


        a.Python為list類別提供了append方法,此方法讓你在清單尾加上一個項目。 


        b.mylist.append('an item')清單mylist中新增字串。注意,使用點號來使用物件的方法。 


5)類別也有變量,僅為類別而定義的變數。 


    -僅在該類別的物件可以使用這些變數/名稱。 


    -以點號使用,例如mylist.field。



第五節    字典{} 


1)字典是python中唯一的映射類型(雜湊表) 


2)字典是python中唯一的映射型態(雜湊表) 


2)字典對字典必須使用不使用的字典對象,並且在一個字典中可以使用不同類型的鍵值。 


3)key()或 values()回傳鍵列表或值列表 


4)items()傳回包含鍵值對的元組。


 

建立字典: 

    - {} 

    - 使用工廠方法 ',2]) 

    - 內建方法:fromkeys(),字典中的元素具有相同的值,預設為None 

        範例:ddict={}.fromkeys(('x','y'),

>>> dic={0:0,1:1,2:2}        這裡我們定義了一個字典{key:value,key:value,key:value} 

>>> dic[0] 

0 >>> dic[1] 


>>> dic[2] 


>>> dic1={'name':'milo','age':25,'gender':'male'}這樣定義會比較有意義一些 


>>> dic1['name']        我們值的時候更有目的性 

'milo' 
>>> dic1['age'] 

'milo' 

>>> dic1['age'] 
'milo' 

>>> dic1['age'] 

'milo' 
> dic1['gender'] 

'male' 


>>> dic2={1:'123','name':'milo','x':456} 

>>> dic2 

{1: '123', 'name': 'milo' , 'x': 456} 

接下來我們看另一個例子: 

>>> a=1            這裡我們先定義兩個變數
>       :'aaa','b':'bbb'}        如果a沒有定義這裡會出現錯誤 

>>> dic3[1] 
'aaa' 

🠎🠎看到差異了,其實在字典裡面,他並沒有使用b之前定義的值


Traceback (most recent call last): 
  File "", line 1, in  

KeyError: 20

> '] 

'bbb' 

>>> dic1 
{'gender': 'male', 'age': 25, 'name': 'milo'} 
>> 使用字典的方便了 
...     print k 
... 
gender 
age 
name 
>>> for k in dic1:    
'male' 
25 
'milo' 





更新與刪除: 

    - 直接以鍵值存取更新;內建的uodate()方法可以將整個字典的內容拷貝到另一個字典中。


    - del dict1['a']刪除字典中鍵值為a的元素 


        a.   b.    dict1. clear()刪除字典所有元素 


        c.    del dict1刪除整個字典 


>>> l 
[1, 2, 53, most recent call last): 

  File "", line 1, in  

IndexError: list assignment index out of range 
>>> dic1 

{'gender': 'male', 'name': 25, 'name: 'male', 'name': 'male', 'name': 'male' milo'} 

>>> dic1['tel']='123454565'      在這裡我們看到在使用字典的時候可以這樣加一個值無報錯 
>>> dic1 

{'gender': 'male', ' age': 25, 'tel': '123454565', 'name': 'milo'} 



我們看到他並不是增加到最後面的,因為字典中它本身並不是固定的,字典的無序性,hash型的值,透過字典的key可以直接操作字典裡面的元素 


>>> dic1['tel']='888888888' 
>>> dic1 


{'gender: ' , 'age': 25, 'tel': '888888888', 'name': 'milo'} 



>>> dic1.pop('age')     

>>> dic1.pop('age')     裡面就沒有age這個鍵值了


25 
>>> dic1 

{'gender': 'male', 'tel': '8888888888', 'name': 'milo'} 

>>> dic1.clear( )        清空字典 
>>> dic1 

{} 

>>> del(dic1)         
NameError: name ' 。鍵、值)。

工廠函數dict(): 



    - 例如:dict(zip('x','y'),(1,2))或dict(x=1,y 'y':2,'x':1} 

    -    使用字典產生字典比用copy慢,因此這種情況下建議使用copy()。 


1)len(),hash()(用於判斷某個物件是否可以做一個字典的鍵,非雜湊型別報TypeError錯誤)。 

2)dict.clear():刪除字典中所有元素。 

3)dict.fromkeys(seq,val=None):以seq中的元素為鍵建立並傳回一個字典,val為製定的預設值。

4)dict.get(key,default=None):傳回key的value,如果該鍵不存在傳回default指定的值。 

5)dict.has_key(key):判斷字典中是否有key,建議使用in和not in代替。 

6)dict .items():傳回鍵值對元組的清單。 

7)dict.keys():傳回字典中鍵的列表。 

8)dict.iter*():iteritems(),iterkeys(),itervalues()回傳迭代而不是列表。 

9)dict.pop(key[,default]):同get(),差異是若key存在,刪除並回傳其dict[key],若不存在切default未指定值,則拋出KeyError異常。 

10)dict.setdefault(key,default=None):同set(),若key存在則回傳其value,若key不存在,則dict[key]=default。 

11)dict.update(dict2):將dict2中的鍵值對加到字典dict中,如果有重複覆蓋,原字典不存在的條目加入。 

12)dict 。 values() :傳回字典所有值的清單。


>>> dic.get(3)        我們檢視字典 

>>> dic.get(3,'error') 

其他的例子我們可以練習一下,如果不懂我們可以使用help這個功能。


>>> dic1={'a':123,'b':456,1:111,4:444} 

>>> dic1.keys() 
['a', 1, 'b', 4] 

>>> dic1.values() 

[123, 111, 456, 444] 



 以上是中文python資料類型 的內容,相關內容更多相關內容www.Pwww. cn)!


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1253
24
PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

sublime怎麼運行代碼python sublime怎麼運行代碼python Apr 16, 2025 am 08:48 AM

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Golang vs. Python:性能和可伸縮性 Golang vs. Python:性能和可伸縮性 Apr 19, 2025 am 12:18 AM

Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

See all articles