Python字符串数据类型之字符串

四、Python数据类型

4.1、Python内置数据类型

  • 整型:int
  • 浮点型:float
  • 布尔类型:bool
  • 字符串:str
  • 二进制类型:bytes、bytearray
  • 复数:complex
  • 列表:list
  • 元组:tuple
  • 字典:dict
    a = 100 # 整型print(type(a))a = 100.0  # 浮点型print(type(a))a = True   # 布尔类型print(type(a))a = '12345' # 字符串类型print(type(a))a = b'\x01\x02\x03\x04\x05\x06\x07\x08' # 二进制类型print(type(a))a = 5 + 2j  # 复数print(type(a))a = [1, 2, 3, '123']  # 列表print(type(a))a = (1, 2, 3, '123')  #元组print(type(a))a = {"A1":"B1","A2":"B2","A3":"B3"}  # 字典print(type(a))

输出:

<class 'int'>
<class 'float'>
<class 'bool'>
<class 'str'>
<class 'bytes'>
<class 'complex'>
<class 'list'>
<class 'tuple'>
<class 'dict'>

4.2、字符串类型

4.2.1、字符串定义

python 中的字符串字面量由单引号或双引号括起来表示:

a = '12345'
print(a)
a = "12345"
print(a)

字符串也可以使用三个单引号或者三个双引号括起来表示,这种方式支持换行符的输入:

    a = '''
锄禾日当午,
汗滴禾下土。
谁知盘中餐,
粒粒皆辛苦。'''

等价于:

a = "锄禾日当午,\n汗滴禾下土。\n谁知盘中餐,\n粒粒皆辛苦。\n"

4.2.2、字符串拼接

4.2.2.1、使用“+”拼接
    str1 = "姓名:"str2 = "张三"print(str1+str2)

输出:

姓名:张三
4.2.2.2、使用join函数拼接
  • 使用join函数拼接的效率比使用“+”高很多,因为使用“+”会涉及很多内存复制以及垃圾回收操作
  • join只接收一个参数,可以是元组、字典、列表、字符串等
  • 双引号""中的内容会拼接到每两个字符串之间
    string_a = " ".join(["I", "love", "python!"])print(string_a)string_b = "I"string_c = "love"string_d = "python!"string_e = "*".join([string_b, string_c,string_d])print(string_e)

输出:

I love python!
I*love*python!
4.2.2.3、使用格式化输入拼接
    str1 = "姓名:"str2 = "张三"str3 = "%s%s 年龄:%d" % (str1, str2, 18)print(str3)

输出:

姓名:张三 年龄:18
4.2.2.4、使用“*”拼接

“*”用于拼接多个相同的字符串,表示这个字符串重复n次:

    a = "1234x"*3print(a)

输出:

1234x1234x1234x

4.2.3、字符串格式化

4.2.3.1、格式化操作符:%
    str1 = "姓名:"str2 = "张三"str3 = "%s%s 年龄:%d" % (str1, str2, 18)print(str3)

输出:

姓名:张三 年龄:18
4.2.3.1、使用format函数

format函数可以通过指定位置和参数来格式化字符串,字符串中使用大括号“{}”表示.

  • 使用位置格式化字符串,数字表示第几个参数,0表示第一个参数,且0是必须得;
  • 使用参数来格式化字符串:大括号“{}”中填写参数,format中填写参数对应的值;
    str1 = "{0} love {1}!".format("I", "python")str2 = "{a} love {b}!".format(a="I", b="python")print(str1)print(str2)

输出:

I love python!
I love python!
4.2.3.3、使用f-strings格式化

f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便。f-string在形式上是以 f 或 F 修饰符引领的字符串(f’xxx’ 或 F’xxx’),以大括号 {} 标明被替换的字段;f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式:
f-string在功能方面不逊于传统的%-formatting语句和str.format()函数,同时性能又优于二者,且使用起来也更加简洁明了,因此对于Python3.6及以后的版本,推荐使用f-string进行字符串格式化。

  1. f-string使用{}表示被替换字段,里面直接填入被替换内容,被替换内容可以是变量、表达式、函数
    a = 1b = 2str3 = f"{a} + {b} = {a + b}"print(str3)

