Python 字串格式化

2022-08-15 18:12:13 字數 3681 閱讀 8481

#字串格式化

# a=3

# b=5

# print(a,"+",b,"=",a+b)

# print(a+"+"+b+"="+(a+b))#報錯,typeerror: unsupported operand type(s) for +: 'int' and 'str'

# print(str(a)+"+"+str(b)+"="+str(a+b))#可以實現3+5=8,但是麻煩

#解決方案1 使用%號

# print("%s+%s=%s"%(a,b,a+b))

#%s表示字串,%d表示整數,%f表示浮點型別的數字

# print("我叫%s,你叫%s,他叫%s,今年是%s年"%("吳彥祖","彭于晏","周杰倫","2020"))

#前後的引數的數量必須一致

# print("我叫%s,你叫%s,他叫%s,今年是%s年"%("吳彥祖","彭于晏","周杰倫"))#typeerror: not enough arguments for format string

# print("我叫%s,你叫%s,他叫%s"%("吳彥祖","彭于晏","周杰倫","2020"))#typeerror: not all arguments converted during string formatting

# print("我叫%s,你叫%s,他叫%s,今年是%d年"%("吳彥祖","彭于晏","周杰倫","2020"))#typeerror: %d format: a number is required, not str

#寬度,指定的是下限,預設右對齊,大於指定值取全部

# print("我叫%5s,你叫%5s,他叫%5s,今年是%5s年"%("吳彥祖","彭于晏","周杰倫","2020"))#我叫 吳彥祖,你叫 彭于晏,他叫 周杰倫,今年是 2023年

# print("我叫%s,你叫%s,他叫%5s,今年是%s年"%("吳彥祖","彭于晏","周杰倫北京一倫","2020"))

#左對齊加負號

# print("我叫%-5s,你叫%-5s,他叫%-5s,今年是%-5s年"%("吳彥祖","彭于晏","周杰倫","2020"))#我叫吳彥祖 ,你叫彭于晏 ,他叫周杰倫 ,今年是2020 年

#補齊,預設補空格,%d可以補0,%s不可以,都不可以補其他字元

#可以在%的後面新增數字n,表示至少顯示n位,不足時用空格補齊,超過n則正常顯示所有字元

#對於數字而言,可以在左側補0,%0nd,n是任意自然數

# print("我叫%s,你叫%s,他叫%5s,今年是%05d年"%("吳彥祖","彭于晏","周杰倫","2020"))#typeerror: %d format: a number is required, not str

# print("我叫%s,你叫%s,他叫%5s,今年是%05d年"%("吳彥祖","彭于晏","周杰倫",2020))#我叫吳彥祖,你叫彭于晏,他叫 周杰倫,今年是02023年

# print("我叫%s,你叫%s,他叫%5s,今年是%5d年"%("吳彥祖","彭于晏","周杰倫",2020))

#%f,浮點型,%m.nf,m表示最少顯示多少位,n表示小數字數

# print("%6.2f"%(3.1415))# 3.14

# print("%6.2f"%(300089769.1415))#300089769.14

#解決方案2 format

# print("我叫{},你叫{},他叫{}".format("吳彥祖","彭于晏","周杰倫"))#我叫吳彥祖,你叫彭于晏,他叫周杰倫

#後面的引數可以比前面多,但是不能少

# print("我叫{},你叫{},他叫{},今年是{}".format("吳彥祖","彭于晏","周杰倫"))#indexerror: tuple index out of range

# print("我叫{},你叫{},他叫{},今年是{}".format("吳彥祖","彭于晏","周杰倫",2020,2009))#indexerror: tuple index out of range

# print("我叫{},你叫{},他叫{},今年是{}".format("吳彥祖","彭于晏","周杰倫","2020"))#我叫吳彥祖,你叫彭于晏,他叫周杰倫,今年是2020

#寬度,字元預設左對齊,數字預設右對齊,不足補空格

# print("我叫,你叫,他叫,今年是".format("吳彥祖","彭于晏","周杰倫",2020))#我叫吳彥祖 ,你叫彭于晏 ,他叫周杰倫 ,今年是 2020

# print("我叫,你叫,他叫,今年是".format(吳彥祖,"彭于晏","周杰倫",2020))#nameerror: name '吳彥祖' is not defined

#補齊方式,大於號右對齊,小於號左對齊,^括號居中對齊,在冒號和方向符之間可以補任意字元和數字

# print("我叫,你叫,他叫,今年是".format("吳彥祖","彭于晏","周杰倫",2020))#我叫 吳彥祖,你叫彭于晏 ,他叫 周杰倫 ,今年是2020

# print("我叫,你叫,他叫,今年是".format("吳彥祖","彭于晏","周杰倫",2020))#我叫11吳彥祖,你叫彭于晏&&,他叫*周杰倫*,今年是2020*

#tuple,可以使用下標來實現

# print("我叫,你叫,他叫,今年是".format("吳彥祖","彭于晏","周杰倫",2020,2021))#我叫11吳彥祖,你叫周杰倫&&,他叫*彭于晏*,今年是2021*

#本來就想顯式{},怎麼辦?}

# print("我叫{},你叫},他叫{}".format("吳彥祖","彭于晏","周杰倫"))#我叫吳彥祖,你叫,他叫彭于晏

# print("我叫{},你叫}},他叫{}".format("吳彥祖","彭于晏","周杰倫"))#我叫吳彥祖,你叫,他叫周杰倫

#方案2的另外一種寫法 f表示,python3.6以上的版本才支援,字串預設左對齊,數字預設右對齊

# name1="吳彥祖"

# name2="彭于晏"

# age=24

# # print(f"我叫,你叫")#我叫吳彥祖,你叫彭于晏

# print(f"我叫,你叫,年齡")#我叫 吳彥祖 ,你叫彭于晏 ,年齡 24

# print(f"我叫,你叫,年齡")#我叫11吳彥祖11,你叫&&&&彭于晏,年齡24aaaaa

#全域性變數和區域性變

a=3#全域性變數,程式任何**都可以使用

# def fun1():

# b=6#區域性變數,只能在函式內部使用

# print(b)

# # print(fun1())#返回none

# print(b)#nameerror: name 'b' is not defined

# def fun1():

# global b#宣告為全域性變數

# b=6#區域性變數,只能在函式內部使用

# # print(b)

# print(fun1())#返回none

# print(b)#nameerror: name 'b' is not defined,必須先呼叫一次給b賦值

def fun1():

global a#宣告為全域性變數

a=10#區域性變數,只能在函式內部使用

# print(b)

fun1()

print(a)#a的值變為10

print(a+5)

Python 字串格式化

字串格式化 s 格式化為字串 format hello,s.s enough for ya?values world hot print format values hello,world.hot enough for ya?f 格式化為實數 浮點數 format pi with three dec...

python字串格式化

字串的格式化 在python中也有類似於c中的printf 的格式輸出標記。在python中格式化輸出字串使用的是 運算子,通用的形式為 其中,左邊部分的 格式標記字串 可以完全和c中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單...

Python字串格式化

字串的格式化 在python中也有類似於c中的printf 的格式輸出標記。在python中格式化輸出字串使用的是 運算子,通用的形式為 其中,左邊部分的 格式標記字串 可以完全和c中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單...