日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

最实用的Python基础讲解,带你轻松学完数据类型

發布時間:2024/3/24 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最实用的Python基础讲解,带你轻松学完数据类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python 的數據類型

1. 數字類型

2. 字符串類型

3. 布爾類型

4. 列表

5. 元組

6. 字典

7. 集合


python 語言的好處,對變量不用事先定義,隨用隨定義,也不用特意用分號做語句末端的分隔,大部分用換行和縮進來規范代碼的編寫,自己識別,編譯工具也非常友好(如:Pycharm)。但從內存使用的出發角度來說,它會在編譯器中自動做判斷,這就是它速度慢的原因。


下面舉例在C語言中和python語言中的定義:

C: Python:int a = 2; a = 2 #只給 a 賦值 2,但編譯器不知道a的數據類型float b = 2.1; #它會在內存中一直判斷a的數據類型,最終判斷為int型/* 簡單明了,直接內存分配*/

1. 數字類型

1.1 數字整型 :int用于定義整數的關鍵字,如:2,3,51.2 浮點型: float , double用于定義小數的關鍵字,但 float 與 double精度不同。1.3 精度 :float和double的精度是由尾數的位數來決定的。浮點數在內存中是按科學計數法來存儲的,其整數部分始終是一個隱含著的“1”,由于它是不變的,故不能對精度造成影響。 float:2^23 = 8388608,一共七位,這意味著最多能有7位有效數字,但絕對能保證的為6位,也即float的精度為6~7位有效數字;double:2^52 = 4503599627370496,一共16位。同理,double的精度為15~16位。
但是python的編譯環境是非常友好的,它會自己幫你轉化,所以我們可以直接賦值直接用,但由于精度的原因,也會造成精度的丟失

2. 字符串類型

