1、Print常规 输出
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":
#!/usr/bin/python3
x = "a"
y = "b"
# 换行输出
print(x)
print(y)
print('---------')
# 不换行输出
print(x, end=" ")
print(y, end=" ")
print()
结果输出:
D:\PycharmProjects\TestPython\venv\Scripts\python.exe D:/PycharmProjects/TestPython/Main a b --------- a b Process finished with exit code 0
2、print变量输出
#!/usr/bin/python3
# 文件名: using_sys.py
import sys
print('命令行参数如下:')
for i in sys.argv:
print(i)
print('\n\nPython 路径为:', sys.path, '\n')
结果输出:
命令行参数如下:
D:/PycharmProjects/TestPython/TestMain.py
Python 路径为: ['D:\\PycharmProjects\\TestPython', 'D:\\PycharmProjects\\TestPython', 'C:\\Python\\Python37\\python37.zip', 'C:\\Python\\Python37\\DLLs', 'C:\\Python\\Python37\\lib', 'C:\\Python\\Python37', 'D:\\PycharmProjects\\TestPython\\venv', 'D:\\PycharmProjects\\TestPython\\venv\\lib\\site-packages', 'D:\\PycharmProjects\\TestPython\\venv\\lib\\site-packages\\setuptools-40.8.0-py3.7.egg', 'D:\\PycharmProjects\\TestPython\\venv\\lib\\site-packages\\pip-19.0.3-py3.7.egg']
3、Print字符串格式化输出:
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。
还可以格式化数字:
小例子说明:
import numpy as np
a = np.sqrt(2)
b = np.sqrt(3)
c = np.sqrt(5)
print(f'a={a:.1f},b={b:.2f},c={c:.3f}')
# Hi, PyCharm
# a=1.4,b=1.73,c=2.236
# 等价于
# print(f'a={a:.1f},b={b:.2f},c={c:.3f}'.format(a, b, c))
foo = "bar"
print(f"{ foo = }")
# foo = 'bar'
line = "The mill's closed"
print(f"{line = }")
# line = "The mill's closed"
print(f"{line = :20}")
# line = The mill's closed
print(f"{line = !r:20}")
# line = "The mill's closed"
d = 214
print(f'数字是{d:0<5d}') # 数字是21400
print(f'数字是{d:0^5d}') # 数字是02140
print(f'数字是{d:0>5d}') # 数字是00214
import math
print('常量 PI 的值近似为: {!s}。'.format(math.pi))
# 常量 PI 的值近似为: 3.141592653589793。
print('常量 PI 的值近似为: {!r}。'.format(math.pi))
# 常量 PI 的值近似为: 3.141592653589793。
print('常量 PI 的值近似为: {!s}。'.format('bar'))
# 常量 PI 的值近似为: bar。
print('常量 PI 的值近似为: {!r}。'.format('bar'))
# 常量 PI 的值近似为: 'bar'。
name = '全洛'
line = 'Hello, World'
hi = f'{name}: {line}'
print(f'{hi!r}')
# '全洛: Hello, World'
print('foo {!s}'.format('bar'))
# 输出:foo bar
print('foo {!r}'.format('bar'))
# 输出:foo 'bar'
!a (使用 ascii()), !s (使用 str()) 和 !r (使用 repr()) 可以用于在格式化某个值之前对其进行转化:
>>> import math
>>> print('常量 PI 的值近似为: {}。'.format(math.pi))
常量 PI 的值近似为: 3.141592653589793。
>>> print('常量 PI 的值近似为: {!r}。'.format(math.pi))
常量 PI 的值近似为: 3.141592653589793。
4、旧式字符串格式化
% 操作符也可以实现字符串格式化。 它将左边的参数作为类似 sprintf() 式的格式化字符串, 而将右边的代入, 然后返回格式化后的字符串. 例如:
>>> import math
>>> print('常量 PI 的值近似为:%5.3f。' % math.pi)
常量 PI 的值近似为:3.142。
因为 str.format() 是比较新的函数, 大多数的 Python 代码仍然使用 % 操作符。但是因为这种旧式的格式化最终会从该语言中移除, 应该更多的使用 str.format().
5、print(f'')的用法
[1]用法示例:
print(f'.......')
注意:f后面一定要紧跟字符串,不能有空格,否则会报错。这种字符常量表示方式是在python3.6之后引入的。
print语句中加入f就可以起到和format函数类似的作用。
a = 1
b = 2
c = 3
print(f'a={a},b={b},c={c}')
# 等价于
# print('a={},b={},c={}'.format(a, b, c))
结果:
a=1,b=2,c=3
可以看出print(f'.....')的语法特别清楚,它比format的用法更加清晰,因为format还需要前后讲括号对号入座,而print(f'.....')中的括号可以直观地看到里面具体值是什么。
[2] {:.nf} 控制小数点位数
import numpy as np
a = np.sqrt(2)
b = np.sqrt(3)
c = np.sqrt(5)
print(f'a={a:.1f},b={b:.2f},c={c:.3f}')
# 等价于
# print(f'a={a:.1f},b={b:.2f},c={c:.3f}'.format(a, b, c))
结果:
a=1.4,b=1.73,c=2.236
# 分别保留1位,2位,3位小数
{:.nf} , n表示保留几位小数。