python-基础(3)-字符串操作

python字符串

python专栏地址
上一篇: python-基础(2)-数值运算
下一篇:python-基础(4)-list

本节学习python字符串的基本用法

  • 字符串初识
  • 字符串基本操作函数
  • 字符串高级操作

一、字符串初始

  • 定义字符串
  • 字符串的+ 与 *(加与乘)
  • 字符串长度求解函数len(str)

1.1 定义

str='Hello python'
print(str)
Hello python

1.2 + 与*

  • + 就是将两个字符串进行拼接
  • *一个数n,就是将一个字符串复制n次
  • len(str)得到一个字符串的长度
gufen ='Hello'+'python'+'将前面两个进行拼接了'
gufen
'Hellopython将前面两个进行拼接了'
gufen*3
'Hellopython将前面两个进行拼接了Hellopython将前面两个进行拼接了Hellopython将前面两个进行拼接了'

1.3 len 长度

len(gufen)   #  //求长度
21

二、字符串操作

  • 切分
  • s.split(‘,’):切分函数,’ '中间可以为空,即什么都不写,表示用空格作分隔符,也可以别的符号
  • s.join(s2):合并,s2是一个数组,这个合并更带插入的意思,在s2的间隔中插入s
  • s,replace(s1):替换,自己本身并不发生改变
  • s.upper()大写化
  • s.lower()小写化
  • s.strip()去掉括号
    • 去掉左空格:lstrip()
    • 去掉右空格:rstrip()

2.1 切分

gufen='1 2 3 4 5'
s1=gufen.split()
print(s1)
print(s1[0])
print(s1[2:5])
['1', '2', '3', '4', '5']
1
['3', '4', '5']

用split()函数切分,函数里面可以加东西

gufen='1,2 3 4 5'
gufen0=gufen.split(',')
print(gufen0)
print(gufen0[0])
print(gufen0[1])
['1', '2 3 4 5']
1
2 3 4 5

2.2 合并

join是字符串的函数,因此只能通过字符串来调用,join()里面可以是list,也可以是字符串

# 列表,list有n部分,将会插入(n-1)个的gufen3

gufen1=['1','2','3']
gufen2='||'
gufen3='56'
print("测试1:", gufen2.join(gufen1))
print("测试2:", gufen3.join(gufen1))

测试1: 1||2||3
测试2: 1562563
gufen1
['1', '2', '3']
# 把列表用逗号隔开,需要注意的是, 列表的成员必须是字符串
gufen3=','
gufen3.join(gufen1)
'1,2,3'

2.3 替换

replace()函数

gufen='Hello python'
gufen.replace('python','world')
'Hello world'
# 本身并没有改变
gufen  
'Hello python'
gufen='Hello python'
gufen2=gufen.replace('python','world')
gufen2
'Hello world'

2.4 大小写转换

  • upper()函数
  • lower()函数
gufen='Hello python'
gufen.upper()
'HELLO PYTHON'
gufen.lower()
'hello python'

2.5 去掉空格

左右都去掉:strip()

去掉左空格:lstrip()

去掉右空格:rstrip()

gufen=' hello world '
gufen.lstrip()
'hello world '
gufen.strip()
'hello world'
gufen.rstrip()
' hello world'

三、高级操作

3.1 基本用法

在Python中,format() 是一个内置的字符串方法,用于格式化字符串。它允许你插入和格式化变量到字符串中。format() 方法可以与命名参数或位置参数一起使用,并提供了对格式化过程的精细控制。

  • 无序传参
# 传参
'{} {} {} {}'.format('gu','feng','de', "world")
'gu feng de world'
  • 有序传参
# 按照序号传参
'{0} {2} {1} {3}'.format('gu','feng','de', "world")
'gu de feng world'
# 按照赋值传参
'{world} {gu} {feng} {de}'.format(gu=10,feng=5,de=1, world=4)
'4 10 5 1'
#按照格式传参
gufen='gu feng de world:'  
b=456.0
c=789
result='%s %f %d' % (gufen,b,c)
result

'gu feng de world: 456.000000 789'

3.2 格式化数字

template = "The price is {:.2f} dollars."
price = 123.456789
formatted_price = template.format(price)
print(formatted_price)  # 输出: The price is 123.46 dollars.
The price is 123.46 dollars.
template = "You have {:,} points."
points = 1234567
formatted_points = template.format(points)
print(formatted_points)  # 输出: You have 1,234,567 points.
You have 1,234,567 points.

