Python3數據類型及轉換

来源:https://www.cnblogs.com/wanguo/archive/2019/03/10/python3_datatype_transform.html
-Advertisement-
Play Games

I. 數據類型 Python3將程式中的任何內容統稱為對象(Object),基本的數據類型有數字和字元串等,也可以使用自定義的類(Classes)創建新的類型。 Python3中有六個標準的數據類型: Number(數字) String(字元串) List(列表) Tuple(元組) Set(集合) ...


I. 數據類型

Python3將程式中的任何內容統稱為對象(Object),基本的數據類型有數字和字元串等,也可以使用自定義的類(Classes)創建新的類型。

Python3中有六個標準的數據類型:

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

Python3的六個標準數據類型中:

  • 不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元組);
  • 可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。

1. Number:int, float, bool, complex

a, b, c, d = 1, 2.3, True, 4+5j
print(type(a), type(b), type(c), type(d), type(a+b+c+d), a+b+c+d)

<class 'int'> <class 'float'> <class 'bool'> <class 'complex'> <class 'complex'> (8.3+5j)

2. String:

Python中的字元串用單引號'或雙引號"括起來,同時使用反斜杠\轉義特殊字元。r或R表示原始字元串。

s = r'this is raw string \n \t.'
print(type(s), s)

<class 'str'> this is raw string \n \t.

3. List:

列表是寫在方括弧[]之間,用逗號分隔開的元素列表。列表的元素可以是數字、字元串和列表。

4. Tuple: 

元組是寫在小括弧()之間,用逗號分隔開的元素列表。

t = (1, 2.3, True, 4+5j, (6, 'abc', ['d', {'id': 9, 'value': 'dict'}]))
print(type(t), t)

<class 'tuple'> (1, 2.3, True, (4+5j), (6, 'abc', ['d', {'id': 9, 'value': 'dict'}]))

5. Set:

集合可以使用{}或set()函數來創建,創建空集合必須用set()。

基本功能是測試成員關係和刪除重覆元素。

s1 = {1.2, 4+5j, 'abc', 'abc', 'd'}
s2 = set('abcdde')
print(type(s1), s1, type(s2), s2)
print(s1 - s2, s1 | s2, s1 & s2, s1 ^ s2)

<class 'set'> {1.2, (4+5j), 'd', 'abc'} <class 'set'> {'c', 'a', 'd', 'e', 'b'}
{1.2, (4+5j), 'abc'} {1.2, 'c', 'a', 'd', (4+5j), 'abc', 'e', 'b'} {'d'} {'c', 1.2, 'a', (4+5j), 'abc', 'e', 'b'}

6. Dictionary:

字典通過{}或dict()函數創建,是無序的key:value映射的集合。key必須為不可變類型且唯一。

d1 = {1: 'abc', 'name': {'cn': 'Chinese name', 'en': 'English name'}, (True, 4+5j): [1, 'abc']}
d2 = dict([(1, 'abc'), ('name', {'cn': 'Chinese name', 'en': 'English name'})])
d3 = dict(name={'cn': 'Chinese name', 'en': 'English name'}, one='abc')
print(type(d1), d1, d1[(True, 4+5j)])
print(type(d2), d2, d2[1])
print(type(d3), d3, d3['one'])

<class 'dict'> {1: 'abc', 'name': {'cn': 'Chinese name', 'en': 'English name'}, (True, (4+5j)): [1, 'abc']} [1, 'abc']
<class 'dict'> {1: 'abc', 'name': {'cn': 'Chinese name', 'en': 'English name'}} abc
<class 'dict'> {'name': {'cn': 'Chinese name', 'en': 'English name'}, 'one': 'abc'} abc

II.數據類型轉換

 

參考:簡明Python教程(英文原版)、菜鳥教程

         數據類型轉換字元串轉字典


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

-Advertisement-
Play Games
更多相關文章
  • 晚上在閱讀go lang的資料時突然想到一個問題,go是如何分配變數的記憶體結構的呢?好在網上的一篇文章做了透徹的分析見【go語言局部變數分配在棧還是堆】。 其結論是go語言局部變數的分配是由編譯器決定的。go語言編譯器會自動決定把一個變數放在棧還是放在堆,編譯器會做逃逸分析(escape analy ...
  • 忙瘋警告,這兩天可能進度很慢,下午打了一下午訓練賽,訓練賽的題我就不拿過來的,pta就做了一點點,明天又是滿課的一天,所以進度很慢啦~ L1-021 重要的話說三遍 這道超級簡單的題目沒有任何輸入。 你只需要把這句很重要的話 —— “I'm gonna WIN!”——連續輸出三遍就可以了。 註意每遍 ...
  • 因為極驗官網給的是用session作為驗證的,而我們做前後端分離的用的是token,而不是session,所以對於目前來說就不適用了,所以需要根據具體業務邏輯來改動。當然,大佬可以直接忽略 好的,直接上例子: 還是用的 Python高級應用(3)—— 為你的項目添加驗證碼 這文章最後的Lo... ...
  • 新聞 ".NET Core 3預覽版3之宣告" .NET Core 3.0將在2019年下半年發佈 .NET Standard 2.1的首個預覽版 Docker與cgroup的記憶體限制 "LambdAle 2019徵文" "使用TypeShape生成透鏡" "為什麼使用Ply(F的高性能TPL類庫) ...
  • Problem Description In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n. Input The input will consist of a series of integers n, o ...
  • 一、什麼是AOP? Aspect oritention programming(面向切麵編程),AOP是一種思想,高度概括的話是“橫向重覆,縱向抽取”,如何理解呢?舉個例子:訪問頁面時需要許可權認證,如果每個頁面都去實現方法顯然是不合適的,這個時候我們就可以利用切麵編程。 每個頁面都去實現這個方法就是 ...
  • 參考鏈接:1. 解析H264的SPS信息 https://blog.csdn.net/lizhijian21/article/details/80982403 2. h.264的POC計算 https://www.cnblogs.com/TaigaCon/p/3551001.html 3. 視音頻數 ...
  • 綠茶小說系統是綠茶科技旗下自主開發的小說系統,可以​‌‌支持定製小說網站,小說網站開發,小說網站系統,小說網站源碼,小說網站開發建設,小說網站程式,微信小說網站源碼,一套小說網站管理系統,完整版小說,付費看小說,小說下載等欄目版塊,可以支持定製電腦版+手機版+微信版+小程式版+APP版,由10年的技 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...