Python內置數據類型總結(數字類型)

来源:https://www.cnblogs.com/xiaoshouhua/archive/2018/03/23/8625238.html
-Advertisement-
Play Games

python數據類型、數字類型、int、float、math ...


Python內置數據類型總結(數字類型)

  數據類型是一種值的集合以及定義在這種值上的一組操作。一切語言的基礎都是數據結構,所以打好基礎對於後面的學習會有百利而無一害的作用。
  python內置的常用數據類型有:數字、字元串、Bytes、列表、元組、字典、集合、布爾等

  想想設置這麼多類型的原因是什麼?

  1、在數據組織上方便統一管理,提供同樣的方法去調用。區分數據類型,也和人們日常對事物的分類認識一致,便於人們從具體的對象抽象出統一的模式去處理數據。方便同樣的數據用同樣的方式去處理,限制非法操作的行為,便於數據的控制。
  2、對於數據在記憶體和磁碟上的存儲來說,節約了空間。假如不區分數據類型,所有的數據對象都必須按長度最大的數據對象去占用存儲空間,浪費嚴重。有了數據類型,就按照類型預先定義的空間大小去組織存儲,對於每種數據類型去合理分配大小,能提高空間使用率,以及存取速度和運行效率。

  python的數據類型以是否可變,可分為可變類型和不可變類型,對於可變類型來說,操作一般涉及增、刪、改、查,對於不可變類型,一般的操作只有查。

   不可變類型:數字、字元串、bytes、元組

   可變類型:列表、字典、集合

 

數字類型

  用於存儲數學上的值,比如整數、浮點數、複數等。數字類型在python中是不可變類型,意思是一個變數被賦予了一個不一樣的數值之後就不再是原來的記憶體指向了,python是基於值得記憶體管理機制。

  1.整數(Int)

  通常稱為整型,包括正數和負數,python3不在長度上區分整數的類型了,就是不再有長整型。
  數字也有八進位和十六進位表示法:
  十六進位:首碼0x和0-9,a-f表示,例如:0xff00
  八進位:首碼0o和0-7表示,例如:0o17
  Python的整數長度為32位,通常是連續分配的記憶體空間。Python初始化時會自動建立一個小整數對象池,-5到256之間,方便調用,避免後期重覆生成。
除了小整數對象池,Python還有整數緩衝區,就是剛被刪除的整數,不會立即被刪除回收,而是在後臺緩衝一段時間,等待下次可能的調用.

  例如:   a = 3453453
  print(id(a))---->記憶體編號33402576
  del a      #已經刪除
  b = 3453453 #將3453453賦值給b
  print(id(b))----->記憶體編號33402576

  2.浮點數(float)

  浮點數就是小數,例如1.23,1.0等,一般很大或很小的浮點數,用科學計數法表示,把10用e表示,例如:1.23*10^9可以表示為1.23e10.

   3.複數(complex)

  複數由實數部分和虛數部分構成,例如a+bj,或者complex(a,b)。很少用到。

  4.數字類型轉換:

  int(x):將x轉換為整數,如果x是浮點數,保留整數部分,int()中預設使用十進位,可以指定進位,將指定進位的數轉化為十進位數。例如常用的2/8/16這三種進位,例如:int("0b10", 2)將二進數0吧0轉化為十進位數輸出,結果為2。
  float(x):將x轉化為浮點數
  complex(x)或complex(x, y):很少用到

  5.計算

  除過+、-、*、/、**、//、%運算符之外,python還提供科學計算等庫,例如math,導入math庫後,常用的函數有:
  abs(x):返回x的絕對值,類型隨x
  fabs(x):返回x的絕對值,類型是浮點數
  ceil(x):取x的上入整數,如math.ceil(4.1)返回5
  floor(x):取x的下入整數,如math.floor(4.9)返回4
  round(x [,n]):預設返回浮點數x的四捨五入值,如給出n值,則代表舍入到小數點後的n位。例如round(1.23456, 3)返回1.235
  exp(x):返回e的x次冪,e是自然常數
  sqrt(x):返回x的平方根,返回值是float類型
  modf(x):返回x的整數部分和小數部分,兩部分的符號與x相同,整數部分以浮點型表示。例如math.modf(4.333),返回元組(0.3330000000000002, 4.0)
  log10(x):返回以10為基數的x的對數,返回值類型是浮點數
  log(x,y):返回以y為基數的x的對數,返回值類型是浮點數
  pow(x, y):返回x的y次冪,即x**y
  max(n1, n2, ...):返回最大值
  min(n1, n2, ...):返回最小值


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

-Advertisement-
Play Games
更多相關文章
  • 這個問題在其他瀏覽器都不會出現,唯獨IE不行,搜遍了百度以及各大論壇網站,都找不到這個問題的解決方案,只好自己整了。 造成這個問題的原因很簡單,就是剛開始的滾動條我用的是iframe的滾動條,iframe中的頁面內容高度超過iframe高度後就會出現滾動條,在正常視窗能夠出現滾動條,但是全屏模式下就 ...
  • 盒子模型是相對於塊級元素而言的。 什麼是塊級元素,具有margin,padding等屬性,能夠改變大小的的元素。這裡就提出一個問題,各種元素之間的區別和聯繫? 盒子模型的主要屬性 width、height、padding、border、margin margin-left ,margin-right ...
  • 模式定義 動態的將新功能附加到對象上,在對象功能擴展方面,它比繼承更有彈性。 設計原則 多用組合,少用繼承 類應設計的對擴展開放,對修改關閉。 ...
  • 這兩天看了《移山之道:VSTS軟體開髮指南》,對團隊軟體開發又有了新的認識。也許對於我們這些軟體開發的新手來說,最重要的是具體技術與應用框架,但讀了這本書後我感覺到,實際團隊項目中工具的使用是次要的,更重要的在於對人員的控制,如何高效得讓一個團隊各司其職、彼此之間在充分信息交流的基礎上協同工作才是一 ...
  • 目的描述:全新的騰訊雲Linux伺服器,系統是ubuntu 16.04。需要在上面安裝mysql資料庫。 使用XShell遠程登錄,在終端視窗中使用sudo apt-get 指令線上安裝mysql。 在安裝MySql之前先執行更新指令: 效果圖如下: 接著執行安裝MySql指令: 這時候系統會去下載 ...
  • 一、前言 最近有點想弄一個站內搜索的功能,之前學過了Lucene,後來又聽過Solr這個名詞。接著在瞭解全文搜索的時候就發現了Elasticsearch這個,他也是以Lucene為基礎的。 我去搜了幾篇Elasticsearch教程,發現很多都是基於linux的,但我linux耍得並不熟,很少用。僅 ...
  • Django 千鋒培訓讀書筆記 https://www.bilibili.com/video/av17879644/?p=1 切換到創建項目的目錄 cd C:\Users\admin\Desktop\DjangoProject 創建名為project的項目命令 django-admin startp... ...
  • L2-006. 樹的遍歷 時間限制 記憶體限制 代碼長度限制 判題程式 作者 400 ms 65536 kB 8000 B Standard 陳越 給定一棵二叉樹的後序遍歷和中序遍歷,請你輸出其層序遍歷的序列。這裡假設鍵值都是互不相等的正整數。 時間限制 記憶體限制 代碼長度限制 判題程式 作者 400 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...