提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。
Python的输出方法和Scala的很一样都是直接用方法就可以
bash
print()
但是Python的输出支持多元化的方式,其实说白了就是其他语言支持的那些Python也可以
Python可以使用格式化符号,如下我找了一些,不一定全,不过一般用的也不多
bash
a = 12
print("小明今年%d岁" %a)
结果:小明今年12岁
a = 12
print("小明今年%d岁,小花今年也是%d岁" %(a,a))
结果:小明今年12岁,小花今年也是12岁
除了上面这种格式化输出,Python还支持如下的格式化输出方式,我从菜鸟教程上Copy过来大家看一下就好,如下
bash
"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
"{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
"{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
#设置名称占位
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
# 通过字典设置参数,两个星号是固定的格式
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
my_list1 = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {1[0]}".format(my_list,my_list1)) # "开头的0或者1" 是必须的,是指后面的列表
#也可以是一个对象
class AssignValue(object):
def __init__(self, value):
self.value = value
my_value = AssignValue(6)
print('value 为: {0.value}'.format(my_value)) # 0 和上面的列表列子一样的意思
当然不止这些还有输出时对数值的格式化,不过用到了大家网上一搜就出来了,而且说实话就工作而言用到这些五花八门的输出方式的机会相当小,就算用到了我们也可以网上找到,比如去菜鸟教程format篇里面很多的
当然看了菜鸟教程里面数字输出之后,可能感觉和我们常说的那种普通的数字格式化不一样,其实没关系Python允许我们直接如以前那样使用数字的格式化
bash
a = 12.12345
print("今天买了%.2f千克的水果" %a)
结果:今天买了12.12千克的水果
不过Python在输出方面有一个和Scala很像的东西,这个东西在Scala里面叫做"插词器",在Python里面没有专门的叫法,且它只有一个
bash
a = 12
print(f'今天买了{a}千克的水果')
当然Python同样支持转义字符的使用
bash
print('今天买了\n千克的水果')
最后给大家介绍一个Python支持的输出小知识点,Python的输出可以更改结束符
bash
print('今天买了水果', end="\n")
print('今天买了水果', end="\t")