2.3 格式化字符串宽度和对齐

# 指定宽度和对齐方式
template = "{:<10} | {:^10} | {:>10}"
data = ("apple", "banana", "cherry")
formatted_data = template.format(*data)
print(formatted_data) 
apple      |   banana   |     cherry

3.4 格式化字符串宽度和对齐

template = "The {animal} jumps over the {obstacle}."
data = {'animal': 'frog', 'obstacle': 'log'}
message = template.format(**data)
print(message)  # 输出: The frog jumps over the log.
The frog jumps over the log.

3.5 格式化日期和时间

from datetime import datetime

# 格式化日期和时间
now = datetime.now()
template = "The current date and time is {:%Y-%m-%d %H:%M:%S}."
formatted_datetime = template.format(now)
print(formatted_datetime)  # 输出当前日期和时间
The current date and time is 2024-04-19 21:23:32.

python专栏地址
上一篇: python-基础(2)-数值运算
下一篇:python-基础(4)-list
点个关注呗 🤪😝

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/558379.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【系统分析师】系统配置与性能评价

文章目录 1、性能指标2、阿姆达尔解决方案3、性能评价方法 1、性能指标 例题 2、阿姆达尔解决方案 大概了解 例题 3、性能评价方法

122.Mit.S081操作系统内核(实验环境搭建)

目录 一、前言 二、实验官网 三、可参考内容 四、qemu介绍 五、环境搭建 1.Linux系统 ubuntu 脚本安装 检测是否安装成功 2.SSH连接工具 3.获取代码 六、搭建成功实例 1.源码目录简析 2.启动xv6 3.远程连接成功示例 一、前言 Mit6.s081 是麻省理工学院面向本…

Antd:在文本框中展示格式化JSON

要想将对象转换为格式化 JSON 展示在文本框中&#xff0c;需要用到 JSON.stringify JSON.stringify 方法接受三个参数&#xff1a; value&#xff1a;必需&#xff0c;一个 JavaScript 值&#xff08;通常为对象或数组&#xff09;要转换为 JSON 字符串。replacer&#xff1a…

商务品牌解决方案企业网站模板 Bootstrap5

目录 一.前言 二.展示 三.下载链接 一.前言 这个网站包含以下内容&#xff1a; 导航栏&#xff1a;主页&#xff08;Home&#xff09;、关于&#xff08;About&#xff09;、服务&#xff08;Services&#xff09;、博客&#xff08;Blog&#xff09;等页面链接。主页部分…

Adipogen—Progranulin (human) ELISA Kit (mAb/mAb)

前颗粒蛋白&#xff08;Progranulin&#xff0c;PGRN&#xff09;是一种富含半胱氨酸的蛋白质&#xff0c;由~ 6kDa大小的颗粒蛋白&#xff08;granulin&#xff0c;GRN&#xff09;组成&#xff0c;具有多功能生物活性&#xff0c;在癌症、炎症、代谢性疾病和神经退行性疾病中…

2024洗地机名牌排行榜:细数最值得买的4大热门款

随着科技的迅速发展&#xff0c;人们的家里纷纷都添置了新的清洁工具——洗地机&#xff0c;它集合了吸、拖、洗于一体&#xff0c;减轻了很多家庭家务的负担&#xff0c;也成为了很多家庭改善清洁体验的新选择。那么市场上的洗地机品牌琳琅满目&#xff0c;我们要如何挑选一款…

教你三招,玩转AI通用大模型ChatGPT

工欲善其事必先利其器&#xff0c;想要高效的用好ChatGPT&#xff0c;首先&#xff0c;让我们从如何与它进行有效的对话开始。要知道&#xff0c;ChatGPT并非简单的问答机器&#xff0c;而是一个可以通过交互学习和适应的智能体。那么&#xff0c;如何让ChatGPT来更好地理解我们…

ruoyi创建子模块

点击项目 -> new -> Module 选择maven模式 构建完成 子项目默认会加入到父项目maven控制在 父项目 pom文件中 dependencyManagement 标签内加入一下代码 新建子模块的名称<!-- 测试--><dependency><groupId>com.safety</groupId><artifact…

vscode+vue开发常用插件整理