输出:

1 + 2 = 3
  1. 可以使用冒号 : 后跟格式规范来指定数值或字符串的显示方式
    PI = 3.1415926print(f"PI的值约等于:{PI:.3f}") # 保留三位小数print(f"PI的值约等于:{PI:<.3f}") # 左对齐,保留三位小数print(f"PI的值约等于:{PI:>10.3f}") # 右对齐,总宽度10个字符,保留三位小数print(f"PI的值约等于:{PI:^10.3f}") # 居中对齐

输出:

PI的值约等于:3.142
PI的值约等于:3.142
PI的值约等于:     3.142
PI的值约等于:  3.142 
  1. 关于对齐,如果宽度不够默认是补空格,我们也可以指定补充的字符:
    PI = 3.1415926print(f"PI的值约等于:{PI:*>10.3f}") # 右对齐,总宽度10个字符,保留三位小数print(f"PI的值约等于:{PI:*<10.3f}")  # 做对齐,总宽度10个字符,保留三位小数print(f"PI的值约等于:{PI:*^10.3f}") # 居中对齐,总宽度10个字符

输出:

PI的值约等于:*****3.142
PI的值约等于:3.142*****
PI的值约等于:**3.142*** 
4.2.4、字符串处理常用函数
1) 大小写转换str.lower、str.upper以及str.casefold。

lower和casefold都可以把英文字符转换成小写,但是lower只能转换英文字符,casefold还可以转换其它语言的字符。

    str1 = "Hello World!"print(str1.upper())print(str1.lower())print(str1.casefold())

输出:

HELLO WORLD!
hello world!
hello world!
2) 字符串查找和替换

str1.find(substring, start, end)
功能:在字符串str1的起始位置start到结束位置end之间查找子字符串substring,start和end两个参数可以省略,表示在整个字符串中查找
参数:substring表示要查找的子串 start表示字符串起始位置索引,从0开始 end表示字符串结束位置

    str1 = "I love python!"print(str1.find("love")) # 在整个字符串中查找print(str1.find("love", 1))  # 从第一个字符之后开始查找print(str1.find("love", 1, 6))  # 从第一个字符和第6个字符之间查找print(str1.find("love", 2, -1))  # 从第2个字符和倒数第一个字符之间查找

str1.replace(old, new, count)
功能:将str1中的old字符串替换为new字符串,如果设置了第三个参数count,则表示最多替换count次

    str1 = "I*love*python!"print(str1.replace("*", "-"))  # 将str1中的所有“*”替换成“-”print(str1.replace("*", "-", 1))  # 将str1中的“*”替换成“-”且只替换一次
3)判断字符串是否以指定字符串开头或者结尾

str1.endwith(substring, start, end)
功能:判断字符串str1的起始位置start到结束位置end之间的字符串,是否以substring结尾,start和end两个参数可以省略
返回值:成功返回True,失败返回False
str1.startwith(substring, start, end) 参数和返回值、用法与endwith相同

    str1 = "music.wav"print(str1.endswith('.wav'))  # 在整个字符串中判断print(str1.endswith('.wav', 3)) # 从第三个字符串开始查找print(str1.startswith('m'))  # 判断字符串是否以‘m’开头print(str1.startswith('m', 3))  #判断字符串中第三个字符开始的字符串是否以‘m’开头

输出:

True
True
4)判断字符串是否为纯大小写字符、数字
    print("1234".isdigit())  # 判断字符串是否为数字print("abcd".islower())  # 判断字符串是否为纯小写字符print("ABCD".isupper())  # 判断字符串是否为纯大写字符print(".#$%Y".isascii())  # 判断字符串是否为纯assic字符print("   ".isspace())   # 判断字符串是否为纯空格字符

