1、当你在设计程序的时候,用户输入个人信息后,要求打印成以下格式:
------------- info of cc ------------name:ccsex:manage:21tel:13200660088--------------End------------------------
你该怎么做呢?这个时候我们学习的字符串拼接就很难实现了,这个时候就得用到字符串里
一个常用的方法——格式化输出。
2、何谓格式化输出呢?
Python 字符串格式化使用 "字符 %格式1 %格式2 字符"%(变量1,变量2),%格式表示接受变量的类型。
字符串格式化时百分号后面有不同的格式符号,代表要转换的不同类型,具体的表示符号如下面所示。
格式符号 表示类型
%s 字符串
%d/%i 十进制整数
%u 十进制整数
%o 八进制整数
%x/%X 十六进制整数
%e/%E 科学计数
%f/%F 浮点数
%% 输出%
3、简单的用法如下
s = 'cc'print('%s'%s) # ccd = 2333print('%d'%d) #2333f = 18.66print('%f'%f) # 18.660000 o = 16print('%o'%o,'%x'%o) # 十进制分别转8进制和16进制 20 10e = 10000000000print('%e'%e) # 转为科学计数法表示
4、现在进入我们的主题,开头的那种怎么表示呢?
把要打印的格式先准备好, 由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系。
主要有以下几种方式,至于使用看个人喜好吧!之前忘记说了,每次敲代码前开头加上 # -*-coding:utf-8-*-
声明编码格式,非常重要,至于原因会在后面编码转换的时候详说,现在记住就好了。
方式一(最原始的):
#!/usr/bin/env python#-*- coding:utf-8 -*-# write by congcongName = input('name:')Sex = input("sex:")Age = int(input("age:"))Tel = int(input("tel:"))# the first wayprint("----------info of ",Name,'------------')print("姓名:",Name)print("性别:",Sex)print("年龄:",Age)print("电话:",Tel)print("----------End------------")
方式二:
#!/usr/bin/env python#-*- coding:utf-8 -*-# write by congcongName = input('name:')Sex = input("sex:")Age = int(input("age:")) # int()类型转换,input接收的所有输入默认都是字符串格式!
Tel = int(input("tel:")) # the second way info = ''' -------------info of %s ----------------- 姓名: %s 性别: %s 年龄: %d 电话: %d
--------------End------------------------ '''%(Name,name,Sex,Age,Tel) # 必须一一对应 print(info)
方式三(用得最多):
#!/usr/bin/env python#-*- coding:utf-8 -*-# write by congcongName = input('name:')Sex = input("sex:")Age = int(input("age:")) # int()类型转换,input接收的所有输入默认都是字符串格式!Tel = int(input("tel:"))#the third way(重要,用得最多)info = '''------------- info of {_name} ------------name:{_name}sex:{_sex}age:{_age}tel:{_tel}--------------End------------------------'''.format(_name = Name, _age = Age, _sex = Sex, _tel = Tel)print(info)