淺談python變量類型

python標(biāo)準(zhǔn)數(shù)據(jù)類型:

1,數(shù)字(number)

2,字符串?(string)

3,列表(List)?

4,元組(Tuple)

5,字典(Dictionary)

一,數(shù)字類型

# int(有符號整型)

# long(長整型[也可以代表八進制和十六進制])

# float(浮點型)

# complex(復(fù)數(shù))


二,字符串類型

# python的字串列表有2種取值順序:

# 從左到右索引默認(rèn)0開始的,最大范圍是字符串長度少1

# 從右到左索引默認(rèn)-1開始的,最大范圍是字符串開頭

s ='ilovepython'

ss='iloveyan'

print("1? "+s);? ? ?#輸出ilovepython

print("2? "+s[1:5])? ? ?#輸出love

print("3? "+s[0])? ? ? ? ?# 輸出i

print("4? "+s[-1])? ? ? ?# 輸出n

print("5? "+s[-5:-1]);


三,列表類型

# 列表中值的切割也可以用到變量 [頭下標(biāo):尾下標(biāo)] ,就可以截取相應(yīng)的列表,從左到右索引默認(rèn) 0 開始,從右到左索引默認(rèn) -1 開始,下標(biāo)可以為空表示取到頭或尾。

# 加號 + 是列表連接運算符(只能將兩個列表組合到一起),星號 * 是重復(fù)操作

# a 列表生成器 range(start,stop,step)? start一般由0開始 stop到stop結(jié)束(不包含stop)? step 為步數(shù)

list=[1,2,3,'haha'];

print(list[1]);

list[1]=100;

print(list)? ? ? ? ? ?#可以二次賦值

sedlist=[list,8,0,'sss'];

print(sedlist)

print(list+sedlist);

print(list*2)

print(len(list));? ? ?# len 計算list長度

# 列表生成器練習(xí)

練習(xí)一

?for x in range(1,11):

? ? ?L.append(x*x);? ? ? #輸出 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

練習(xí)二

print([x*xfor xin range(1,11)if x%2==0])? ? ? ? #[4, 16, 36, 64, 100]

print( [m + nfor min 'ABC' for nin 'XYZ'])


L = ['Hello', 'World', 'IBM', 'Apple']

[s.lower()for sin L]? ? ? ? ? ? ? ? ? ? ? ? # 輸出['hello', 'world', 'ibm', 'apple']


四,元組類型

# 元組是另一個數(shù)據(jù)類型,類似于List(列表)。

# 元組用"()"標(biāo)識。內(nèi)部元素用逗號隔開。但是元組不能二次賦值,相當(dāng)于只讀列表。

tuple=(1,2,3)

print(tuple*2);

print(tuple[1]);

# tuple[1]=200;

# print(tuple);? ? #注意:元組不能二次賦值


五,字典類型

#列表是有序的對象集合,字典是無序的對象集合。

#兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的,而不是通過偏移存取。

#字典用"{ }"標(biāo)識。字典由索引(key)和它對應(yīng)的值value組成。

#字典有兩種賦值方法如下

dict={}

dict['one']="this is one";

dict['two']="this is two";

print(dict)

dict1={'name':"hanlin",'age':22,'sex':"man"};

print(dict1['name'])

print(dict1)

f=1.8

print(int(f))

print(isinstance(str(f),str))# 判斷數(shù)據(jù)類型

#補充1,:dict的items()可以同時迭代key和value:

d = {'x':'A', 'y':'B', 'z':'C' }

for k, vin d.items():

print(k, '=', v)# x=A,y=B,z=C


# 補充2:要避免key不存在的錯誤,有兩種辦法,一是通過in判斷key是否存在 二是通過dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:

dict21={'name':"hanlin",'age':22,'sex':"man"};

if('name'in dict21):

print(1)

print(dict21.get('class',"沒有class"))

print(dict21.get('name',-1))

# 補充3:dict和list比較,dict有以下幾個特點:

# 1,查找和插入的速度極快,不會隨著key的增加而增加;

# 2,需要占用大量的內(nèi)存,內(nèi)存浪費多。

# 而list相反:

#

# 查找和插入的時間隨著元素的增加而增加;

# 1,占用空間小,浪費內(nèi)存很少。

# 2,所以,dict是用空間來換取時間的一種方法。)



六,set

# set和dict的唯一區(qū)別僅在于沒有存儲對應(yīng)的value,但是,set的原理和dict一樣,所以,同樣不可以放入可變對象,因為無法判斷兩個可變對象是否相等,也就無法保證set內(nèi)部“不會有重復(fù)元素”

s1=([1,2,3],[4,5,5],[4,2,2])

print(s1)

s2=([1,1,2,2,3,3])

print(s2)

# add(key) 可以添加到set中

# remove(key) 可以刪除set中

# s2.add(77);

# print(s2)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Python 是一種相當(dāng)高級的語言,通過 Python 解釋器把符合語法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機器碼...
    Python程序媛閱讀 2,039評論 0 3
  • 一、python 變量和數(shù)據(jù)類型 1.整數(shù) Python可以處理任意大小的整數(shù),當(dāng)然包括負整數(shù),在Python程序...
    績重KF閱讀 2,018評論 0 1
  • 一、Python中數(shù)據(jù)類型 計算機顧名思義就是可以做數(shù)學(xué)計算的機器,因此,計算機程序理所當(dāng)然地可以處理各種數(shù)值。但...
    大嘴蝸牛閱讀 1,145評論 0 5
  • 校園里隨處可見的花,截取一個角落留住它的美。
    Chris卓小姐閱讀 268評論 0 0
  • 《活法》之”對領(lǐng)導(dǎo)的要求是德重于才”學(xué)習(xí)分享: 對這一點很有感觸,不管能力如何,思維方向確實是最重要的,一直在將就...
    利他心閱讀 97評論 0 0

友情鏈接更多精彩內(nèi)容