输出:

True
True
True
True
True

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#WPF控件Textbox绑定浮点型数据限制小数位方法

本文讲解C#WPF控件Textbox绑定浮点型数据限制小数位方法。 XAML中,使用StringFormat来格式化TextBox的文本 <Window x:Class="WpfApp.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.m…

【使用 uiautomator2 脚本进行波点音乐app自动化操作的教程】

本教程将指导您使用 uiautomator2 库编写脚本&#xff0c;实现自动化操作。如果您需要在设备断开连接或出现异常时重新连接设备并继续执行任务&#xff0c;这里有一份详细的代码示例和使用说明。 环境准备 安装 Python&#xff1a; 确保您的系统上安装了 Python&#xff08;推…

[数据集][目标检测]盲道检测数据集VOC+YOLO格式2173张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2173 标注数量(xml文件个数)&#xff1a;2173 标注数量(txt文件个数)&#xff1a;2173 标注…

基于R语言BIOMOD2 及机器学习方法的物种分布模拟与案例分析实践技术

BIOMOD2是一个R软件包&#xff0c;用于构建和评估物种分布模型&#xff08;SDMs&#xff09;。它集成了多种统计和机器学习方法&#xff0c;如GLM、GAM、SVM等&#xff0c;允许用户预测和分析物种在不同环境条件下的地理分布。通过这种方式&#xff0c;BIOMOD帮助研究者评估气候…

常用接口测试及接口抓包常用的测试工具

一、常用抓包工具 01、F12 Web端的话&#xff0c;google浏览器直接F12开发者模式 点击network进行抓包分析。 02、Fiddler抓包工具 客户端和服务端的http代理&#xff0c;客户端所有的请求都要先经过Fiddler&#xff0c;到响应的服务端&#xff0c;然后端返回的所有数据也都…

pytorch数学操作

文章目录 1.torch.bitwise_not()2.torch.bitwise_and()3.torch.ceil()3.torch.clamp()4.torch.torch.floor() 1.torch.bitwise_not() 在 PyTorch 中&#xff0c;torch.bitwise_not() 是一个函数&#xff0c;用于执行逐元素的位非&#xff08;bitwise NOT&#xff09;操作。 t…

如何组织基于Sqlalchemy的项目

在使用 SQLAlchemy 构建项目时&#xff0c;可以遵循一些常用的组织结构和最佳实践&#xff0c;以确保项目清晰、易于维护。下面就是我在构建项目时遇到的一些问题&#xff0c;并做了详细的记录&#xff0c;为了方便大家学习少走一些弯路。 1、问题背景 在基于Sqlalchemy的项目…

IDEA的使用配置Maven(及selenium+webdriver的下载配置)

一. 下载maven 1. maven官网下载链接 2.​​安装第二行第一列的zip压缩包 ​​​​​​​​ 二. 配置环境变量 1.新建环境变量 2.在系统变量Path环境变量中添加%Maven_HOME%\bin 三.验证环境变量是否配置成功 winr >cmd>mvn -v 如果出现Maven的版本信息&#xff0…

Matlab解决矩阵微分方程建模(代码开源)

#用matlab解决施密特正交规范化矩阵之后&#xff0c;我又想到矩阵的微分方程计算量真的太大了&#xff0c;来回转化让我头大&#xff0c;于是我尝试了一下用matlab建立模型来解决这类问题。 代码部分如下&#xff1a;注解还挺清晰的&#xff1a; %%%解微分方程组%eg&#xff…

【设计模式】代理模式(结构型)⭐⭐⭐

文章目录 1.概念1.1 什么是代理模式1.2 优点与缺点 2.实现方式2.1 静态代理2.2 动态代理 3. Java 哪些地方用到了代理模式4. Spring 哪些地方用到了代理模式 1.概念 1.1 什么是代理模式 代理模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许…

带你认识ffmpeg

