python3 开发面试题(%s和format的区别)5.31
在格式化字符串中有两种方法:
1、%s
2、format
大家常用的是哪一种方法?为什么要用你选的这种方法?
我们先看一个例子:
首先我们定义一个我军需要击杀的恐怖分子的地理坐标为 c=(128,128)
# 利用%进行字符串格式化
print("向他开炮:%s" % c) #报错 TypeError: not all arguments converted during string formatting print("向他开炮:%s" % (c, )) #正确的写法 # 用format进行字符串的格式化
print("向他开炮:{}".format(c))
format的常见方法:
#通过关键字
d1 = {"name": "duoduo", "age": 18}
# s = "{name} is {age} years old.".format(d1["name"], d1["age"])
s = "{name} is {age} years old.".format(**d1)
print(s) #通过对象属性
class Person(): def __init__(self, name, age):
self.name = name
self.age = age def __str__(self):
return "{self.name} - {self.age}".format(self=self) p1 = Person("duoduo", 18)
print(p1) #通过下标
l1 = ["duoduo", 18]
# s = "{} is {} years old. {} 帅。".format(l1[0], l1[1], l1[0])
# s = "{0} is {1} years old. {0} 帅。".format(l1[0], l1[1])
s = "{0[0]} is {0[1]} years old. {0[0]} 帅。".format(l1)
print(s) #填充与对齐
print("duoduo".center(20, "*")) #填充左右
print("{:>10}".format("duoduo")) #左边空格填充
print("{:0>10}".format("duoduo")) #左边0填充
print("{:*>10}".format("duoduo")) #左边*填充
print("{:*^10}".format("duoduo")) #左右填充
print("{:*<10}".format("duoduo")) #右边用*填充 print("duoduo".zfill(18)) # 0填充 print("{:.2f}".format(3.141592653)) #保留两位小数
print("{:b}".format(10)) #二进制
print("{:d}".format(10)) #十进制
print("{:o}".format(10)) #八进制
print("{:x}".format(10)) #十六进制 print("{:,}".format(1000000)) # 千分位格式化
python3 开发面试题(%s和format的区别)5.31的更多相关文章
- python3 开发面试题(面向对象)6.6
""" 封装.继承.多态 1. 谈谈你对面向对象的理解? 2. Python面向对象中的继承有什么特点? 3. 面向对象深度优先和广度优先是什么? 4. 面向对象中sup ...
- python3 开发面试题(collections中的Counter)6.7
''' 编写Python脚本,分析xx.log文件,按域名统计访问次数 xx.log文件内容如下: https://www.sogo.com/ale.html https://www.qq.com/3 ...
- python3 开发面试题(创建表结构)6.9
纯sql语句写出: '''设计 图书管理系统 表结构: - 书 - 书名 - 作者 - 姓名 - 出版社 - 出版社名称 - 地址 一本书只能由一家出版社出版 --> 多对一(书对出版社) 一本 ...
- python3 开发面试题(常用模块以及第三方库)6.5
""" 1. os和sys都是干什么的? 2. 你工作中都用过哪些内置模块? 3. 有没有用过functools模块? """ #sys模块 ...
- python3 开发面试题(装饰器必须考)6.4
def f(): print("2018-06-04") # 每次调用f的时候 在打印"2018-06-04" 之前打印一句 开始, 之后再打印一句 结束 de ...
- python3 开发面试题(去重保持原来的顺序)6.2
""" l1 = [11, 2, 3, 22, 2, 4, 11, 3] 去重并保持原来的顺序 """ #方式一 for 循环方法 l1 = ...
- python3 开发面试题(字典和拷贝)5.30
""" 问:执行完下面的代码后, l,m的内容分别是什么? """ def func(m): for k,v in m.items(): m ...
- python3 开发面试题(生成列表)6.1
话不多说直接上题: 生成如下列表: [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12]] # 方式一 list1 ...
- 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题
##2017.10.30收集 面试技巧 5.1 面试形式 1) 一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2) 面试官喜欢什么样的人 ü 技术好. ...
随机推荐
- ntpq –p命令
ntpq用来监视ntpd操作,ntpq -p查询网络中的NTP服务器,同时显示客户端和每个服务器的关系 [root@ ~]# ntpq -p remote refid st t when poll r ...
- 转:增强学习(二)----- 马尔可夫决策过程MDP
1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是 ...
- Linux动态库生成以及调用
Linux下动态库文件的文件名形如 libxxx.so,其中so是 Shared Object 的缩写,即可以共享的目标文件. 在链接动态库生成可执行文件时,并不会把动态库的代码复制到执行文件中,而是 ...
- 斯特林数(Stirling number)
在组合数学,Stirling 数可指两类数,第一类Stirling 数和第二类 Stirling 数,都是由18世纪数学家 James Stirling 提出的. Stirling 数有两种,第一类和 ...
- GridPanel分页条插件
GridPanel的分页条没有设置当前页显示条数的功能,会不大方便 主要是抄袭的http://www.cnblogs.com/badwps/archive/2011/04/15/2016440.htm ...
- MFC/Socket网络编程
转载: https://jingyan.baidu.com/article/676629974557c254d51b84da.html
- RabbitMQ消息队列(一): 简单队列
1. 示例选用python的pika模块进行测试,需要预先安装pika模块: https://pypi.python.org/pypi/pika/0.10.0#downloads 上述地址下载源码,加 ...
- appium===报错adb server version (31) doesn’t match this client (39); killing…的解决办法
当使用在cmd窗口调用adb shell命令的时候 提示如下: adb server version (31) doesn't match this client (39); killing...er ...
- 【 VSFTPD 】ftp 客户端问题
网络环境: 两个独立的内网环境,前端都有路由和防火墙的管控.要在这两个独立的内网使用ftp通过互联网进行通信. 首先,ftp server 服务端口默认修改为:2100 数据端口修改为:21000 将 ...
- k8s的回滚应用
kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision. 默认配置下,Kubernet ...