自学内容网 自学内容网

Python系统教程005(字符串的格式化输出)

知识回顾

1、默认情况下,input函数接收的数据是字符串类型。

2、字符串类型的关键词是str。

3、\n和\t都是转义字符,\n用来换行,\t用来留出一段固定长度的空白。

4、type函数能够用来查看变量的数据类型

5、数据类型的转换,举个例子

x_str='3.14'
print(x_str)
y_int=float(x_str)
print(y_int)

第一个是字符型、第二个是浮点类型。

6、有字符串 'a good student',如何取出其中的good字符串

s='a good student'
print(s[2:6])

一、字符串的操作函数

通过索引可以取出字符串当中的某些内容,除了取得字符串中的内容之外,是否还能够对字符串做其它操作呢?         

如果某个字符串s1在另一个字符串s2中出现过,那么我们称s1是s2的子串。

a good student-子串-good

1.字符串操作函数之len

Xiaotuzi 和 Maotouying 谁的名字的拼写长度比较长?

要测量某个字符串的长度,可以使用len函数

Xiaotuzi长度为8

Maotouying长度为10

Maotouying 名字的拼写长度比Xiaotuzi名字的拼写长度长。

2.len函数的使用方式:len(参数)

如果参数是字符串, 那么该函数会返回字符串的长度

练习:

编程实现求出'Xiaotuzi' 和 'Maotouying' 两个名字的长度

name1='Xiaotuzi'
name2='Maotouying'
print(len(name1))
print(len(name2))

3.字符串操作函数之find

  1. I am a good student
  2. 怎么判断这段话中是否含有good这个单词?
  3. 要查找个字符串是否是另一个字符串的子串,可以使用find函数
  4. good 是 I am a good student的一个子串。

(1).find函数的使用方式:字符串.find(参数)

find函数可以查找字符串中是否含有某个子串, 如果有,则返回第一个子串的位置, 否则返回-1,此处的参数可以是要查找的子串。

编程实现判断'good'是否为'I am a good student'的子串

I

a

m

a

g

o

o

d

s

t

u

d

e

n

t

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

第一次出现子串的位置:7

s='I am a good student'
t='good'
print(s.find(t))

(2).I am a good student

怎么判断这段话中是否含有bad这个单词呢?

s='I am a good student'
t='bad'
print(s.find(t))

4.字符串操作函数之replace

I do not like Python

怎么把这段话中的do not替换成really这个单词?

要将字符串中的子串替换成另一个字符串,可以使用replace函数

I do not like Python

替换do not 为 really

I really like Python

替换后的字符串为'I really like Python'。

4.1、replace函数的使用方式: 字符串.replace(参数1,参数2)        

replace函数可以将字符串中的子串替换成另一个字符串,其中参数1是要被替换的子串,参数2是新的要替换子串的字符串。 它的返回值是子串被替换后的新的字符串。

s='I do not like Python'
print(s.replace('do not','really'))

5.字符串操作函数之strip

'     happy day     '

怎么把这段话中的前后空白部分给去掉?

  1. 要去掉一个字符串的前后空白部分,可以使用strip函数
  2. 空白部分 happy day 空白部分
  3. 去掉空白部分        
  4. 替换后的字符串为'happy day'。

5.1、strip函数的使用方式:字符串.strip( )

strip函数可以将字符串中的前后空白部分去掉,此处没有参数。 它的返回值是字符串被去掉前后空白部分后的新的字符串

s=' happy day '
print(s.strip())

二、字符串的格式化输出

如何把变量按照一定的格式输出?

比如 a = 3, 输出:'变量的值是:3'

这就需要用到 格式化符号来实现 格式化输出!

1.什么是格式化?

格式化:按照一定的格式把字符串进行输出

在Python中,可以在字符串中添加格式化符号,使用运算符%来实现格式化输出,常用的格式化符号有:%d、%f 、%s

1.1字符串的格式化输出 - %d

%d是整数格式化符号,可以将字符串中对应的部分替换成整型变量a的值

