2018年12月7日 字符串格式化2 format与函数1
tp7="i am \033[44;1m %(name)-25.6s\033[0m"%{"name":"sxj2343333"} print(tp7) #-为左对齐,\033[44;1m \033[0m 为选取44色号的颜色
tp1="I am {},age{},{}" tp2=tp1.format("sxj",18,"abc") print (tp2) tp3="I am {1},age{1},{1}" tp4=tp3.format("sxj",18,"abc") print(tp4)
2、Format方式
[[fill]align][sign][#][0][width][,][.precision][type]
- fill 【可选】空白处填充的字符
- align 【可选】对齐方式(需配合width使用)
- <,内容左对齐
- >,内容右对齐(默认)
- =,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
- ^,内容居中
- sign 【可选】有无符号数字
- +,正号加正,负号加负;
- -,正号不变,负号加负;
- 空格 ,正号空格,负号加负;
- # 【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示
- , 【可选】为数字添加分隔符,如:1,000,000
- width 【可选】格式化位所占宽度
- .precision 【可选】小数位保留精度
- type 【可选】格式化类型
- 传入” 字符串类型 “的参数
- s,格式化字符串类型数据
- 空白,未指定类型,则默认是None,同s
- 传入“ 整数类型 ”的参数
- b,将10进制整数自动转换成2进制表示然后格式化
- c,将10进制整数自动转换为其对应的unicode字符
- d,十进制整数
- o,将10进制整数自动转换成8进制表示然后格式化;
- x,将10进制整数自动转换成16进制表示然后格式化(小写x)
- X,将10进制整数自动转换成16进制表示然后格式化(大写X)
- 传入“ 浮点型或小数类型 ”的参数
- e, 转换为科学计数法(小写e)表示,然后格式化;
- E, 转换为科学计数法(大写E)表示,然后格式化;
- f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
- F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
- g, 自动在e和f中切换
- G, 自动在E和F中切换
- %,显示百分比(默认显示小数点后6位)
-
tp1="I am {},age{},{}" tp2=tp1.format("sxj",18,"abc") print (tp2) tp3="I am {1},age{1},{1}" tp4=tp3.format("sxj",18,"abc") print(tp4) tp5="I am {name},age{age},{love}" tp6=tp5.format(** {"name":"sxj","age":18,"love":"mm"}) print ("注意传递字典需要**加持",tp6) tp5="I am {name},age{age},{love}" tp7=tp5.format(name="sxj",age=111,love="mm") print(tp7) tp5="I am {:s},age{:d},{:.3f}"#用法同%一样 tp8=tp5.format("sxj",18,44.5225222) print(tp8) tp5="I am {:s},age{:d},{:.3f}" tp9=tp5.format(*["sxj9",11111,22.33433]) print("注意传递list用*加持",tp9) tp5="I am {name:s},age{age:d},{love:.3f}" #:s:d:f定义不同类型 tp10=tp5.format(name="abc",age=232,love=89.9545) print(tp10) tpx="numbers:{:b},{:o},{:d},{:x},{:X},{:%}" tp11=tpx.format(12,16,3,40,40,0.33444) print(tp11)
print("函数定义") def test(x): " sxj "#函数定义描述 强烈建议 x+=1 return print(x) #返回打印值 或者直接返回x test(5) def test2(): "abc" for i in range(5): i+=1 print (i) return# 可以不写返回值 test2() print("过程定义:没有return") print("return 也可以返回多个值") def test3(): msg="test3" print(msg) return 1,2,3,4,[2,4,5,4],True# 以元祖的形式返回多个值 t3=test3() print (test3()) # 返回值=0 则返回 none # 返回值=1 返回object # 返回值 > 1 则返回tuple
def test(x,y,z): print(x) print(y) print(z) test(y=2,x=1,z=4) # 关键字参数位置无需固定,但不能少 #如果混用,位置参数必须在关键字参数左边 test(4,2,z=5) def handle(x,type="sxj"):#设置type为默认参数 print(x) print(type) handle("hello")#默认参数可以不写 handle("abc","传递默认参数")
# 非固定参数组: ** 字典 *列表/元祖? def test(x,*args): print (x) print (args) test(1,2,3,4,5) #输出2,3,4,5 组成的元祖 ,args为预留后续的可扩展 test(1,*['x','y','z']) #前面加*表示遍历整个列表 test(1,['x','y','z']) #如果没有*则表示列表作为一个整体 def test2(x,**kwargs): print(x) print(kwargs) test2(1,y=2,z=3) #传递生成的是字典 def test3(x,*args,**kwargs):#代表能接受任何形式的参数 print(x) print(args) print(kwargs) print() test3(1,*[2,3,4],**{"a":2,"b":4,"c":4}) print() test3(1,[4,5,6],a=4,b=4,c=1)