Python3基本數據類型

来源:http://www.cnblogs.com/idontknowthisperson/archive/2016/08/21/5792690.html
-Advertisement-
Play Games

Python中的變數不需要聲明,每個變數使用前必須賦值,變數賦值後才會被創建,在Python中變數就是變數,它沒有類型。我們所說的"類型"是變數所指的記憶體中對象的類型。 等號(=)用來給變數賦值,等號(=)運算符左邊是變數名,等號(=)運算符右邊是存儲在變數名中的值。例如: 執行以上程式會輸出以下結 ...


Python中的變數不需要聲明,每個變數使用前必須賦值,變數賦值後才會被創建,在Python中變數就是變數,它沒有類型。我們所說的"類型"是變數所指的記憶體中對象的類型。

等號(=)用來給變數賦值,等號(=)運算符左邊是變數名,等號(=)運算符右邊是存儲在變數名中的值。例如:

integer = 100             #這是整數,整型變數
float   = 100.0           #這是浮點數,浮點型變數
string  = "這是字元串"     #這是字元串,字元串變數

print(integer)
print(float)
print(string)

執行以上程式會輸出以下結果:

100
100.0
這是字元串

 

多個變數賦值

Python中允許你同時為多個變數賦值。例如:

a=b=c=1
print(a)
print(b)
print(c)

 

執行以上程式會輸出如下結果:

1
1
1

以上實例,創建一個整型對象,值為1,三個變數a,b,c被分配到相同的記憶體空間上。

也可以為多個對象指定多個變數。例如

a,b,c=1,2,3
print(a)
print(b)
print(c)

執行以上程式會輸出如下結果:

1
2
3

以上實例,三個對象1,2,3分別分配給三個變數a,b,c。

標準數據類型

Python中有六個標準數據類型:

  • Number(數字)
  • String(字元串)
  • List(列表)
  • Tuple(元組)
  • Sets(集合)
  • Dictionary(字典)

Python的內置的type()函數可以用來查詢變數所指的對象類型。例如

integer = 100
float   = 100.0
string  = "這是字元串"

print(type(integer))    #整型變數
print(type(float))      #浮點型變數
print(type(string))     #字元串變數

 執行以上程式會輸出如下結果:

<class 'int'>
<class 'float'>
<class 'str'>

 

 

Number(數字)

在Python3中支持int,float,bool,complex(複數)。像大多數語言一樣,數值類型的賦值和計算都是很直觀的。

在Python2中是沒有布爾型的,它用數字0表示False,用1表示True。到Python3中,把True和False定義成關鍵字了,但它們的值還是1和0,它們可以和數字相加。例如:

print(100+False)    #False代表數字0
print(100+True)     #True代表數字1

   執行以上程式會輸出如下結果:

101
100

 Python 支持三種不同的數值類型:

  • 整型(Int) - 通常被稱為是整型或整數,是正或負整數,不帶小數點。Python3 整型是沒有限制大小的,可以當作 Long 類型使用,所以 Python3 沒有 Python2 的 Long 類型。
  • 浮點型(float) - 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)
  • 複數( (complex)) - 複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。

 有時候,我們需要對數據內置的類型進行轉換,數據類型的轉換,你只需要將數據類型作為函數名即可。

  • int(x) 將x轉換為一個整數。

  • float(x) 將x轉換到一個浮點數。

  • complex(x) 將x轉換到一個複數,實數部分為 x,虛數部分為 0。

  • complex(x, y) 將 x 和 y 轉換到一個複數,實數部分為 x,虛數部分為 y。x 和 y 是數字表達式。

 

Python 解釋器可以作為一個簡單的計算器,您可以在解釋器里輸入一個表達式,它將輸出表達式的值。

表達式的語法很直白: + ,  - ,  *  , / , // , ** 。

並且,不同類型的數值在進行混合運算時,會將整數轉換成浮點數進行運算。

舉例如下:

