1. 程式人生 > >小猿圈python學習-基本數據類型

小猿圈python學習-基本數據類型

數據 描述 動作 為什麽 無限 bject 機器 通過 指定

什麽是數據類型?

我們人類可以很容易的分清數字與字符的區別,但是計算機並不能呀,計算機雖然很強大,但從某種角度上看又很傻,除非你明確的告訴它,1是數字,“漢”是文字,否則它是分不清1和‘漢’的區別的,因此,在每個編程語言裏都會有一個叫數據類型的東東,其實就是對常用的各種數據類型進行了明確的劃分,你想讓計算機進行數值運算,你就傳數字給它,你想讓他處理文字,就傳字符串類型給他。Python中常用的數據類型包括多種,今天我們暫只講4種, 數字、字符串、布爾類型、列表。

數字
int(整型)

在64位系統上,整數的位數為64位,取值範圍為-263~263-1,即-9223372036854775808~9223372036854775807

long(長整型)

跟C語言不同,Python的長整數沒有指定位寬,即:Python沒有限制長整數數值的大小,但實際上由於機器內存有限,我們使用的長整數數值不可能無限大。

註意,自從Python2.2起,如果整數發生溢出,Python會自動將整數數據轉換為長整數,所以如今在長整數數據後面不加字母L也不會導致嚴重後果了。

註意:在Python3裏不再有long類型了,全都是int

a= 264
type(a) #type()是查看數據類型的方法
<type ‘long‘>
b = 2
60
type(b)
<type ‘int‘>
float (浮點型)

即小數

type(2.32)

<class ‘float‘>

字符串
在Python中,加了引號的字符都被認為是字符串!

name = "Alex Li" #雙引號
age = "22" #只要加引號就是字符串
age2 = 22 #int

msg = ‘‘‘My name is Alex, I am 22 years old!‘‘‘ #我擦,3個引號也可以

hometown = ‘ShanDong‘ #單引號也可以
那單引號、雙引號、多引號有什麽區別呢? 讓我大聲告訴你,單雙引號木有任何區別,只有下面這種情況 你需要考慮單雙的配合

msg = "My name is Alex , I‘m 22 years old!"
多引號什麽作用呢?作用就是多行字符串必須用多引號

msg = ‘‘‘
今天我想寫首小詩,
歌頌我的同桌,
你看他那烏黑的短發,
好像一只炸毛雞。
‘‘‘

print(msg)
字符串拼接

數字可以進行加減乘除等運算,字符串呢?讓我大聲告訴你,也能?what ?是的,但只能進行"相加"和"相乘"運算。

name
‘Alex Li‘
age
‘22‘

name + age #相加其實就是簡單拼接
‘Alex Li22‘

name * 10 #相乘其實就是復制自己多少次,再拼接在一起
‘Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li‘
註意,字符串的拼接只能是雙方都是字符串,不能跟數字或其它類型拼接

type(name),type(age2)
(<type ‘str‘>, <type ‘int‘>)

name
‘Alex Li‘
age2
22
name + age2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate ‘str‘ and ‘int‘ objects #錯誤提示數字 和 字符 不能拼接

布爾型(bool)
布爾類型很簡單,就兩個值 ,一個True(真),一個False(假), 主要用記邏輯判斷

但其實你們並不明白對麽? let me explain, 我現在有2個值 , a=3, b=5 , 我說a>b你說成立麽? 我們當然知道不成立,但問題是計算機怎麽去描述這成不成立呢?或者說a< b是成立,計算機怎麽描述這是成立呢?

沒錯,答案就是,用布爾類型

a=3
b=5

a > b #不成立就是False,即假
False

a < b #成立就是True, 即真
True
計算機為什麽要描述這種條件呢?因為接下來就可以根據條件結果來幹不同的事情啦呀!比如

if a > b
print(a is bigger than b )

else
print(a is smaller than b )
上面是偽代碼,但是不是意味著, 計算機就可以根據判斷結果不同,來執行不同的動作啦?

列表(List)
如果要把全班的人名在內存裏存下來,用上面的字符串類型可以做到,但取的時候不方便。

names = "Alex,Jack,Rain,Rachel,Mack..."
你print(names)它打印的是所有人的信息,如果想取出Rain,沒辦法(可以用字符串切割方式,但是很麻煩)。此時,用列表就比較合適。

names = ["Alex","Jack","Rain","Rachel","Mack"]
names[2] #為何names[2]就能取出Rain?
‘Rain‘
因為列表的是通過下標來標記元素位置的。 下標從0開始,每添加一個元素,就自動+1

元素名 Alex Jack Rain Rachel Mack
下標(索引) 0 1 2 3 4
元素添加
元素的添加有2種方式,插入、追加,插入指可以插入到列表的任意位置

插入

names
[‘Alex‘, ‘Jack‘, ‘Rain‘, ‘Rachel‘, ‘Mack‘]
names.insert(3,"小明") #3代表你想插入的位置
names
[‘Alex‘, ‘Jack‘, ‘Rain‘, ‘小明‘, ‘Rachel‘, ‘Mack‘]

追加

添加到列表的尾部

names
[‘Alex‘, ‘Jack‘, ‘Rain‘, ‘小明‘, ‘Rachel‘, ‘Mack‘]
names.append("小強")
names
[‘Alex‘, ‘Jack‘, ‘Rain‘, ‘小明‘, ‘Rachel‘, ‘Mack‘, ‘小強‘]
修改
直接根據下標找到元素重新賦值即可

names[0] = "金角大王Alex"
names
[‘金角大王Alex‘, ‘Jack‘, ‘Rain‘, ‘小明‘, ‘Rachel‘, ‘Mack‘, ‘小強‘]
刪除元素
這個不是通過下標了,是根據元素名子。

names
[‘金角大王Alex‘, ‘Jack‘, ‘Rain‘, ‘小明‘, ‘Rachel‘, ‘Mack‘, ‘小強‘]
names.remove("小明")
names
[‘金角大王Alex‘, ‘Jack‘, ‘Rain‘, ‘Rachel‘, ‘Mack‘, ‘小強‘]
上面的命令會刪除從左開始找到的第一個小明, 如果有多個小明,則只刪除找到的第一個。

判斷元素是否在列表裏

names
[‘金角大王Alex‘, ‘Jack‘, ‘Rain‘, ‘Rachel‘, ‘Mack‘, ‘小強‘]

"Mack" in names
True

小猿圈python學習-基本數據類型