1. 程式人生 > >Python基礎-數據類型歸納.

Python基礎-數據類型歸納.

item long true 普通 order edi lse 鍵值對 機器

1.1、python3 數據類型:

類型含義示例
int 整型 1
float 浮點型 1.0
bool 布爾值 True或False
complex 復數 a+bj
string 字符串 ‘abc123’
list 列表 [a,b,c]
tuple 元組 (a,b,c)
set 集合 {a,b,c}
dictionary 字典 {a:b,c:d}

1.2、備註說明

類型說明
complex 復數的虛數部分不能省略
string 字符串不能包括有 ‘\’ ,否則輸出的不是原來的字符串
list和tuple list可以修改元素,tuple不能,但是tuple可以包括list等多種數據類型,占用資源多於list
set 沒有排列的順序及不會有重復的元素
dictionary 一個鍵對應多個值,但是不能有相同的鍵

變量以及類型

<1>變量的定義

在程序中,有時我們需要對2個數據進行求和,那麽該怎樣做呢?

大家類比一下現實生活中,比如去超市買東西,往往咱們需要一個菜籃子,用來進行存儲物品,等到所有的物品都購買完成後,在收銀臺進行結賬即可

如果在程序中,需要把2個數據,或者多個數據進行求和的話,那麽就需要把這些數據先存儲起來,然後把它們累加起來即可

