首页 > 编程语言 >python第三节:Str字符串类型(1)

python第三节:Str字符串类型(1)

时间:2024-01-09 21:36:06浏览次数:33  
标签:end str 第三节 python 测试 str1 字符串 Str print

第二节:Str字符串类型

python中处理文本数据是用str类型,不像其他语言区分字符和字符串,统一使用str类型。

str在创建后是不可变的。在python中字符类型相当于长度是1的字符串类型。


以下三种方式包裹的字符都算作字符串:

  1. 单引号: '允许包含有 "双" 引号'
  2. 双引号: "允许嵌入 '单' 引号"
  3. 三重引号: '''三重单引号''', """三重双引号"""

三重引号创建字符串时,字符串可以跨越多行,包括三重引号包裹的所有字符。


创建字符串:

方法一:使用字面值创建字符串

例子1:

str1 = '测试字符串1'
str2 = "测试字符串2"
str3 = '''测试字符串3,
str3的第二行;
str3的第三行'''

print(str1)
print(str2)
print(str3)


结果:

测试字符串1

测试字符串2

测试字符串3,

str3的第二行;

str3的第三行


方法二:通过str构造器创建字符串

例子2:

str1 = str('测试字符串1')

print(str1)


结果:

测试字符串1

字符串的方法

str.capitalize()

首字母大写。

例子:

str1 = str('abcde')
str2 = '测试capitalize'

print(str1.capitalize())
print(str2.capitalize())


结果:

Abcde

测试capitalize


str.casefold()

消除字符串的大小写形式,都转换为小写。在一般情况下和lower()一样。

例子:

str1 = str('abCDEad')
str2 = '测试cAseFOld'
print(str1.casefold())
print(str2.casefold())


结果:

abcdead

测试casefold

str.center(width[, fillchar])

返回字符串长度是width的字符串,原字符串放在正中间。使用指定的

例子:

str1 = '测试str.center'
print(str1.center(50,'*'))

结果:

*******************测试str.center*******************

str.count(sub[, start[, end]])

返回子字符串sub 在 [start, end] 范围内非重叠出现的次数。

可选参数start 与 end 是指原字符串的起止位置。含start不含end。end为空时,默认一直到字符串尾部。如果有end参数,则必须指定start参数。

如果sub 为空,则返回字符之间的空字符串数,即字符串的长度加一。但是sub参数必须。

例子:

str1 = '测试str.countstrabstrcdstrkkk' # 26
print(str1.count('str',1,5))
print(str1.count('str',1,4))
print(str1.count('str',1,5))
print(str1.count('str',2))
print(str1.count('',2))
print(str1.count('',10))
print(str1.count(''))
print(str1.count())

结果:

1

0

1

4

26

18

28

Traceback (most recent call last):

File "D:/pythonProject/test/test20240106.py", line 9, in <module>

print(str1.count())

TypeError: count() takes at least 1 argument (0 given)

str.encode(encoding='utf-8', errors='strict')

返回编码为bytes 的字符串。

encoding 默认为 'utf-8' 。

errors 控制如何处理编码错误。在python的开发模式或调试模式下才有效,暂时不需要考虑。

例子:

str1 = '测试str.encode'
print(str1.encode())
print(str1.encode(encoding='gbk'))

结果:

b'\xe6\xb5\x8b\xe8\xaf\x95str.encode'

b'\xb2\xe2\xca\xd4str.encode'

str.endswith(suffix[, start[, end]])

判断字符串以什么结尾。

如果字符串以指定的suffix 结尾则返回True,否则返回False。参数suffix 也可以是元组。可选项start、end是起止位置。不含start含end。

例子:

str1 = '测试st的r.encode'
print(str1.endswith('e',0))
print(str1.endswith('ode',0))
print(str1.endswith('测',1,8))
print(str1.endswith('d',1,8))
print(str1.endswith('的',4,4))
print(str1.endswith('的',4,5))
print(str1.endswith('的',5,5))
print(str1.endswith('的',0,5))

结果:

D:\pythonProject\venv\Scripts\python.exe D:/pythonProject/test/test20240106.py

True

True

False

False

False

True

False

True

str.expandtabs(tabsize=8)

替换字符串中制表符。默认制表位8。

返回字符串的副本,其中所有的制表符会由一个或多个空格替换,具体取决于当前列位置和给定的制表符宽度。

每tabsize 个字符设为一个制表位(默认值 8 时设定的制表位在列 0, 8, 16 依次类推)。

如果字符为制表符\t),则会在结果中插入一个或多个空格符,直到当前列等于下一个制表位。 (制表符本身不会被复制。)