2.1 String 類型,在python中簡寫成 str 。用于定義字符串的關鍵字。用單引號和雙引號引起來。
定義方式: a = “Hello_world!” 或 a = ‘Hello_world’
但如果我們要輸入 I’m fine 該怎么辦呢? 這里有兩種方法:
(1)用雙引號在外邊引起來,但必須是成雙成對出現:
print(" I’m fine ")
(2)用轉義符 ’ ’ 來轉義字符實現輸出:
print(’ I’m fine ')

2.2 字符串的轉換,如想將整型數字和字符串連接起來,可以有兩種方法來操作:
第一種方法:用 ‘ + ’連接,并將數字類型前用str()將其轉換成字符串類型,否則會報錯:數據類型不合法
b = 163
c = “cm”
print( str(b)+c ) ## 163cm
第二種方法:用 字符內部函數 join 來實現字符串的連接
d = “小明”
e = “is handsome”
print(d.join(e)) ##小明is handsome

2.3 字符串的內置方法在后續更新中將會全部一 一講解。


3. 布爾類型

雖然整型、浮點型和數字類型有無數種可能的值,但 '布爾’數據類型只有兩種值:True和False。Boolean的首字母要大寫。
print(7>6) ##True
print(1==3) ##False
同樣也可以用于其他類型的Boolean操作。


4. 列表

4.1 列表是什么?
"列表"是一個值,它包含多個字構成的序列。術語“列表值”指的是列表本身,而不是指列表內的那些值。列表看起來像這樣:[‘cat’ , ‘dog’ , ‘bat’]。列表用左方括號開始,右方括號結束,即[ ]。列表中的值也成為“表項”。表項之間用逗號分隔開。
定義方法: 變量名 = [ 表項 ] 如: animals = [‘cat’ , ‘dog’ , ‘bat’]

4.2 查列表內容
4.2.1 用下標取得列表中的單個值

animalscatdogbat
索引值012

animals[0] = cat
animals[1] = dog
animals[2] = bat
切記,下標只能是整數且從0開始,不能是浮點數。如果使用的下標超出了列表中值的個數,Python將給出IndexError出錯信息。

4.2.2 用切片遍歷列表a = [ '1', 'aa', 'tt', 'zhw' ,'yyh'] 切片有三種方式:(1)[x:y] : 從 x 到 y-1 制作為切片如:print(a[1:3]) ## [ 'aa' , 'tt' ] (2)[ : ] :切取全部元素(3)[ x : y : n ] :從 x 到 y-1 ,每 n 個取一個制作切片如:print([ 0 : 5 : 2]) ##[ '1' , 'tt' , 'yyh']4.2.3 倒序切片a = [ '1', 'aa', 'tt' ] 對于 list,Python支持 list[-1]取倒數第一個元素,它同樣也支持倒數切片。(1)a[ -2: ](2)a[ : -2](3)a[ -4 : -1 : 2]這里三種倒序切片方式同4.2.2 ,大家自行思考。也歡迎在評論區探討答案。4.3 對列表操作:增加,刪除,修改,引用,排序的內置方法及操作。a = [ '1', 'aa', 'tt' ] 創建一個列表 a ,每次操作默認用此處的列表 a,除個別新建列表。這里提到的index為下標值4.3.1 增加(1)a.append() ##在末尾追加如:a.append('zz') print(a) ## [ '1', 'aa', 'tt' ,'zz'](2)a.insert(index,'內容') ##插入下標位置 ,用于準確位置插入內容如:a.insert(1,'zz')print(a) ##[ '1', 'zz','aa', 'tt' ](3)a.extend() ##擴展,將擴展的字符串的每個單位拆分成單個字符追加到列表尾部如:a.extend('zz')print(a) ## [ '1', 'aa', 'tt' ,'z', 'z']4.3.2 刪除 (1)remove('內容') (2)pop(index) ##拋出的值可以使用pop出去的值可以傳參給一個變量使用如:reuse = a.pop[1]print(reuse) ## aa我們可以再打印一下原來的a,會發現拋出了 ‘aa’。(3)del a, del a[index]del a 是直接將a刪除,如果我們再打印則會報錯:name 'a' is not defined 。del a[index] 可以準確快速刪除指定位置的表項。(4)a.clear() ##清空列表此操作會清空列表 a 的表項,但會保留列表,如果再打印列表 a ,將會打印出一個空列表。4.3.3 修改(1)a[index] = '新的值'準確快速地修改指定位置的表項。(2)a[start:end] = [a,b,c]從下標為start的到end-1下標的內容修改,有幾個元素填幾個內容。此處舉例為3個,a,b,c。4.3.4 引用a = ['dog' , 'cat' , 5]b = aprint(a) ## ['dog' , 'cat' , 5]當你將列表賦給一個變量時,實際上是將列表的“引用”賦給了該變量。引用是一個值,指向某些數據。列表引用時指向一個列表的值。4.3.5 排序sort() #從小到大排序 或按ASCII表reverse() #將列表里的元素倒過來

5. 元組

5.1 元組(Tuple)與列表十分相似,但有一個特別明顯的區別在于,元組一旦初始化就不可以修改。列表是“可變的”數據類型,元組是“不可變的”數據類型,它就像定義一個字符串一樣,一旦定義出來就不能被更改。

5.2 元組的定義變量名 = ( 元組內容)如:vagetables = ( 'tomoto', 'potato','mushroom' )由于只能查看調用元組內容,方法與列表一樣。5.3 用 list() 和 tuple() 函數來轉換類型函數 list() 和 tuple() 將返回傳遞給它們的值的列表和元組版本。tuple ( [ 'dog', 'cat', 5 ] ) ----->('dog' , 'cat' , 5)list [ ( 'dog' , 'cat' , 5 ) ] ----->['dog' , 'cat' , 5]

6. 字典

6.1 字典(dictionary)是python中唯一的映射類型,采用鍵值對 (key-value) 的形式存儲數據。python 對 key 進行哈希函數運算,根據計算的結果決定 value 的存儲地址。所以字典是無序存儲的,且key必須是可哈希的。可哈希表示key必須是不可變類型,如:數字、字符串、元組。每個鍵和它的值之間用冒號( : )隔開,項之間用逗號( , )隔開,整個字典由一對大括號括起來。字典中鍵是唯一的,而值并不唯一。

6.2 字典的創建和使用 6.2.1 直接創建和轉化創建(1) 直接創建: dic = {'name' : 'zhw', 'age':'20', 'sex' : 'male', 'as' : True, }注意:大家在直接創建字典時,要有在末尾加上逗號的習慣,這樣如果需要添加新的鍵值對時方便,涉及后面做全棧用Django框架時對添加app有良好的編程習慣。(2)用dict()函數轉化創建items = [ ('name', 'zhw'), ('age', 20)]d = dict(items)print(d) ## {'name' : 'zhw' , 'age' : 20}6.3 對字典操作,查、增、刪、更新。我們創建一個字典 dic = {'name' : 'zhw', 'age':'20', 'sex' : 'male', 'as' : True, }(1)查i. 直接打印查詢print(dic('name'))ii. 通過內置get() 方法返回鍵對應的值,有則返回鍵對應的值,無則返回 None. 也可指定返回內容print(dic.get('zz')) ------>Noneprint(dic.get('zz','Uknown')) ------>Known (2)增加新的鍵值對或者修改i. dic[' hobby'] = 'music' #若鍵存在則修改,不存在則添加ii. setdefault() 方法 #若鍵存在則不修改,若鍵不存在則增加新的鍵值對dic.setfault('tall', 173) iii. update() 更新方式 ,如果鍵存在則修改,若鍵不存在則增加新的鍵值對dic1 = {'name':'zhw','age':'20','sex':'male','as':True,}dic2 = {'hobby':123,'heiht':187}dic1.update(dic2)print(dic1) ##結果如下 {'name':'zhw','age':'20','sex':'male','as':True,'hobby':'soccer','heiht':187}(3)刪dic3 = {'name':'zhw','age':'20','sex':'male',}i. del dic3['age'] ##準確的刪除某個鍵,鍵一刪除,值也相應被刪除 del dic3 ##刪除整個字典ii. clear( ) ##清空整個字典,但會保留字典為空ii. pop( ) ##通過鍵的查找拋出,也可傳參給變量,類似列表iii. popitem( ) ##隨機刪除某組鍵值對,并以元組方式返回值a = dic3.popitem( )print( a ) 6.4 對字典的遍歷三種字典方法:keys() , values() , items()方法for k in dic.keys():print( k ) ## keys( )遍歷的是鍵for v in dic.values():print( v ) ## values() 遍歷的是值for i in dic.items():print( i ) ## items() 遍歷的是鍵-值對,以元組的形式輸出(1)高效遍歷字典for i in dic:print( i , dic[ i ] )這里 i 做循環數,但在dic [ i] 里面做下標,這樣可以準確快速的定位到對應的鍵值對,比傳統的遍歷更節省時間。(2)傳統遍歷字典for i,v in dic6.items():print(i,v)這里遍歷方法較傳統,速度較慢。

7. 集合

7.1 集合(set)是一個無序的不重復元素序列,元素必須是可哈希的。集合可以使用大括號 { } 或者set() 函數創建,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典的。

7.2 創建集合:para = {val0, val1, val2,...} 或者 set(val)7.3 集合的顯著去重功能s = set('alice like')print(s) ##{'c', 'i', 'l', 'a', 'e', 'k', ' '}7.4 集合的增加、刪除、清空s = [2,33,44,'zhw' ]s1 = set( s )(1)增加s1.add( x ) #將元素x添加到集合s1中,如果元素已存在,則不進行任何操作s1.update( x ) # update方法可以添加元素,且參數可以是列表,元組,字典等。如: s1.update( [ 1,5 ] )(2)刪除s1.remove(x) #將元素x從集合s1移除,如果元素不存在,則會報錯s1.discard(x) #如果元素不存在,不會放生錯誤s1.pop() #設置隨機刪除集合中的一個元素(3)清空s1.clear() #清空集合中的元素,保留為空集合7.5 集合類型操作符7.5.1 in ,not inprint(a in b) | print(a not in b) 判斷a包含于b 判斷a不包含于b (這里a,b都為集合)7.5.2 等價與不等價(==,!=)print(set('alex')==set('alexxxx'))7.5.3 超集與子集print(set('alex')<set('alexwww')) #我們先搞清楚數學中兩集合的關系概念,'alexwww'包含'alex'print(a.issuperset(b)) #超集 a>b a包含b內的所有元素且元素比b多 print(a.issubset(b)) #子集 a<b a包含于b內的所有元素且元素比b少這里做判斷7.5.4 關系測試:交集,并集,差集a = set([1,2,3,4,5])b = set([4,5,6,7,8])#intersection() 交集 interc '&'print(a.intersection(b)) #{4, 5}print(a & b)#union 并集 ‘|’管道符print(a.union(b)) #{1, 2, 3, 4, 5, 6, 7, 8}print(a | b)#difference 差集 '-'print(a.difference(b)) #{1, 2, 3} in a but not in bprint(a - b) print(b.difference(a)) #{8, 6, 7} in b but not in aprint(b - a)#對稱差集 {1, 2, 3, 6, 7, 8}print(a.symmetric_difference(b)) print( a ^ b )
本文純屬個人見解,適用于基礎數據類型的基本概念與操作,希望能對初學者帶來幫助,謝謝大家閱讀,也歡迎大家在評論區發表疑惑!

總結

以上是生活随笔為你收集整理的最实用的Python基础讲解,带你轻松学完数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。