前言&#xff1a; vscode新机开发常用插件整理 1、chinese 简体中文配置 2、file-jump 别名跳转&#xff0c;可以把引入的组件&#xff0c;通过ctrl地址名 跳转组件内部 3、Vue Peek&#xff1a;vue项目中的一些配置&#xff0c;安装后&#xff0c;能实现 ctrl组件名 跳转…

JavaEE进阶:基础知识

JavaEE&#xff1a;Java企业开发 Web网站的工作流程 ⽬前用户对PC端应⽤的开发结构模式主要分为C/S和B/S结构. CS即Client/Server&#xff08;客户机/服务器&#xff09;结构. 常⻅的C/S架构的应⽤⽐如QQ&#xff0c;CCTALK&#xff0c;各种⽹络游戏 等等&#xff0c;⼀般需…

【创建型模式】工厂方法模式

一、简单工厂模式 1.1 简单工厂模式概述 简单工厂模式又叫做静态工厂方法模式。 目的&#xff1a;定义一个用于创建对象的接口。实质&#xff1a;由一个工厂类根据传入的参数&#xff0c;动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 简单工厂模式…

MYSQL之增删改查(上)

前言&#xff1a; 以下是MySQL最基本的增删改查语句&#xff0c;很多IT工作者都必须要会的命令&#xff0c;也 是IT行业面试最常考的知识点&#xff0c;由于是入门级基础命令&#xff0c;所有所有操作都建立在单表 上&#xff0c;未涉及多表操作。 1、“增”——添加数据 1.1…

【简单介绍下R-Tree】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

228 基于matlab的神经网络人脸识别

基于matlab的神经网络人脸识别。 人脸识别以视网膜、 虹膜、 指纹等生物特征的识别作为生物标识符。生物特征识别不很容易伪造、 放错位置。新型脸识别使用的方法 RobustPCA 和径向基函数网络。程序已调通&#xff0c;可直接运行。 228 人脸识别 生物特征识 神经网络 - 小红书 …

【NTN 卫星通信】NTN的信关站应该建在哪些地方

1 概述 3GPP的卫星通信讨论了透传星和再生星两种方式。透传星方式&#xff0c;卫星主要是做为中继存在&#xff0c;基本上不做通信协议的处理。再生星方式&#xff0c;gNodeB的主要功能在卫星上&#xff0c;完成通信协议的主要内容。无论是透传星还是再生星&#xff0c;都需要通…

校园小情书微信小程序源码/社区小程序前后端开源/校园表白墙交友小程序

校园小情书前端代码&#xff0c;好玩的表白墙、树洞、校园论坛&#xff0c;可独立部署&#xff0c;也可以使用我部署的后台服务&#xff0c;毕业设计的好项目。 搭建教程&#xff1a; 一、注册管理后台 1、登录小情书站点进行注册&#xff1a;https://你的域名 2、注册成功…

【JavaEE多线程】线程中断 interrupt()

系列文章目录 &#x1f308;座右铭&#x1f308;&#xff1a;人的一生这么长、你凭什么用短短的几年去衡量自己的一生&#xff01; &#x1f495;个人主页:清灵白羽 漾情天殇_计算机底层原理,深度解析C,自顶向下看Java-CSDN博客 ❤️相关文章❤️&#xff1a;清灵白羽 漾情天…

动态酷黑主页源码

效果图 PC端 &#xff08;移动端不能访问&#xff09; 部分代码 index.html <!DOCTYPE html> <html lang"zh-CN"> <head> <meta http-equiv"X-UA-Compatible" content"IEedge,chrome1"> <meta charset"ut…

java算法day58 | 单调栈part01 ● 739. 每日温度 ● 496.下一个更大元素 I

739. 每日温度 思路&#xff1a; 这道题用暴力求解法会超时。 那我们就要想如何只遍历一遍就能求解出每个位置的下一个更大值在哪呢。 主要的思想就是空间换时间。定义一个单调栈&#xff0c;每次遇到比栈顶元素小的或相等的&#xff0c;直接入栈&#xff0c;遇到比栈顶元素大的…

电学启蒙积木电子方案

东莞市酷得智能科技有限公司是一家集芯片贸易和电子方案定制开发的研发型公司&#xff0c;其中电子积木方案是酷得经营多年的其中一条比较成熟的研发线。电学积木玩具不仅仅是一种娱乐工具&#xff0c;更是一种教育工具&#xff0c;能够在孩子们的成长过程中发挥多方面的积极作…