在Python中,存儲一個數據,需要一個叫做變量的東西,如下示例:

  1. num1 = 100 #num1就是一個變量,就好一個模具
  2. num2 = 87 #num2也是一個變量
  3. result = num1 + num2 #把num1和num2這兩個"模具"中的數據進行累加,然後放到 result變量中
  • 說明:
    • 所謂變量,可以理解為模具,如果需要存儲多個數據,最簡單的方式是有多個變量,當然了也可以使用一個
    • 程序就是用來處理數據的,而變量就是用來存儲數據的
  • 變量定義的規則:

    • 變量名只能是 字母、數字或下劃線的任意組合
    • 變量名的第一個字符不能是數字
    • 以下關鍵字不能聲明為變量名
      [‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

想一想:我們應該讓變量占用多大的空間,保存什麽樣的數據?

<2>變量的類型

Python采用動態類型系統。在編譯的時候,Python不會檢查對象是否擁有被調用的方法或者屬性,而是直至運行時,才做出檢查。所以操作對象時可能會拋出異常。不過,雖然Python采用動態類型系統,它同時也是強類型的。Python禁止沒有明確定義的操作,比如數字加字符串。 與其它面向對象語言一樣,Python允許程序員定義類型。構造一個對象只需要像函數一樣調用類型即可,比如,對於前面定義的Fish類型,使用Fish()。類型本身也是特殊類型type的對象(type類型本身也是type對象),這種特殊的設計允許對類型進行反射編程。 Python內置豐富的數據類型。與Java、C++相比,這些數據類型有效地減少代碼的長度。下面這個列表簡要地描述了Python內置數據類型(適用於Python 3.x):
類型 描述 例子 備註
str 一個由字符組成的不可更改的有序串行。 ‘Wikipedia‘ "Wikipedia" """Spanning multiple lines""" 在Python 3.x裏,字符串由Unicode字符組成
bytes 一個由字節組成的不可更改的有序串行。 b‘Some ASCII‘ b"Some ASCII"
list 可以包含多種類型的可改變的有序串行 [4.0, ‘string‘, True]
tuple 可以包含多種類型的不可改變的有序串行 (4.0, ‘string‘, True)
set, frozenset 與數學中集合的概念類似。無序的、每個元素唯一。 {4.0, ‘string‘, True} frozenset([4.0, ‘string‘, True])
dict 一個可改變的由鍵值對組成的無序串行。 {‘key1‘: 1.0, 3: False}
int 精度不限的整數 42
float 浮點數。精度與系統相關。 3.1415927
complex 復數 3+2.7j
bool 邏輯值。只有兩個值:真、假 True False
除了各種數據類型,Python語言還用類型來表示函數、模塊、類型本身、對象的方法、編譯後的Python代碼、運行時信息等等。因此,Python具備很強的動態性。 <3>基本表達式

條件語句

如果我們希望有效的響應用戶的輸入,代碼就需要具有判斷能力。能夠讓程序進行判斷的結構成為條件,條件判斷語句返回的是布爾值真或假,真就執行一條線路,假就執行另外一條線路

  1. #!/usr/bin/env python
  2. # -*- coding: encoding -*-
  3. name = input(‘請輸入用戶名:‘)
  4. if name == "alex":
  5. print "超級管理員"
  6. elif name == "eric":
  7. print "普通管理員"
  8. elif name == "tony":
  9. print "業務主管"
  10. else:
  11. print "普通用戶"

While循環

  While循環,是一個循環加判斷的組合,滿足判斷條件返回 真(True)開始循環代碼塊,不滿足判斷條件返回 假()不循環

格式:

  While 條件:

     代碼塊

  註意:在While循環裏如果不加終止循環的判斷或者關鍵字,會一直循環(死循環)

  如: 

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. my_age = 28
  4. count = 0
  5. while count < 3:
  6. user_input = int(input("input your guess num:"))
  7. if user_input == my_age:
  8. print("Congratulations, you got it !")
  9. break
  10. elif user_input < my_age:
  11. print("Oops,think bigger!")
  12. else:
  13. print("think smaller!")
  14. count += 1 #每次loop 計數器+1
  15. else:
  16. print("猜這麽多次都不對,你個笨蛋.")

for循環

  主要用於循環一個字符串列表等

  不需要判斷,定義一個循環變量即可

  格式:for (循環定義變量) in (被循環的變量) 循環完後自動退出整個循環

  打印循環定義變量即可

  關鍵字(continue) 跳出本次循環 繼續下次環

  關鍵字(break) 跳出整個循環 不在循環



 

<4>基本數據類型類型 1、數字

2 是一個整數的例子。
長整數 不過是大一些的整數。
3.23和52.3E-4是浮點數的例子。E標記表示10的冪。在這裏,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是復數的例子。

int(整型)

  在32位機器上,整數的位數為32位,取值範圍為-2**31~2**31-1,即-2147483648~2147483647
  在64位系統上,整數的位數為64位,取值範圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807 long(長整型)
  跟C語言不同,Python的長整數沒有指定位寬,即:Python沒有限制長整數數值的大小,但實際上由於機器內存有限,我們使用的長整數數值不可能無限大。
  註意,自從Python2.2起,如果整數發生溢出,Python會自動將整數數據轉換為長整數,所以如今在長整數數據後面不加字母L也不會導致嚴重後果了。
float(浮點型)
  浮點數用來處理實數,即帶有小數的數字。類似於C語言中的double類型,占8個字節(64位),其中52位表示底,11位表示指數,剩下的一位表示符號。
complex(復數)
  復數由實數部分和虛數部分組成,一般形式為x+yj,其中的x是復數的實數部分,y是復數的虛數部分,這裏的x和y都是實數。 註:Python中存在小數字池:-5 ~ 257 2、布爾值   真或假   1 或 0 3、字符串
"hello world"
萬惡的字符串拼接:   python中的字符串在C語言中體現為是一個字符數組,每次創建字符串時候需要在內存中開辟一塊連續的空,並且一旦需要修改字符串的話,就需要再次開辟空間,萬惡的+號每出現一次就會在內從中重新開辟一塊空間。 字符串格式化
1 2 3 4 name = "alex" print "i am %s " % name #輸出: i am alex

PS: 字符串是 %s;整數 %d;浮點數%f

字符串常用功能:
  • 移除空白
  • 分割
  • 長度
  • 索引
  • 切片
4、列表 創建列表:
1 2 3 name_list = [‘alex‘, ‘seven‘, ‘eric‘] name_list = list([‘alex‘, ‘seven‘, ‘eric‘])

基本操作:

  • 索引
  • 切片
  • 追加
  • 刪除
  • 長度
  • 切片
  • 循環
  • 包含
5、元祖 創建元祖:
1 2 3 ages = (11, 22, 33, 44, 55) ages = tuple((11, 22, 33, 44, 55))
基本操作:
  • 索引
  • 切片
  • 循環
  • 長度
  • 包含
6、字典(無序) 創建字典:
1 2 3 person = {"name": "mr.wu", ‘age‘: 18} person = dict({"name": "mr.wu", ‘age‘: 18})

常用操作:

  • 索引
  • 新增
  • 刪除
  • 鍵、值、鍵值對
  • 循環
  • 長度
PS:循環,range,continue 和 break 1、數字

2 是一個整數的例子。
長整數 不過是大一些的整數。
3.23和52.3E-4是浮點數的例子。E標記表示10的冪。在這裏,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是復數的例子。

int(整型)

  在32位機器上,整數的位數為32位,取值範圍為-2**31~2**31-1,即-2147483648~2147483647
  在64位系統上,整數的位數為64位,取值範圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807 long(長整型)
  跟C語言不同,Python的長整數沒有指定位寬,即:Python沒有限制長整數數值的大小,但實際上由於機器內存有限,我們使用的長整數數值不可能無限大。
  註意,自從Python2.2起,如果整數發生溢出,Python會自動將整數數據轉換為長整數,所以如今在長整數數據後面不加字母L也不會導致嚴重後果了。
float(浮點型)
  浮點數用來處理實數,即帶有小數的數字。類似於C語言中的double類型,占8個字節(64位),其中52位表示底,11位表示指數,剩下的一位表示符號。
complex(復數)
  復數由實數部分和虛數部分組成,一般形式為x+yj,其中的x是復數的實數部分,y是復數的虛數部分,這裏的x和y都是實數。 註:Python中存在小數字池:-5 ~ 257 2、布爾值   真或假   1 或 0 3、字符串
"hello world"
萬惡的字符串拼接:   python中的字符串在C語言中體現為是一個字符數組,每次創建字符串時候需要在內存中開辟一塊連續的空,並且一旦需要修改字符串的話,就需要再次開辟空間,萬惡的+號每出現一次就會在內從中重新開辟一塊空間。 字符串格式化
1 2 3 4 name = "alex" print "i am %s " % name #輸出: i am alex

PS: 字符串是 %s;整數 %d;浮點數%f

字符串常用功能:
  • 移除空白
  • 分割
  • 長度
  • 索引
  • 切片
4、列表 創建列表:
1 2 3 name_list = [‘alex‘, ‘seven‘, ‘eric‘] name_list = list([‘alex‘, ‘seven‘, ‘eric‘])

基本操作:

  • 索引
  • 切片
  • 追加
  • 刪除
  • 長度
  • 切片
  • 循環
  • 包含
5、元祖 創建元祖:
1 2 3 ages = (11, 22, 33, 44, 55) ages = tuple((11, 22, 33, 44, 55))
基本操作:
  • 索引
  • 切片
  • 循環
  • 長度
  • 包含
6、字典(無序) 創建字典:
1 2 3 person = {"name": "mr.wu", ‘age‘: 18} person = dict({"name": "mr.wu", ‘age‘: 18})

常用操作:

  • 索引
  • 新增
  • 刪除
  • 鍵、值、鍵值對
  • 循環
  • 長度
PS:循環,range,continue 和 break

Python基礎-數據類型歸納.