python123子字符串输出_【无为则无心&Python基础】— 13.字符串的格式化输出(一)...

五、Python字符串的格式化输出

1、什么是格式化输出

数据按照某种特殊的要求输出,假如字符串中有各种格式的数据,要拼接输出:

如果输入一个整数,希望整数按照十六进制,八进制输出。

如果输入一个小数,希望小数保留后面2位数然后输出。

以科学计数法的方式来输出小数。

字符串的输出希望在十个格子内输出,或者左对齐,居中等等

即所谓的格式化输出就是需要按照一定的格式输出内容。

2、Python格式化输出的五种方式

Python的字符串变量有五种输出方式,下面我们分类来介绍一下。

方式1:字符串之间用+号拼接

# 字符串之间也可以进行加法运算

# 如果将两个字符串进行相加,则会自动将两个字符串拼接为一个字符串

a = 'abc' + 'haha' + '哈哈'

print("a = "+ a) # a = abchaha哈哈

# 字符串只能和字符串之间用+号进行拼接,

# 不能和其他的类型进行加法运算,如数值型变量。

# 如果做了会出现异常 TypeError: must be str, not int

a = 123

print("a = "+a) # 报错

# 这种写法在Python中不常见

方式2:print()函数可同时输出多个字符串

# print()函数可同时输出多个字符串

print("hello","ptyhon") # hello ptyhon

# 这种写法无论a是什么类型变量,

# 都能进行拼接字符串输出了。

a = 123

print('a =',a) # a = 123

b = 18

print("我今年",b,"岁") # 我今年 18 岁

# 注意:这种输出方式拼接的字符串,拼接的位置会有空格。

# 这种方式在实际开发中也不常用。

方式3:占位符方式

表示在创建字符串时,可以在字符串中指定占位符。

常用格式化符号

格式符号

转换

%s(常用)

字符串

%d(常用)

有符号的十进制整数

%f(常用)

浮点数

%c

字符

%u

无符号十进制整数

%o

八进制整数

%x

十六进制整数(小写ox)

%X

十六进制整数(大写OX)

%e

科学计数法(小写'e')

%E

科学计数法(大写'E')

%g

%f和%e的简写

%G

%f和%E的简写

我们常用的格式化符号是前三个,剩下的不用去死记硬背,以后用到的时候可以来笔记中查询即可。

示例:

"""

占位符格式化输出分为两个步骤

1. 准备数据(定义输出变量)

2. 格式化符号输出数据(执行输出)

"""

# 1. 今年我的年龄是x岁 -- 整数 %d

# 结果:今年我的年龄是18岁

age = 18

print('今年我的年龄是%d岁' % age)

#如果占位符没有添加内容,则原样输出占位符。

#结果:今年我的年龄是%d岁

print('今年我的年龄是%d岁')

# 2. 我的名字是x -- 字符串 %s

# 结果:我的名字是TOM

name = 'TOM'

print('我的名字是%s' % name)

# 3. 我的体重是x公斤 -- 浮点数 %f

# 结果:我的体重是75.500000公斤

weight = 75.5

print('我的体重是%f公斤' % weight)

# 说明%f默认显示小数点后6位

# %.xf,表示小数点后显示的小数位数。

# 结果:我的体重是75.50公斤

print('我的体重是%.2f公斤' % weight)

# 4. 我的学号是x -- %d

# 结果:我的学号是1

stu_id = 1

print('我的学号是%d' % stu_id)

# %03d,表示输出的整数显示位数,不足以0补全,超出当前位数则原样输出

stu_id2 = 1000

print('我的学号是%03d' % stu_id) # 001

print('我的学号是%03d' % stu_id2) # 1000

# 5. 我的名字是x,今年x岁了

# 把前边的占位符,按顺序在()小括号内进行赋值,用逗号分隔。

# 结果:我的名字是TOM,今年18岁了

print('我的名字是%s,今年%d岁了' % (name, age))

# 我的名字是x,明年x岁了

# 结果:我的名字是TOM,今年19岁了

print('我的名字是%s,明年%d岁了' % (name, age + 1))

# 说明在给占位符赋值的时候是可以进行运算的。

拓展示例

# 6. 我的名字是x,今年x岁了,体重x公斤

# 结果:我的名字是TOM,今年18岁了,体重75.50公斤

name = 'TOM'

age = 18

weight = 75.5

print('我的名字是%s,今年%d岁了,体重%.2f公斤,学号是%06d' % (name, age, weight))

# 拓展

# 因为最终结果是以字符串输出完整句子

# 那字符串中所有的数据都可以用字符串进行占位输出

# 我的名字是x,今年x岁了,体重x公斤

# 结果:我的名字是TOM,今年18岁了,体重75.5公斤

print('我的名字是%s,今年%s岁了,体重%s公斤' % (name, age, weight))

# 总结:如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串。

# 7、%d占位符,如果传入的是小数,只保留整数部分

print('hello %d' % 123.95) # hello 123

# 8、%3.5s字符串的长度限制在3-5之间,多了截取,少了补空格

print('hello %3.5s' % 'abcdefg') # hello abcde

print('hello%3.5s' % 'abc') # helloabc

print('hello%3.5s' % 'ab') # hello ab

# 9、左对齐、右对齐

# 右对齐,取20位,不够则空格补位

print('%20s' % 'hello python')

# 左对齐,取20位,不够则空格补位

print('%-20s' % 'hello python')

# 上面两句代码执行结果如下

hello python

hello python

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值