Python內置函數(23)——format

来源:http://www.cnblogs.com/sesshoumaru/archive/2016/10/27/6005368.html
-Advertisement-
Play Games

英文文檔: format(value[, format_spec]) Convert a value to a “formatted” representation, as controlled by format_spec. The interpretation of format_spec wi ...


英文文檔:

format(value[, format_spec])

Convert a value to a “formatted” representation, as controlled by format_spec. The interpretation of format_spec will depend on the type of the value argument, however there is a standard formatting syntax that is used by most built-in types: Format Specification Mini-Language.

The default format_spec is an empty string which usually gives the same effect as calling str(value).

A call to format(value, format_spec) is translated to type(value).__format__(value, format_spec) which bypasses the instance dictionary when searching for the value’s __format__() method. A TypeError exception is raised if the method search reaches object and the format_spec is non-empty, or if either the format_spec or the return value are not strings.

 

說明:

 

  1. 函數功能將一個數值進行格式化顯示。

  2. 如果參數format_spec未提供,則和調用str(value)效果相同,轉換成字元串格式化。

>>> format(3.1415936)
'3.1415936'
>>> str(3.1415926)
'3.1415926'

  3. 對於不同的類型,參數format_spec可提供的值都不一樣

#字元串可以提供的參數 's' None
>>> format('some string','s')
'some string'
>>> format('some string')
'some string'

#整形數值可以提供的參數有 'b' 'c' 'd' 'o' 'x' 'X' 'n' None
>>> format(3,'b') #轉換成二進位
'11'
>>> format(97,'c') #轉換unicode成字元
'a'
>>> format(11,'d') #轉換成10進位
'11'
>>> format(11,'o') #轉換成8進位
'13'
>>> format(11,'x') #轉換成16進位 小寫字母表示
'b'
>>> format(11,'X') #轉換成16進位 大寫字母表示
'B'
>>> format(11,'n') #和d一樣
'11'
>>> format(11) #預設和d一樣
'11'

#浮點數可以提供的參數有 'e' 'E' 'f' 'F' 'g' 'G' 'n' '%' None
>>> format(314159267,'e') #科學計數法,預設保留6位小數
'3.141593e+08'
>>> format(314159267,'0.2e') #科學計數法,指定保留2位小數
'3.14e+08'
>>> format(314159267,'0.2E') #科學計數法,指定保留2位小數,採用大寫E表示
'3.14E+08'
>>> format(314159267,'f') #小數點計數法,預設保留6位小數
'314159267.000000'
>>> format(3.14159267000,'f') #小數點計數法,預設保留6位小數
'3.141593'
>>> format(3.14159267000,'0.8f') #小數點計數法,指定保留8位小數
'3.14159267'
>>> format(3.14159267000,'0.10f') #小數點計數法,指定保留10位小數
'3.1415926700'
>>> format(3.14e+1000000,'F')  #小數點計數法,無窮大轉換成大小字母
'INF'

#g的格式化比較特殊,假設p為格式中指定的保留小數位數,先嘗試採用科學計數法格式化,得到冪指數exp,如果-4<=exp<p,則採用小數計數法,並保留p-1-exp位小數,否則按小數計數法計數,並按p-1保留小數位數
>>> format(0.00003141566,'.1g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科學計數法計數,保留0位小數點
'3e-05'
>>> format(0.00003141566,'.2g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科學計數法計數,保留1位小數點
'3.1e-05'
>>> format(0.00003141566,'.3g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科學計數法計數,保留2位小數點
'3.14e-05'
>>> format(0.00003141566,'.3G') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科學計數法計數,保留0位小數點,E使用大寫
'3.14E-05'
>>> format(3.1415926777,'.1g') #p=1,exp=0 ==》 -4<=exp<p成立,按小數計數法計數,保留0位小數點
'3'
>>> format(3.1415926777,'.2g') #p=1,exp=0 ==》 -4<=exp<p成立,按小數計數法計數,保留1位小數點
'3.1'
>>> format(3.1415926777,'.3g') #p=1,exp=0 ==》 -4<=exp<p成立,按小數計數法計數,保留2位小數點
'3.14'
>>> format(0.00003141566,'.1n') #和g相同
'3e-05'
>>> format(0.00003141566,'.3n') #和g相同
'3.14e-05'
>>> format(0.00003141566) #和g相同
'3.141566e-05'

 


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

-Advertisement-
Play Games
更多相關文章
  • 在weblogic中部署項目通常有三種方式:第一,在控制臺中安裝部署;第二,將部署包放在domain域中autodeploy目錄下部署;第三,使用域中配置文件config.xml 進行項目的部署。 控制台部署 1 啟動weblogic服務,登錄到weblogic控制台頁面,輸入用戶名和密碼,登錄到控 ...
  • 主域控角色遷移和奪取(轉載) 轉載自:http://yupeizhi.blog.51cto.com/3157367/1427978 操作系統版本:Windows2012R2 數據中心版 FSMO角色遷移 主域控沒有掛的情況下使用FSMO角色遷移 FSMO角色遷移步驟,下麵步驟在備用域控上執行 0、使 ...
  • Permission deny 許可權 拒絕 查看許可權 ls -a ls -la expression 查看文件夾裡邊東西的許可權 用戶群的分類 組群:一個操作系統可能幾個人同時用 方便小組的文件安全和共用 用戶 組群(在一個組裡邊的) Others root rws rws rws 天神 使用者/ro ...
  • ...
  • 首先聲明,代碼是從一個大神的源碼里偷來的,我稍微整理了一下,現在可以通用。 作用是把你現有的資料庫表結構和數據生成yii2的遷移文件 1.下載模塊源碼解壓縮到 backend/modules/ 2.在 backend/config/main.php 添加如下配置 3.在你的後臺訪問 模塊下載地址 : ...
  • 創建線程的第一種方式: 這種方式的特點(缺陷):線程任務和線程是綁定在一起的。 示例: 四個視窗同時賣票 因為是同時,所以使用多線程。 創建四個線程,都是賣票。 因為都是賣票,所以四個線程的任務是一樣的。 只需要定義一個類繼承Thread。 為瞭解決四個線程共用票的問題,需要使用創建線程的第二種方式 ...
  • 如果對什麼是線程、什麼是進程仍存有疑惑,請先Google之,因為這兩個概念不在本文的範圍之內。 用多線程只有一個目的,那就是更好的利用cpu的資源,因為所有的多線程代碼都可以用單線程來實現。說這個話其實只有一半對,因為反應“多角色”的程式代碼,最起碼每個角色要給他一個線程吧,否則連實際場景都無法模擬 ...
  • Java類庫里有四個表示流的抽象類:InputStream、OutputStream、Reader、Writer。 其中 InputStream 和 OutputStream 是對位元組進行操作的輸入流和輸出流;Reader 和 Writer 是對字元操作的輸入輸出流。 它們是抽象類,在用它們的時候必 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...