a=3
print('变量的值是:%d' %a)

格式化符号 一定要和变量 配合使用吗?

答:不一定, 可以不用和变量配合使用

print('I am %d years old'%9)

有时我们需要特定的格式。

%03d、%3d、%-3d, 可以让数字占3个空格。

%03d :如果不足3位,左边用0补齐

%3d :如果不足3位,左边用空格补齐

%-3d:如果不足3位,右边用空格补齐

print('%03d'%6)
print('%3d'%6)
print('%-3d'%6)

2.字符串的格式化输出 - %f

%f是浮点数格式化符号,可以将字符串中对应的部分替换成浮点数

print('pi=%f'%3.1415926)

如果需要特定格式, %.2f 可以保留小数点后2位

%6.2f 可以保留小数点后2位,同时让结果占6个格,左边用空格补齐

print('pi=%.2f'%3.1415926)
print('pi=%6.2f'%3.1415926)

刚刚介绍了保留小数点后若干位输出的一种方法,实际上,还有另外一种方法也可以用来控制小数点位数的输出。

3.字符串的格式化输出 - %s

%s是字符串的格式化符号,可以将字符串中对应的部分替换为字符串

print('I am a %s'%'boy')

4.字符串的格式化输出

字符串中可以使用多个格式化符号

print('My name is %s,and I am %s years old'%('Tom',10))

练习:

1.打印一份乘法表:

print('%4d * %d =%d'%(1,1,1))
print('%4d * %d =%d'%(1,2,2),end='')
print('%4d * %d =%d'%(2,2,4))
print('%4d * %d =%d'%(1,3,3),end='')
print('%4d * %d =%d'%(2,3,6),end='')
print('%4d * %d =%d'%(3,3,9))

练习02:

军队拦截了一条敌军发送的密码信息,内容是:

password = 'C++ is the best computer programming language in the world.'

请对这个字符串做以下处理:

  1. 输出密码的长度
  2. 判断这个字符串是否包含 ‘programming’ 这部分内容,如果有输出它在字符串中第一次出现的位置,如果没有这部分内容,输出-1
  3. 把'C++'这部分内容替换为'Python'
password='C++ is the best computer programming language in the world'
print(len(password))
print(password.find('programming'))
print(password.replace('C++','Python'))

总结:

  1. 字符串常用操作函数
  2. 格式化占位符
  3. 保留小数位数输出

所有代码

x_str='3.14'
print(x_str)
y_int=float(x_str)
print(y_int)
s='a good student'
print(s[2:6])
name1='Xiaotuzi'
name2='Maotouying'
print(len(name1))
print(len(name2))
s='I am a good student'
t='bad'
print(s.find(t))
s='I do not like Python'
print(s.replace('do not','really'))
s=' happy day '
print(s)
print(s.strip())
a=3
print('变量的值是:%d' %a)
print('I am %d years old'%9)
print('%03d'%6)
print('%3d'%6)
print('%-3d'%6)
print('pi=%f'%3.1415926)
print('pi=%.2f'%3.1415926)
print('pi=%6.2f'%3.1415926)
pi='3.1415926'
k=4
print('%.*f' %(k,pi))
print('I am a %s'%'boy')
print('My name is %s,and I am %s years old'%('Tom',10))
print('%4d * %d =%d'%(1,1,1))
print('%4d * %d =%d'%(1,2,2),end='')
print('%4d * %d =%d'%(2,2,4))
print('%4d * %d =%d'%(1,3,3),end='')
print('%4d * %d =%d'%(2,3,6),end='')
print('%4d * %d =%d'%(3,3,9))
password='C++ is the best computer programming language in the world'
print(len(password))
print(password.find('programming'))
print(password.replace('C++','Python'))

“学而不思则罔,思而不学则殆。”
这句话强调了学习与思考相结合的重要性,只有将学习和思考相互配合,才能真正理解知识、掌握学问,避免陷入迷茫或陷入空想。

感谢大家支持!


原文地址:https://blog.csdn.net/weixin_46669997/article/details/142751606

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!