1.python變數與基礎資料類型

來源:互聯網
上載者:User

標籤: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變數與基礎資料類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.