如何更好地使用print 使用 sep 巧用 format 和 f-string print 的另一种格式化 % print 还可以打印各种类型

print默认是自动换行的
print的结尾默认加了一个换行转义字符 n,所以会默认换行的

print()
print()

1
print(end='。')

1
2
3
print('乾-大象')
print('天行健', end=',')
print('君子以自强不息', end='。')

乾-大象
天行健,君子以自强不息。
Process finished with exit code 0

使用 sep

作用是将多个字符串 串起来打印,字符串之间加标点符号
不带 sep 默认是字符串之间加空格

1
2
print('天行健', '君子以自强不息')
print('天行健', '君子以自强不息', sep=',')

天行健 君子以自强不息
天行健,君子以自强不息

巧用 format 和 f-string

1
2
print('小明今年' + str(18))
print('小明今年{}'.format(18))

小明今年18
小明今年18

或者这样
f-string 方式更灵活
直接在字符串中添加{},在{}中添加变量或函数都可以

1
2
age = 18
print(f'小明今年{age}')

小明今年18

在{}中添加函数

1
2
3
4
def test():
return 17

print(f'小明今年{test()}')

小明今年17

print 的另一种格式化 %

最常用的点位符是 %s 和 %d
注意 % 前后不加逗号,
用元组小括号()将要打印的数据包裹起来即可

1
print('%s今年%d,长度是%d' % ('小明', 18, 18))

小明今年18,长度是18

print 还可以打印各种类型

列表、元组、变量都不在话下

1
2
3
4
5
6
list = [1, 2, 3, 4, 5, 6]
tuple = (1, 2, 3, 4, 5, 6)
num = 999
print(list)
print(tuple)
print(num)

[1, 2, 3, 4, 5, 6]
(1, 2, 3, 4, 5, 6)
999

打印类实例

1
2
3
4
5
6
class Person():
def __init__(self, name, length):
self.name = name
self.length = length

print(Person('小明', 18))

<main.Person object at 0x0119DDF0>

1
2
3
4
5
6
7
8
9
class Person():
def __init__(self, name, length):
self.name = name
self.length = length

def __str__(self):
return f'Person的信息是 name:{self.name} length:{self.length}'

print(Person('小明', 18))

Person的信息是 name:小明 length:18

以上代码先在类中定义了 str 方法,这样在执行 print 的时候
它会先去执行 str 方法,从而打印出相关信息