print(1+2)      #加法
print(2-1)      #減法
print(2*3)      #乘法
print(10/5)     #除法,得到浮點類型結果
print(21//5)    #整數除法返迴向下取整後的結果
print(21%5)     #返回除法的餘數
print(2**3)     #冪運算,即2的三次方
print(2*3.0)    #不同類型的數值在進行混合運算時,會將整數轉換成浮點數進行運算

 

執行以上程式會輸出如下結果:

3
1
6
2.0
4
1
8
6.0

String(字元串)

字元串是 Python 中最常用的數據類型。我們可以使用引號('或")括起來來創建字元串。

創建字元串很簡單,只要為變數分配一個值即可。例如:

var1 = 'Hello World!'
var2 = "I don't know this person"

字元串的截取的語法格式如下:

變數[頭下標:尾下標]

索引值以 0 為開始值,-1 為末尾字元。從頭下標(包括索引值為頭下標的字元)開始截取到尾下標(不包括索引值為尾下標的字元)。例如:

var = 'abcdefghijklnm'
print (var)          # 輸出字元串
print (var[4])       # 輸出字元串第五個字元
print (var[-1])      # 輸出最後一個字元
print (var[-2])      # 輸出倒數第二個字元
print (var[0:-1])    # 輸出第一個到最後一個(不包括最後一個)的所有字元
print (var[:4])      # 輸出字元串第五個字元之前的所有字元
print (var[2:5])     # 輸出從第三個開始到第五個(不包括第五個)的字元
print (var[2:])      # 輸出從第三個開始的後的所有字元
print (var * 2)      # 輸出字元串兩次
print (var + "TEST") # 連接字元串

 

執行以上程式會輸出如下結果:

abcdefghijklnm
e
m
n
abcdefghijkln
abcd
cde
cdefghijklnm
abcdefghijklnmabcdefghijklnm
abcdefghijklnmTEST

 

Python 使用反斜杠(\)轉義特殊字元,如果你不想讓反斜杠發生轉義,可以在字元串前面添加一個 r,表示原始字元串。例如:

print ("abcd\
efg")                     #  \      (在行尾時)續行符

#輸出結果:abcdefg



print("abcdef\\g")        #  \\     反斜杠符號 == "\"

#輸出結果:abcdef\g



print("abcde\'f\'g")      #  \'     單引號

#輸出結果: abcde'f'g



print("abcde\"f\"g")      #  \"     雙引號  

#輸出結果: abcde"f"g



print("abcdef\bg")        #  \b     退格,刪除\b的前一個字元  

#輸出結果:abcdeg



print("abcdef\000g")      #  \000   空  
#輸出結果:abcdef g print("abcdef\ng") # \n #換行 輸出結果:abcdef # g print("abcdef\tg") # \t 橫向製表符 #輸出結果:abcdef g print(r"abcde\n\t\''\"") # 字元串前面添加一個 r,表示原始字元串 #輸出結果:abcde\n\t\''\"

 

 

 

 

關於Python字元串運算符:

var1="hello"
var2="python"

print("var1+var2的輸出結果為:",var1+var2)      #  +     字元串連接
print(var1*2)                                  #  *     重覆輸出字元串
print(var1[1])                                 #  []    通過索引獲取字元串中字元
print(var1[1:3])                               #  [a:b] 截取字元串中的一部分

if "h" in var1 :                               #  in    成員運算符 - 如果字元串中包含給定的字元返回 True
    print(" h 存在變數var1中")                 
else :
    print(" h 不存在變數var1中")
    
if "o" not in var1 :                               #not in  成員運算符 - 如果字元串中不包含給定的字元返回 True
    print(" o 不存在變數var1中")                 
else :
    print(" o 存在變數var1中")
    

 

執行以上程式會輸出如下結果:

var1+var2的輸出結果為: hellopython
hellohello
e
el
 h 存在變數var1中
 o 存在變數var1中

 

 List(列表)

List(列表)是Python中使用最頻繁的數據類型。

列表可以完成大多數集合類的數據結構實現。列表中的元素數據類型可以不相同,它支持數字、字元串甚至可以包含列表(所謂嵌套)。

和字元串一樣,列表也可以被索引和截取,第一個元素索引為0,第二個元素索引為1,一次類推。列表被截取後返回一個包含所需元素的新列表。

列表是寫在方括弧[]之間,用逗號分隔開的元素列表。創建一個列表,只要把逗號分隔開的數據用方括弧括起來即可,例如:

list1=["first",1000,"a",5000]
list2=[1,2,3,4,5,6,7,8,9,10]

 

 

創建列表list1=["a","b","c","d","e","f","g","h","i","j","k","l","m","n"]

創建列表list2=[9,2,5,1,3,6,7,8,4]

 

 列表的主要操作如下:

list1.append("this is append")# append  在列表最後一個元素的後面 添加一個元素
print(list1)
#運行結果 ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","this is append"]

list1.insert(2,"b-c")# insert 第一個:要添加到位置索引,第二個:要添加的元素內容,添加內容到指定的索引位置
print(list1)
#運行結果:["a","b","b-c","c","d","e","f","g","h","i","j","k","l","m","n"]

list2=["this is extend1","this is extend2"]
list1.extend(list2) # extend 將列表list2直接擴展到列表list1中
#運行結果:list1.insert(2,"b-c")# insert 第一個:要添加到位置索引,第二個:要添加的元素內容,添加內容到指定的索引位置
print(list1)
#運行結果:["a","b","b-c","c","d","e","f","g","h","i","j","k","l","m","n","this is extend1","this is extend2"]

list1.remove("a")# remove 已知元素內容,根據元素內容進行刪除
print(list1)
#運行結果:["b","c","d","e","f","g","h","i","j","k","l","m","n"]

var=list1.pop(0)# pop 會返回要刪除的元素內容,已知元素索引,根據元素索引進行刪除
print(var)
print(list1)
#運行結果a
#運行結果["b","c","d","e","f","g","h","i","j","k","l","m","n"]

del list1[0] # del 已知元素索引,根據元素索引進行刪除
print(list1)
#運行結果["b","c","d","e","f","g","h","i","j","k","l","m","n"]

del list1 #從記憶體中刪除list1列表
list1.clear() #清空列表元素

list1[0]="aa" #根據元素索引更改變元素內容更新列表
print(list1)
#運行結果:["aa","b","c","d","e","f","g","h","i","j","k","l","m","n"]

list1[1:5]=["bb","cc","dd","ee"]#根據切片找到要修改的元素,更新列表
print(list1)
#運行結果:["a","bb","cc","dd","ee","f","g","h","i","j","k","l","m","n"]


list2.reverse()# reverse 對列表元素進行倒序
print(list2)
#運行結果:[4, 8, 7, 6, 3, 1, 5, 2, 9]

list2.sort()# sort 按照大小順序對列表進行排序更新(從小到大)
print(list2)
#運行結果:[1, 2, 3, 4, 5, 6, 7, 8, 9]

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • python 操作郵件,不是很方便,說實話還不是理解的特別透徹,這次想把自己碰到的東西總結下來 郵件有imap,pop,imap協議,這次使用的是imap4協議,主要用了imap4和mail類, 代碼主要參考了http://blog.csdn.net/bonnshore/article/detail ...
  • Esc鍵編輯器(從工具視窗) F1 幫助 千萬別按,很卡! F2(Shift+F2) 下/上高亮錯誤或警告快速定位 F3 向下查找關鍵字出現位置 F4 查找變數來源 F5 複製文件/文件夾 F6 移動 F11 切換書簽 F12 返回到以前的工具視窗 註意:部分快捷鍵,必須在沒有更改快捷鍵的情況下才可 ...
  • 開發Java程式之前,需要在電腦行安裝並配置Java開發環境。一種是直接安裝Myeclipse,利用其自帶的JDK編譯運行;另一種是在我們的Windows或者Linux平臺下安裝JDK,配置環境變數。(隨著JDK版本的更新,Myeclipse預設JDK是不變的,除非升級最新版的Myeclipse) ...
  • CvSize 矩形框大小,以像素為精度 GetSize返回矩陣或圖像ROI的大小 CvSize cvGetSize( const CvArr* arr );arr 數組頭。 函數 cvGetSize 返回圖像或矩陣的行數和列數,如果是圖像就返回ROI的大小 註意: IplImage* src1=cv ...
  • 一. 準備工作 1. 點擊此下載相關開發工具 2. 將poi-3.8、jxls-core-1.0兩個jar包放到工程中,並引用 3. 將excel模板runRecord.xls放到RunRecordBSImpl.java類路徑下 二. RunRecordBSImpl.java類 1 import j ...
  • 一、概述 為了讓web伺服器和web應用程式進行訪問交互,servlet是這個交互的標準介面,web伺服器必須符合servlet標準,web應用應該實現servlet介面。 tomcat是一個符合servlet標準的servlet容器。如下圖所示。 二、tomcat作為servlet容器的基本功能 ...
  • 1.什麼是php PHP,即“Hypertext Preprocessor”,是一種被廣泛應用的開源通用腳本語言,尤其適用於 Web 開發並可嵌入 HTML 中去。它的語法利用了 C、Java 和 Perl,易於學習。該語言的主要目標是允許 web 開發人員快速編寫動態生成的 web 頁面。對於像微 ...
  • scjson純c json引擎, 補充了可以在json串或文件中添加註釋的功能. window和linux測試完畢. ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...