文章目录

  • print()语法
  • 参数
  • 输出类型
  • print()格式化输出
  • python格式化符号
  • 综合实例


print()语法

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

参数

  • objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
>>> language = 'python'
>>> print('I favorite language is ',language)
I favorite language is  python

也可以用+号来连接多个字符串(连接的必须是字符串)

>>> print('I favorite language is ' + language)
I favorite language is python

>>> age = 20
>>> print('My age is :' + str(age))
My age is :20
  • sep – 用来间隔多个对象,默认值是一个空格。
>>> print('i','love','python')
i love python

>>> print('i','love','python',sep='$')
i$love$python
  • end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
>>> print('python')
>>> print('python')
python
python

>>> print('python',end='-')
>>> print('python',end='-')
python-python-
  • file – 要写入的文件对象。
  • flush – 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。
import time
print("---Loading---")
print('Loading',end="")
for i in range(30):
    print('.',end='',flush=True)
    time.sleep(0.5)

输出类型

  1. 数字
>>> i = 2.4
>>> print(i)
2.4
  1. 字符串
>>> str = "Hello world"
>>> print(str)
Hello world
  1. 布尔
>>> print(False and True)
False
  1. 列表
>>> lists = ['python','c','c++','java']
>>> print(lists)
['python', 'c', 'c++', 'java']
  1. 字典
>>> dictionary = {'name':'lucy','age':23}
>>> print(dictionary)
{'name': 'lucy', 'age': 23}
  1. 元组
>>> tuple = ('python','c','c++','java')
>>> print(tuple)
('python', 'c', 'c++', 'java')
  1. print()基本上可以输出任何类型,任何东西都可以print()一下,有可能了现惊喜
>>> tuple = ('python','c','c++','java')
>>> print(type(tuple))
<class 'tuple'>

print()格式化输出

  • 整型输出%d
>>> print('My age is %d'%(20))
My age is 20
  • 字符串输出%s
>>> print('My name is %s'%('lcuy'))
My name is lcuy
  • 浮点数输出%f
>>> print('%f'%(3.14))
3.140000
  • 保留指定几位小数%.nf(n:指定的位数),最后一位四舍五入
>>> print('%.2f'%(3.14))
3.14

>>> print('%.6f'%(3.1415926))
3.141593
  • 指定占位符宽度%ns(n:指定的位数)
>>> print("My name is %10s, age is %6d , wight is %5.2fkg"%('Lucy',20,1.156))
My name is       Lucy, age is     20 , wight is  1.16kg
  • 用*从元组读取宽度或精度
>>> print('%*.*f'%(10,3,3.1415926))
     3.142
  • 指定占位符宽度左对齐%-ns
>>> print("My name is %-10s, age is %-6d , wight is %-5.2fkg"%('Lucy',20,1.156))
My name is Lucy      , age is 20     , wight is 1.16 kg
  • 字符串截取%.ns
>>> print("%.2s"%("hello word"))
he

-用0填充占位符的空白

print('%010.3f'% (3.1415926))
000003.142
  • 显示正负号
>>> print('%+f'%(-3.1415))
-3.141500

-显示%号

>>> print("%.0f%%"%(90))
90%

python格式化符号

格式

描述

%%

输出%号

%s

字符串

%d

整型(十进制)

%c

字符及其ASCII码

%u

无符号整型(十进制)

%o

无符号八进制

%x

无符号十六进制

%X

无符号十六进制(大写)

%f

浮点数

%e

用科学计数法格式化浮点数

%E

作用同%e

%g

浮点数(根据值的大小采用%e或%f)

%G

作用同%g

%p

指针(用十六进制打印值的内存地址)

%n

存储输出字符的数量放进参数列表的下一个变量中

%ld

长整型

%lf

双浮点数

*

定义宽度或小数点精度

-

左对齐

+

显示正负号

在正数前面显示空格

#

在八进制数前面显示0,在十六进前面显示0x或0X

0

显示的数字前面填充0而不是默认的空格

综合实例

name = 'eve'
age = 20
job = 'IT'
salary = 2000
height = 1.812
msg = '''
------------info of %s------------
Name  :%s
Age   :%d
Job   :%s
Salary:%d
Height:%.1fm
You will be retirement in:%d
--------------end------------------
''' %(name,name,age,job,salary,height,60-int(age))
print(msg)

上面实例输出结果

------------info of eve------------
Name  :eve
Age   :20
Job   :IT
Salary:2000
Height:1.8m
You will be retirement in:40
--------------end------------------