標籤:python 基礎 資料類型
一.什麼是變數?
在我的理解,程式中的變數就是在記憶體中開闢出一塊空間,也可以把變數看作是一種容器,
程式的運行本質是一系列狀態的變化,而變數這種容器就是通過記憶體來儲存程式啟動並執行狀態,變數值的變化就構成了程式啟動並執行不同結果。
二.變數有哪些賦值方式?
1.最基本的賦值方式,變數名 = 變數值 ,name = “suhaozhi”。
2.鏈式賦值,a = b = c = "suhaozhi" (變數a,b,c同時對應了一個變數值“suhaozhi”,地址空間都是一模一樣的)
3.同時給多個變數名賦值 name,age = “suhaozhi”,“22” (變數名,變數名 = 變數值,變數值)
4.變數交換 a,b = b,a (變數名a和變數名為b的變數值會交換)
5.變數值自增 n += 1 (每次n的值自增1,也就是n = n + 1)
三.標準資料類型。
1.數字:數字分為整數,長整數,布爾值,浮點數,複數。
int整數:a = 1
long長整數:a = 1300000000000000
print type(a)
<type ‘long‘>
bool布爾值:Ture和False 1和0,這個沒啥好說的了。
float浮點數:浮點數就是數學中的小數,在python中,整數如果和浮點數相加最後還是等於浮點數。
print 5 + 1.5
2.和數字相關的常用函數。
int() 將其他數字類型轉換為整數,例如 int(3.14) 這個小數3.14就會被轉換為3。
round()四捨五入,例如round(3.58)四捨五入就為4.0
math.floor() 離原小數最近,但小於原小數的整數,例如 math.floor(3.4) 最後這個3.4就被轉換為3.0
(需要import math模組)
math.ceil() 和floor相反,離原小數最近,但大於原小數的整數,例如math.ceil(3.4)最後這個3.4就被轉換為4.0
float()將數字轉換為浮點數。
bool ()布爾值函數,只要傳給這個函數的值不是空,不是None,不是0,就為True,否則就返回False。
abs()擷取絕對值,例如abs(-1) 就能求出-1的絕對值。
coerce()可以接收兩個參數,可以把兩個不同類型的數字轉換為相同類型,並且返回一個元祖。
divmod()返回一個包涵商和餘數的元祖,例如divmod(101,10) 也就是101除以10,最後得到的結果就是(10,1)10餘1。
#divmod這個函數非常適合用來做分頁!
pow() 用來算一個數的n次方,例如pow(2,10),這個就是求2的10次方,也就等於1024。
hex()將一個10進位的數字轉換為16進位
oct()將一個10進位的數字轉換為8進位
ord()根據ascii表將字元轉換為10進位數
chr()根據ascii表將10進位數轉換為字元
3.關於字串。
單引號‘ ‘ 雙引號 “ ” 三引號‘‘‘ ‘‘‘ 在這三個符號中間的字元,都屬於字串類型,字串是有序的。
關於字串,在這需要補充兩點!
字串的單引號和雙引號,都無法取消特殊字元的含義,如果想取消特殊字元的含義,需要在字串前面加上r!
如果是unicode字串,u必須加在r的前面。
下面是關於特殊字元的樣本:
print ‘‘‘45\4545‘‘45,5print r‘‘‘45\4545‘‘‘45\4545
判斷字串類型的一些常用方法。
isdigit() 檢測一個字串中是否全部都是數字,如果是返回True,否則返回false。(突然發現這個方法還可以檢測羅馬數字。。。。但是對漢字的數字不支援)
isdecimal()檢測一個字串中是否只包涵十進位字元,注意哦!是只包涵十進位字串。(不支援羅馬數字和中文)
isnumeric()檢測字串是否只由數字組成(經過測試發現unicode數字,羅馬數字,漢子數字都可以檢測)
4.列表(list)
列表和其他程式設計語言的數組很類似,在[]中括弧中定義,每個元素都一(,)逗號為分隔字元,可以按照索引來存放各種各樣的資料類型。
一個列表中可以存放n個值,每個值都被稱為一個元素,列表中的每個元素都是可以修改的,如果想從列表中取元素的話,索引(下標)是從0開始。
例如:
首先定義一個列表,並且,在這個列表中定義了兩個元素。
l1 = ["suhaozhi","hamasaki"]
如果想取出第一個元素,就要從第0個索引還是取,第二個元素,從第一個索引開始取,以此類推。
print l1[0]
suhaozhi
print l1[1]
hamasaki
列表都可以做些什麼呢?
通過索引尋找元素,增加元素,刪除元素,在尾部追加元素,計算資料行表長度,迴圈,包涵 等。
上面說的這些是比較常用的。
關於具體操作的方法,請看後面專門關於列表,,元祖,字典的文章~
5.元組(tuple)
和列表特別相似的一種資料類型,把列表的[]中括弧換成了()小括弧,它和列表最大的區別就是,元組裡面的元素是唯讀不可修改的!!除了修改,刪除之類的功能,列表能做的元組也可以。
6.字典(dict)
當數字索引不好用的時候,字典這種資料類型就派上用場了。
首先,先來說說字典的特性,字典中存放的都是索引值對(key-value),key必須可hash,在字典中必須唯一,每個key對應的value都是可修改的,字典中的key是無序的。
如何建立字典?
第一種方法
d1 = {‘name‘:‘suhaozhi‘,‘age‘:22}
第二種方法
d1 = dict(name=‘suhaozhi‘,age=22)
第三種
d1 = dict({"name":"suhaozhi","age":22})
第四種
d1 = dict(([‘name‘,‘suhaozhi‘],[‘age‘,22]))
這四種方法效果都是一樣的。
字典的常用操作有,索引,增加,刪除,修改,迴圈,尋找所有key,尋找所有value,長度判斷。
關於具體操作的方法,請看後面專門關於列表,,元祖,字典的文章~
7.集合(set)
集合中每個元素在這個集合中都是可hash唯一的值,並且沒有順序,就像字典中的key一樣,集合存在的目的,就是把不同的值存放到一起,和不同的集合進行關係運算,比如說,取交集,差集之類的。
集合中的每個成員,都是用逗號來分隔的。
建立一個集合
s1 = {1,2,3,4}
補充下,還有一種不可變集合,frozenset()函數。
關於集合的常用方法後面有專門的文章會介紹~~這裡就不多說啦~
8.bytes位元組類型
資料通過網路傳輸,或者記憶體變數儲存到硬碟的時候,都需要轉換成位元組類型,字串前面如果有b,就說明這是位元組類型。
上面這些就是python常見的資料類型的簡單介紹,好多都是個人理解,有些的不太對的地方歡迎指正~~
本文出自 “reBiRTH” 部落格,請務必保留此出處http://suhaozhi.blog.51cto.com/7272298/1905372
1.python變數與基礎資料類型