【Day 05】format 函式

str.format 是在 python 中常用的字串格式化招式,可以控制想要显示的资料型态、正负号、小数点位数等等,今天会介绍其中一部分!

.format()

常常搭配 print 使用,语法由 " { } ".format(value) 组成,value 可以包括整数、浮点数、字串等等

print("{} and b ".format('a'))    #value 为 str
>>> 'a and b '
print("{} and 2 ".format(1))    #value 为 int
>>> '1 and 2 '
print("{} and 2.71828 ".format(3.1415926))    #value 为 float
>>> '3.1415926 and 2.71828 '

两个以上的 { } 就有顺序之分了!

print("{} {}".format("hello", "python"))    #不设定位置,输出按照顺序
>>> 'hello python'

print("{0} {1}".format("hello", "python"))    #设定第一个括号放 0 --> hello
>>> 'hello python'

print("{1} {0}".format("hello", "python"))    #设定位置跟後面相反,所以先输出 python
>>> 'python hello'

print("{0} {1} {1}".format("hello", "python"))
>>> 'hello python python'
  • 搭配变数使用
x = 'happy'
print('{}'.format(x))
>>> 'happy'
  • 宣告字串时就加上 { }
y = 'I am {}, Hello {}.'
print(y.format('a', 'b'))
>>> 'I am a, Hello b.'
  • { } 内也可以放变数名称
print("I'm fine {0} {zz} {1} you?".format('thank', 'and', zz = 'you'))
>>> "I'm fine thank you and you?"
  • { } 内也可以决定资料型态
语法 功能
:s 以 str 的形式输出文字
:f 以浮点数形式输出数字
:d 以十进位形式输出数字
:b 以二进位形式输出数字
:o 以八进位形式输出数字
:x, :X 以十六进位形式输出数字
:e, :E 以科学记号形式输出数字
:% 以百分比形式输出数字
:c 以字元形式输出(ASCII)
print('{:s}'.format('64'))    #若为:s 则後面不能放数字要放 str 喔!
>>> '64'
print('{:f}'.format(64))
>>> 64.000000

print('{:d}'.format(64))
>>> 64

print('{:b}'.format(64))
>>> 1000000

print('{:o}'.format(64))
>>> 100

print('{:x}'.format(64))
>>> 40

print('{:e}'.format(1500000))
>>> 1.500000e+06

print('{:%}'.format(0.69))
>>> 69.000000%

print('{:c}'.format(65))
>>> 'A'
  • 控制位数
print('{:.3s}'.format('happy'))    # .3 代表指显示 3 个文字
>>> 'hap'
print('{:.2f}'.format(3.1415926))    # .2f 代表小数点後两位
>>> 3.14
print('{:07.3f}'.format(3.1415926))    #限制总共 7 位元,小数点後 3 位所以前面补两个 0
>>> 003.142
print('{:.2%}'.format(0.141526))
>>> 14.15%
print('{:.2%}'.format(0.1415926))    #这里是四舍五入喔!
>>> 14.16%
  • 正负号
#显示正负号
print('{:+.2f} {:+.2f}'.format(6.9, -6.9))  
>>> +6.90 -6.90
#负号显示,正数留空白
print('{: d} {: d}'.format(6, -9))
>>> ( 6) (-9)
  • 对齐
#限制长度 10
print('{:10}'.format('happy'))
>>> 'happy     '
#置右
print('{:>10}'.format('happy'))
>>> '     happy' 
#置左
print('{:<10}'.format('happy'))
>>> 'happy     '
#陈置中
print('{:^10}'.format('happy'))
>>> '  happy   '

待续...


<<:  android studio 30天学习笔记-day 5-介绍retrofit(一)

>>:  Day 6 - [Zenbo开发系列] 03-DDE Editor vs Dialogflow

# Day21--Git标准姿势?基本动作?

在接下来几篇的文章中,大概会提到所谓的Git,後来听许多前辈说,Git是工程师非常加分的条件,虽然自...

电子书阅读器上的浏览器 [Day04] 以翻页的方式浏览网页

在 FOSS Browser (以後简称 browser) 中已经有支援简单的手势操作,让使用者可以...

【DAY 25】Microsoft 365 的方案有好多种,到底哪些适合我?(下)

哈罗大家好~ 所以接续昨天提到的内容,IT环境建置,除了要思考使用场景外,也要考量整体组织的 IT ...

作业系统L3-行程

作业系统L3-行程 行程(Process)–正在执行的程序 行程(Process) VS 程序(Pr...

JSDC 2020 回顾 - Remote

Remote team 讲者简报 讲者TonyQ是以远端为主要工作型态的tech lead。在这场...