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)
2018年12月7日 字符串格式化2 format与函数1的更多相关文章
- 2018年12月8日广州.NET微软技术俱乐部活动总结
吕毅写了一篇活动总结,写得很好!原文地址是:https://blog.walterlv.com/post/december-event-microsoft-technology-salon.html ...
- [2018-11-27]2018年12月1日宁波dotnet社区线下活动
离上次活动,转眼又过了一个月,幸得各路大神支持,于本周六(12月1日),宁波dotnet社区的线下分享活动又来啦! 活动嘉宾及主题 董斌辉 2015-2019年微软全球最有价值专家(.NET方向) 2 ...
- 2018年12月25日 圣诞节快乐 生成器plus
import time#导入时间模块 time.sleep(5)#输入间隔时间5秒 def p_bz():#使用函数 生产包子 for i in range(100): yield "包子% ...
- 【2018年12月14日】A股最便宜的股票
新钢股份(SH600782) - 当前便宜指数:193.12 - 滚动扣非市盈率PE:2.91 - 动态市净率PB:0.96 - 动态年化股息收益率:1.75% - 新钢股份(SH600782)的历史 ...
- 【2018年12月10日】A股最便宜的股票
新钢股份(SH600782) - 当前便宜指数:196.21 - 滚动扣非市盈率PE:2.86 - 动态市净率PB:0.95 - 动态年化股息收益率:1.78% - 新钢股份(SH600782)的历史 ...
- 【2018年12月05日】滚动市盈率PE最低排名
深康佳A(SZ000016) - 滚动市盈率PE:1.69 - 滚动市净率PB:1.13 - 滚动年化股息收益率:4.31% - 消费电子产品 - 深康佳A(SZ000016)的历史市盈率走势图 新钢 ...
- 12月16日广州.NET俱乐部下午4点爬白云山活动
正如我们在<广州.NET微软技术俱乐部与其他技术群的区别>和<广州.NET微软技术俱乐部每周三五晚周日下午爬白云山活动>里面提到的, 我们会在每周三五晚和周日下午爬白云山. ...
- 【12月21日】A股滚动市盈率PE历史新低排名
2010年01月01日 到 2018年12月21日 之间,滚动市盈率历史新低排名.上市三年以上的公司,2018年12月21日市盈率在300以下的公司. 1 - 厦门象屿(SH600057) - 历史新 ...
- [2018-11-03]2018年10月28日宁波dotnet社区活动回顾及下次活动预告
离上次活动,有半年了,汗.之后尽量保证每月一次,以组织为主,多邀请嘉宾来分享. 本次活动不足之处 人手不足:由于活动组织事项受限于人手(目前就我一个,这次活动前后我又应邀给大红鹰学院应届生介绍dotn ...
随机推荐
- 注解(Annotation)
注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是 ...
- Nginx的介绍和安装详解
[介绍+安装]Nginx的介绍和安装详解 == 介绍和安装 == Nginx是一个自由.开源.高性能及轻量级的HTTP服务器及反转代理服务器, 其性能与IMAP/POP3代理服务器相当.Nginx ...
- java.lang.NoClassDefFoundError: org/hibernate/QueryTimeoutException
在做ssh整合的时候报错:java.lang.NoClassDefFoundError: org/hibernate/QueryTimeoutException org.springframework ...
- gitlab覆盖率
https://danny50610.blogspot.com/2017/09/gitlab-ci-phpunit-coverage.html
- Oracle查询表占用空间的大小
select * from (select OWNER, segment_name, segment_type, sum(bytes) mmm from dba_segments where /*ta ...
- webform非表单提交时防xss攻击
1.webform默认配置下,主动防御了针对表单提交的xss攻击,但这次发生时因为url导致的,所以webform的默认防御机制不起作用 webform下输出非表单提交获得的数据的时候,要加htm ...
- Android开发随笔记_1
1):android:configChanges="keyboardHidden|orientation":配置的好处:一般在AndroidManifest.xml文件中都没有使用 ...
- Real Time Credit Card Fraud Detection with Apache Spark and Event Streaming
https://mapr.com/blog/real-time-credit-card-fraud-detection-apache-spark-and-event-streaming/ Editor ...
- CSS尺寸与补白属性-----margin和padding
margin margin:[ <length> | <percentage> | auto ]{1,4} 为元素设置所有四个方向(上右下左)的外边距 auto:水平( ...
- Jmeter分布式压力测试
有时候,一台机器无法支持很多个虚拟用户并发,这时就会使用分布式测试来实现这个功能,jmeter是有提供这个功能的.要实现分布式测试,得在主从(agent和controler)机器的jmeter安装目录 ...