当前位置: 首页 > news >正文

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'))

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

感谢大家支持!

相关文章:

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

知识回顾 1、默认情况下,input函数接收的数据是字符串类型。 2、字符串类型的关键词是str。 3、\n和\t都是转义字符,\n用来换行,\t用来留出一段固定长度的空白。 4、type函数能够用来查看变量的数据类型 5、数据类型的转换,举…...

六款电脑远程控制软件分享,2024最热门软件合集,总有一款适合你!速来看!

想要随时随地控制自己的电脑? 无论你是办公需求,还是要远程协助他人,一款好用的远程控制软件绝对少不了。 2024年最热门的六款远程控制软件已经为你准备好,总有一款适合你,赶快往下看吧! 1. 安企神系统—…...

优质微信群不再难寻!掌握这些技巧就够了!

在当今信息爆炸的时代,微信群已成为人们交流思想、分享知识、建立人脉的重要平台。无论是专业领域的深入探讨,还是兴趣爱好的自由交流,微信群都能为你提供一个即时互动的虚拟空间。然而,面对海量的微信群信息,如何高效…...

python - mysql操作

Python MySQL 操作 1. 背景介绍 常见的Mysql驱动介绍: MySQL-python:也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2。但是只支持Python2,目前还不支持Python3。mysqlclient:是MySQL-python的…...

基于Springboot+Vue的服装生产管理信息系统设计与实现(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 在这个…...

75.【C语言】文件操作(2)

承接74.【C语言】文件操作(1)文章 目录 5.详细阐释文件的打开和关闭 1.流 2.标准流 3.文件指针 FILE 两层含义 附:FILE的头文件 4.操作文件的步骤 1.fopen函数 ​编辑 简写的全称查询 输入&输出的含义 2.fclose函数 3.代码示例 补充:绝对路径和相对路径 注意…...

Redis 使用记录

封装调用redis类 import redis from conf.config import RedisConfigclass RedisConfig:redis_json config_data[redis_config]redis_pwd env.get(project_name).get(pwd)host redis_json.get("host")dialog_states_db redis_json.get("dialog_states_db&q…...

IDEA实用小技巧

1. IDEA代码提示忽略大小写 打开设置,点击Editor–>General–>Code Completion ,然后将右侧的Match Case前面的选框去掉勾选。 2. 快速查找接口RestfulToolkitX插件 该插件可以快速查找接口(快捷键为CTRL\) 还会在侧边栏…...

PEI转染试剂对血清的敏感性研究

在细胞生物学和基因工程领域,聚乙烯亚胺(PEI)作为一种常用的转染试剂,广泛应用于基因的递送。然而,PEI转染试剂对血清的敏感性一直是研究的热点问题。转染过程中,血清作为培养基的成分之一,可能…...

手机怎样改网络ip地址?内容详尽实用

随着网络技术的发展,更改手机IP地址已成为一种常见需求。本文将详细介绍如何在不同网络环境下更改手机IP地址,包括移动网络和WiFi网络,以及同时适用于两种网络的方法,内容详尽实用,干货满满。 一、适用于移动网络&…...

使用Pybind11,Python调用C++动态库

最近学习了一下pybind11,使用python来调用C动态库的模式,在某些场景下有用,这里做一个记录。 环境准备 安装python,我这里安装的是3.12版本 下载Pybind11库,这是一个仅包含头文件的轻量级库,使用起来非常…...

提交gitlab

1.gitlab上新建项目 2.git clone url把新项目拉下来 3.git add ./* 把需要提交的文件全部新增 4.git config --global user.email “yetuo.zhuqxsk.local” 身份认证一下 5.git commit -m “asr语音识别-对外服务” 提交 6.git push origin 推送进去 git init git add . git c…...

金慧-综合管理信息系统 LoginBegin.aspx SQL注入复现

0x01 产品描述: 金慧-综合管理信息系统(以下简称“金慧综合管理系统”)是上海金慧软件有限公司基于多年行业系统研发和实施经验,为各类企业量身定制的一套综合性管理解决方案。该系统旨在通过信息化手段,提升企业的管理…...

RHCSA的学习(4)

一、vi编辑器 (1)为什么学vi? 所有的Unix Like 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在; 很多个别软件的编辑接口都会主动呼叫 vi (例如未来会谈到的 crontab, visudo, edquota 等指令)&#x…...

linux-二进制工具

二进制查看工具: 1、hexdump -n length 只格式化输入文件的前length个字节 -C 输出规范的十六进之和ASCII码 -b 单字节八进制显示 -c 单字节字符显示 -d 双字节十进制显示 -o 双字节八进制显示 -x 双字节十六进制显示 -s 从偏移量开始输出 2、od(octal dump) 用于显示文件内…...

《数据结构》学习系列

系列文章目录 一、绪论 二、线性表、链表 三、堆栈、队列 四、数组 五、字符串 六、树...

沂机管理系统/data/Ajax.aspx接口存在SQL注入漏洞

漏洞描述 沂机管理系统/data/Ajax.aspx接口存在SQL注入漏洞,攻击者可以获取服务器权限 漏洞复现 body"后台管理系统演示版" POC GET /data/Ajax.aspx?methodlog_list&page1&limit20&fkey1&fdate12024-10-0100%3A00%3A00&fdate2…...

JVM 内存模型与垃圾回收过程详解

JVM 内存模型与垃圾回收过程详解 文章目录 JVM 内存模型与垃圾回收过程详解1. JVM内存分区1.1 具体分区1.2 JVM内存分区的必要性 2. 垃圾回收2.1 CMS垃圾回收器2.2 G1垃圾回收器2.3 JVM垃圾回收从新生代到老年代 1. JVM内存分区 1.1 具体分区 Java虚拟机(JVM&#…...

python:PyPDF2 将多个图片转换为pdf,再合并成一个PDF文件

承上一篇:java:pdfbox 3.0 去除扫描版PDF中文本水印 # 导出扫描版PDF文件中每页的图片文件 java -jar pdfbox-app-3.0.3.jar export:images -prefixtest -i your_book.pdf 导出 Writing image: test-1.jpg Writing image: test-2.jpg Writing image: t…...

Python精选200Tips:186-190

针对序列(时间、文本)数据的网络结构 续 P186-- 双向LSTM(Bidirectional Long Short-Term Memory 2005)(1)模型结构说明(2)创新性说明(3)示例代码:IMDB电影评论情感分析 …...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

微信小程序云开发平台MySQL的连接方式

注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率&#xff0c…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...