如果字符为换行符\n) 或回车符 (\r),会被正常解析为换行符或回车符,并将当前列重设为零。任何其他字符会被不加修改地复制并将当前列加一(以此往后排),不论该字符在被打印时会如何显示。


例子:

str1 = '01\t012\t0123\t01234'
str2 = 'abc\t测试0123\t01234'
str3 = '01\t01\n2\t0123\t01234'
str4 = '01\t01\r2\t0123\t01234'
print(str1.expandtabs())
print(str1.expandtabs(4))
print(str2.expandtabs())
print(str3.expandtabs())
print(str3.expandtabs())

结果:

01 012 0123 01234

01 012 0123 01234

abc 测试0123 01234

01 01

2 0123 01234

01 01

2 0123 01234


str.find(sub[, start[, end]])

返回子字符串sub 在 s[start:end] 切片内被找到的最小索引。

可选参数start 、end是起止位置。如果sub 未被找到则返回 -1。


标签:end,str,第三节,python,测试,str1,字符串,Str,print
From: https://blog.51cto.com/u_16427934/9165501

相关文章

  • python通过RS485、Modbus协议读取/修改仪表数据
    目标python通过RS485的Modbus协议读取仪表相应的寄存器数据。准备工作软件安装第三方库:serial、pyserial、modbus_tkpipinstallserialpipinstallpyserialpipinstallmodbus_tk硬件一根USB转RS485的转接线(电脑本身不带RS485接口时需要)一个带Modbus通讯的仪表(例子中使用的时一......
  • python系列教程218——生成器表达式
    声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值......
  • 在Django中,`python manage.py makemigrations`和`python manage.py migrate`是两个用
    在Django中,`pythonmanage.pymakemigrations`和`pythonmanage.pymigrate`是两个用于数据库迁移的命令,它们的主要区别在于:-`pythonmanage.pymakemigrations`:这个命令主要是记录我们对`models.py`的所有改动,并且将这个改动迁移到`migrations`这个文件下生成一个文件,例如:`0001`......
  • Python入门学习规划
    新手学习Python,可以参考以下计划:基础概念学习(预计1周):熟悉Python的基本语法和数据类型(1天)学习控制流程(if、while、for等)(1天)学习函数和模块(1天)学习面向对象编程(类和对象)(1天)学习文件操作(1天)实战练习(预计2周):练习使用Python进行数据处理和科学计算(1周)练习使用Python进行网络编程(如WebS......
  • 使用Python的requests库在Linux中进行HTTP通信
    在Linux中,使用Python的requests库进行HTTP通信是一种高效且简洁的方法。requests库为发送HTTP请求提供了丰富的功能,包括GET、POST、PUT、DELETE等常见的HTTP方法,以及处理cookies、会话、参数等高级功能。首先,确保您的Linux系统已经安装了Python和requests库。如果尚未安装,可以使用......
  • Python制作进度条,原来有这么多方法
    如果你之前没用过进度条,八成是觉得它会增加不必要的复杂性或者很难维护,其实不然。要加一个进度条其实只需要几行代码。在这几行代码中,我们可以看看如何在命令行脚本以及PySimpleGUIUI中添加进度条。下文将介绍4个常用的Python进度条库:Progress第一个要介绍的Python库是Pr......
  • 16. 从零用Rust编写正反向代理, 反向代理upstream源码实现
    wmproxywmproxy是由Rust编写,已实现http/https代理,socks5代理,反向代理,静态文件服务器,内网穿透,配置热更新等,后续将实现websocket代理等,同时会将实现过程分享出来,感兴趣的可以一起造个轮子法项目wmproxygite:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/......
  • 这些常见的python编码习惯,你都会吗
    本文分享自华为云社区《不得不知的十个常见PY编码习惯》,作者:码乐。简介语言在发展和变化,编码习惯也在发生改变。这里简单聊聊17个python中常见的编码习惯或者风格。1,可变数据结构:注意在函数变量不要使用它deffoo(x=[]): x.append(1) print(x)>>>foo()[1]>>>f......
  • 一个简单采集唯品会的Python采集程序
    今天要分享的是一个简单采集唯品会的Python采集程序,用于采集唯品会商品详情页面的内容。这是之前一个粉丝的要求,因为之前写了并不是用的python,所以这次给大家补上,一起来看看吧。```pythonimportrequestsfrombs4importBeautifulSoupimportproxybrokeraspb#设置代理pro......
  • Geometry Continuity & Zebra Stripes
    斑马线分析曲面连续性。ContinuitydescriptionsAcurveorsurfacecanbedescribedashavingGn continuity, nG0:Thecurvestouchatthejoinpoint(position).G1:Thecurvesalsoshareacommontangentdirectionatthejoinpoint(tangen......