FFmpeg是一个开源的跨平台音视频处理工具集&#xff0c;它提供了丰富的音视频处理功能和库&#xff0c;被广泛应用于音视频编解码、格式转换、流媒体处理等领域。 应用场景&#xff1a; 视频编解码&#xff1a;FFmpeg可以对各种视频格式进行编解码&#xff0c;包括但不限于AV…

类的特殊成员函数

使用类的嵌套&#xff0c;并自定义析构函数 #include <iostream>using namespace std; class Per{ private:string name;int age;double hight;double weight; public:Per(string name,int age,double hight,double weight):name(name),age(age),hight(hight),weight(we…

图片如何修改尺寸?四种好用的修改图片尺寸方法!

图片如何修改尺寸&#xff1f;图片是一种常见的文件类型&#xff0c;它存在于什么生活的方方面面&#xff0c;虽然图片很好用&#xff0c;但是大家日常也要注意图片的尺寸&#xff0c;如果图片尺寸不对是会带来很多问题的&#xff0c;下面小编就举例说明几个问题&#xff0c;首…

web 前端技术的一些知识点分享~

css的规则是由选择器和 组成的 目录 css的规则是由选择器和 组成的 CSS&#xff08;层叠样式表&#xff09;的规则是由选择器和声明块组成的。 选择器用于选定页面上的元素&#xff0c;这可以是一个元素标签&#xff08;如 h1&#xff09;、类&#xff08;如 .classname…

Unity 自定义房间布局系统 设计与实现一个灵活的房间放置系统 ——物体占用的区域及放置点自动化

放置物体功能 效果&#xff1a; 功能&#xff1a; 自定义物体占用区域的大小一键调整占用区域调整旋转度数&#xff0c;分四个挡位&#xff1a; NoRotation&#xff1a;该物体不能调整旋转。MaximumAngle&#xff1a;每次转动90。NormalAngle&#xff1a;每次转动45&#xff…

根据租户id切换数据源

花了半天时间&#xff0c;使用spring-boot实现动态数据源&#xff0c;切换自如 在一个项目中使用多个数据源的情况很多&#xff0c;所以动态切换数据源是项目中标配的功能&#xff0c;当然网上有相关的依赖可以使用&#xff0c;比如动态数据源&#xff0c;其依赖为&#xff0c;…

银河麒麟解压命令

银河麒麟&#xff08;Kylin&#xff09;操作系统是基于Linux的操作系统分支之一&#xff0c;其使用的解压命令与Linux系统中的命令基本相同。 在银河麒麟系统中&#xff0c;常用的解压命令有以下几种&#xff1a; 对于.tar文件&#xff1a; tar -xvf file.tar对于.tar.gz或.…

探索营销系统业务架构的设计与应用

随着市场竞争的日益激烈和消费者需求的不断变化&#xff0c;营销系统作为企业营销管理的重要组成部分&#xff0c;扮演着至关重要的角色。本文将深入探讨营销系统业务架构的设计与应用&#xff0c;从客户关系管理、营销活动管理、数据分析和智能化服务等方面进行全面解析&#…

Innodb Buffer Pool缓存机制(四)预读与Mysql改进的LRU策略

一、什么是预读 InnoDB提供了预读(read ahead)。所谓预读&#xff0c;就是InnoDB认为执行当前的请求可能之后会读取某些页面&#xff0c;就预先把它们加载到Buffer Pool中。根据触发方式的不同&#xff0c;预读又可以细分为下边两种&#xff1a; 1.1 线性预读 InnoDB提供了一…

掘金AI商战宝典-高阶班:如何用AI制作视频(11节视频课)

课程下载&#xff1a;掘金AI商战宝典-高阶班&#xff1a;如何用AI制作视频(11节视频课)-课程网盘链接提取码下载.txt资源-CSDN文库 更多资源下载&#xff1a;关注我。 课程目录&#xff1a; 1-第一讲用AI自动做视频(上)_1.mp4 2-第二讲用AI自动做视频(中)_1.mp4 3-第四讲A…