python作為一門編程語言势就,和我們之前學習過的c,oc,swift,c++,c#,swift,javascript等編程語言一樣泉瞻,也有它能夠直接處理的數據類型。
整數:
python可以處理任意大小的整數苞冯,包括正整數和負整數袖牙,例如:1
,65535
,-1
等。當然舅锄,計算機是使用用二進制來處理數據的鞭达,所以有時候用八進制或十六進制表示整數比較方便,八進制表示整數:數字加前綴0
,表示是八進制巧娱,例如:01
,07
等碉怔。十六進制表示整數:數字加加前綴0x
,表示是十六進制,例如:0xff00
,0xaf23bb
等禁添。
python中的整型用int
表示,和大多數編程語言一樣桨踪。在Python 3里老翘,只有一種整數類型int
,表示為長整型,沒有 python2 中的 Long
铺峭。像大多數編程語言一樣墓怀,數值類型的賦值和計算都是很直觀的。內置的 type()
函數可以用來查詢變量所指的對象類型卫键。此外還可以用isinstance
來判斷傀履。但兩者還是有區(qū)別的:
- type()不會認為子類是一種父類類型。
- isinstance()會認為子類是一種父類類型莉炉。
浮點數:
也就是數學中的小數钓账,我們在學數學時學過用科學計數法來表示一個小數,比如:0.0000018
可以用科學計數法表示成:1.8x10-6
,在計算機中則可以表示成1.8e-6
或18e-7
,正如你所見絮宁,對于同一個小數梆暮,小數點位置在科學計數法中是可以改變的,所以稱也稱小數為浮點數绍昂。
整數和浮點數在計算機內部存儲的方式是不同的啦粹,整數運算永遠是精確的(除法也是精確的),而浮點數運算則可能會有四舍五入的誤差窘游。
在Python中唠椭,有兩種除法,一種除法是
/
:
>>> 10 / 3
3.3333333333333335```
`/`除法計算結果是浮點數忍饰,即使是兩個整數恰好整除泪蔫,結果也是浮點數:
9 / 3
3.0```
還有一種除法是//
,稱為地板除
喘批,兩個整數的除法仍然是整數:
>>> 10 // 3
3```
因為`//`除法只取結果的整數部分撩荣,所以Python還提供一個余數運算,可以得到兩個整數相除的余數:
10 % 3
1```
無論整數做//
除法還是取余數饶深,結果永遠是整數餐曹,所以,整數運算結果永遠是精確的敌厘。
字符串:
Python中的字符串用單引號'
或雙引號"
括起來台猴,同時使用反斜杠 \ 轉義特殊字符。比如字符串內部既包含'
又包含"
:
'I\'m \"fine\"!'```
表示的字符串內容是:
I'm "fine"!```
Python還允許用r''
表示''
內部的字符串默認不轉義俱两,例如:
>>> print(r'\\\t\\')
\\\t\\
如果字符串內部有很多換行饱狂,用\n寫在一行里不好閱讀,為了簡化宪彩,Python允許用'''...'''的格式表示多行內容:
print('''
----------info of Jeff ----------
Name:Jeff
Age:27
Job:developer
''')
----------info of Jeff ----------
Name:Jeff
Age:27
Job:developer```
字符串的截取的語法格式如下:
變量[頭下標:尾下標]```
索引值以 0 為開始值休讳,-1 為從末尾的開始位置。
加號 +
是字符串的連接符尿孔, 星號 *
表示復制當前字符串俊柔,緊跟的數字為復制的次數两曼。例如:
#Author:Jeff
str = 'hello,Jeff'
print(str) #輸出字符串
print(str[0:-1]) #輸出第一個到倒數第二個的所有字符
print(str[0]) #輸出字符串第一個字符
print(str[2:6]) #輸出從第三個開始到第六個的字符
print(str[2:]) #輸出從第三個開始的后的所有字符
print(str * 2) #輸出字符串兩次
print(str + "good morning!") #連接字符串
打印的結果:
打印結果.png
與 C 字符串不同的是痴怨,Python 字符串不能被改變胧谈。向一個索引位置賦值橡庞,比如str[0] = 't'
會導致錯誤。
布爾值
布爾值有True
留晚、False
兩種值酵紫,布爾值可以用and
、or
和not
運算错维。
and
運算是與
運算奖地,只有所有都為True
,and
運算結果才是True
需五。
or
運算是或
運算鹉动,只要其中有一個為True
,or
運算結果就是True
宏邮。
not
運算是非
運算泽示,它是一個單目運算符,把True
變成False
蜜氨,False
變成True
械筛。
空值
空值是Python里一個特殊的值,用None
表示飒炎。None
不能理解為0
埋哟,因為0
是有意義的,而None
是一個特殊的空值郎汪。
變量
變量存儲在內存中的值赤赊。這就意味著在創(chuàng)建變量時會在內存中開辟一個空間∩酚基于變量的數據類型抛计,解釋器會分配指定內存,并決定什么數據可以被存儲在內存中照筑。因此吹截,變量可以指定不同的數據類型,這些變量可以存儲整數凝危,小數或字符波俄。
和swift一樣,Python 中的變量賦值不需要類型聲明蛾默。每個變量在內存中創(chuàng)建懦铺,都包括變量的標識,名稱和數據這些信息趴生。每個變量在使用前都必須賦值阀趴,變量賦值以后該變量才會被創(chuàng)建昏翰。
當寫下代碼:
var = 'Jeff'```
時苍匆,Python解釋器干了兩件事情:
* 在內存中創(chuàng)建了一個'Jeff'的字符串刘急;
* 在內存中創(chuàng)建了一個名為`var` 的變量,并把它指向'Jeff'浸踩。
也可以把一個變量`var`賦值給另一個變量`var1`叔汁,這個操作實際上是把變量`var1`指向變量`var`所指向的數據,例如:
var = 'Jeff'
var1 = var
var= 'Jhon'
print(var1)```
打印結果: 'Jeff'
常量
所謂常量就是不能變的變量检碗,比如常用的數學常數π就是一個常量据块。在Python中,通常用全部大寫的變量名表示常量:
PI = 3.14159265359```
但事實上PI仍然是一個變量折剃,Python根本沒有任何機制保證PI不會被改變,只是約定的編程習慣另假,告訴你不應該改罷了。