Heim > Artikel > Backend-Entwicklung > Detaillierte Einführung in die integrierte Formatfunktion von Python
英文文档:
format
(value[, format_spec])
Konvertieren Sie einen Wert in eine „formatierte“ Darstellung, wie durch format_spec gesteuert. Die Interpretation von format_spec hängt vom Typ des Arguments value ab. Es gibt jedoch eine Standardformatierungssyntax, die von den meisten integrierten Typen verwendet wird: Format Specification Mini-Language.
Die Standardeinstellung format_spec ist eine leere Zeichenfolge, die normalerweise den gleichen Effekt hat wie der Aufruf von str(value)
.
Ein Aufruf von <span class="pre">format(value, <span class="pre">format_spec)<code class="docutils literal"><span class="pre">format(value, <span class="pre">format_spec)</span></span>
<span class="pre">type(value).__format__(value, <span class="pre">format_spec)</span></span>
wird in <span class="pre"> übersetzt type(value).__format__(value, <span class="pre">format_spec)<code class="xref py py-meth docutils literal">__format__()
TypeError
, der das Instanzwörterbuch umgeht, wenn nach der object
-Methode des Werts gesucht wird. Eine -Ausnahme wird ausgelöst, wenn die Methodensuche erreicht und die format_spec nicht leer ist, oder wenn entweder die
oder der Rückgabewert keine Zeichenfolgen sind.
说明:
1如果参数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'
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die integrierte Formatfunktion von Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!