python string类型_Python的基本数据类型——String
Python的基本数据类型——String
String是一个Unicode字符序列,是Python中最重要的数据类型之一,可以使用单引号、双引号、三引号创建创建一个字符串
a='1234'
b="hello world"
c='''hello world 1234'''
既然单引号、双引号、三引号都可以创建字符串,那么他们的区别在哪呢?
# 单引号、双引号没有太大的区别
# 但是如果我们想输出 what's up ? 这样中间带有单引号的字符串时就要使用双引号
a='hello world'
# 输出 hello world
b="what's up ?"
# 输出 what's up ?
# 如果我们输出一篇文章或者换行的时候可以试试三引号
c='''hello worldhello world'''
# 输出
hello world
hello world字符串中的转义字符
如何使用python打印这样一段字符串'D:Download/note/notebook',使用print()直接能打印出来吗?我们来演示一下
a='D:Download\note\notebook'
print(a)
# 输出结果
D:Download
ote
otebook
结果不仅少了两个\n而且还换行了,这是因为\n是转义字符,会被当成换行符。
转义字符在字符串中使用的很广泛,下面我们通过代码了解一下转义字符以及用法
# 我们使用两种方式打印完整的路径
a='D:Download\note\notebook'
# 通过在\n前面添加\
print('D:Download\\note\\notebook')
# 在字符串前添加r或R
print(r'D:Download\note\notebook')
# 让hello world换行
a='hello world'
print('hello\nworld')
python中支持的转义字符有以下几种怎么访问字符串中的字符
可以通过切片、索引访问字符串中的字符,和大多数语言一样,索引是从0开始并且必须是整型
我们先来看看索引的使用方式
a='Hello world,你好 世界'
# 获取第一个字符
print(a[0])
# 输出 H
# 获取w
print(a[6])
# 输出 w
# 在python中空格也算是一个字符,所以是索引是6而不是5
# 获取最后一个字符串界
print(a[16])
# 这段字符串比较短,你可以数出来,但是如果是一篇文章呢
# 所以python中还提供了一种简单的方式:负数
print(a[-1]) # 界
print(a[-2]) # 世
# 注意:通过索引访问时,如果索引不存在将会报错,如下
print(a[50])
Traceback (most recent call last):
File "", line 1, in
IndexError: string index out of range
通过上面索引的方式我们可以获取字符串中的某个字符,但是如果我们想获取多个字符怎么解决呢?这个时候就要使用切片了
a='Hello world,你好 世界'
# 获取'Hello world'
print(a[0:11])
# 获取'你好 世界'
print(a[12:17])
# 通过上面的索引,我们可以尝试使用切片用负数获取最后一个字符
# 获取 '你好 世界'
print(a[-5:])
# 和上面类型的写法还有以下几种
print(a[:-6])
# 输出 Hello world
print(a[5:])
# 输出 world,你好 世界
下面图可以便于记忆和理解便于理解
思考一下:通过不存在的索引访问字符串会报错,在切片中范围不存在,会怎么样呢?这个留给大家有空测试一下
小结:通过上面几个案例,我们可以总结以下结论字符串中的索引从0开始
索引和切片中都可以使用负数,表示倒数第几个
* 切片中冒号前后的数字可以省略一个,分别表示从头到...或者从...到结束字符串的一些基本操作字符串的合并
a='hello'
b='world'
# 合并两个字符串
print(a+b)
helloworld
# helloworld中间加空格
print(a+' '+b)
# 输出10个hello
print(a+a+a+a+a+a+...)
# 这里我们可以使用乘法,就不用加10次了
print(a*10)
hellohellohellohellohellohellohellohellohellohello
# 上面的结果可能不是我们想要
# 那问题来了
# 这10个hello里面如何添加空格或逗号呢
print((a+' ')*10)
hello hello hello hello hello hello hello hello hello hello
小思考:通过上面的案例我们知道字符串可以相加、可以和数字相乘
那字符串和字符串能相乘吗?字符串和0相乘又是什么呢?
a='Hello'
b='World'
print(a*b)
print(a*0)
.
.
.
a*b
# 会报错,告诉我们字符串不能和字符串相乘
TypeError: can't multiply sequence by non-int of type 'str'
a*0
# 输出 空
# 可以通过下面两个函数判断具体输出内容
# 判断字符串的长度
print(len(a*0))
0
# 判断字符串的类型
print(type(a*0))
str
字符串的一些常用方法in 、not in判断字符串中是否包含指定的字符
# 判断 hello 是否存在于hello world
a='hello'
b='hello world'
print(a in b)
# 输出 True
# 判断 hello 是否不存在于 hello world
print(a not in b)
# 输出 False.capitalize() 首字母转为大写其他英文字母转为小写
a='hELLO WORLD 12345'
print(a.capitalize())
# 输出 Hello world 12345.swapcase() 大写转为小写,小写转为大写
a='hELLO world'
print(a.swapcase())
# 输出 Hello WORLD.lower() 全部转为小写
a='hELLO WORLD 12345'
print(a.lower())
# 输出 hello world 12345.upper() 全部转为大写
a='hello World'
print(a.upper())
# 输出 HELLO WORLD.title() 每个单词的首字母转为大写
a='this is an apple'
print(a.title())
# 输出 This Is An Apple.count() 统计字符串中字符出现的次数
# .count([, [, ]])
a='Hello worLd'
# 'l'在字符串中出现的次数
print(a.count('l'))
# 输出 2 大写的不会被统计
# 'o'在字符串0-5之前出现的次数
print(a.count('o',0,5))
# 输出 1.endswith() 判断字符串是否以某字符结尾
# .endswith([, [, ]])
a='Hello world'
# 判断是否以'world'结尾
print(a.endswith('world'))
# 输出 True
# 判断'Hello' 是否以'w'结尾
print(a.endswith('w',0,5)).startswith() 判断字符串是否以某字符开头
# .startswith ([, [, ]])
a='Hello world'
# 判断是否以'world'开头
print(a.startswith('world'))
# 输出 False
# 判断'Hello' 是否以'H'开头
print(a.startswith('H',0,5))
# 输出 True.find() 查找字符串的位置
# find([, [, ]])
a='Hello world'
# 查找'world'在字符串中的位置
print(a.find('world'))
# 输出 6
# 如果查找的对象不存在则返回-1
print(a.find('Worlds'))
# .index()的使用方法和功能类似,但是.index() 查找不到会报错.center() 给字符串前后添加空格或字符并让给定字符串居中
a='Hello world'
print(a.center(20))
# 输出 ' Hello world '
print(a.center(20,'='))
# 输出 ====Hello world=====
# 注意给定的长度必须大于字符串的长度
print(a.center(5,'='))
# 这样就没有效果.replace() 替换给定字符
# .replace(, [, ])
a='Hello world'
print(a.replace('world','python'))
# 输出 Hello python.strip() 删除前后空格或移除前后给定字符
a=' Hello world '
# 删除前后空格
print(a.strip())
# 输出 Hello world
# 移除给定字符
print(a.strip('Hd'))
# 输出 ello worl
关于字符串转化list和string的相互转化,会在后面分享
本篇字符串的分享到这里就结束了,字符串的方法还有很多,不一定要全部记住背会,先大致了解有个印象,在日后使用的时候再去查找,用的多了自然就记住啦
总结:本篇分享知识点很多,重点掌握字符串的索引和切片使用方法,关于字符串中的转义字符多多练习应该是没什么问题,python为字符串提供了大量的方法,先大致有个了解,可以方便日后查询
python string类型_Python的基本数据类型——String相关推荐
- python编程类型_Python 基础编程 数据类型(一)
Python 对象类型 对象类型 类型的类名 描述 Character chr 单字节字符,在字符串中使用 Integer int 32位整数 Float float 双精度(64位)浮点数 Long ...
- python数据标准类型_Python的标准数据类型(下)
Python的标准数据类型(下) 上一篇我们讲述了 Number String List .这一篇我们将继续学习Python的标准数据类型 . 循序渐进,逐渐深化. 1Tuple Tuple( ...
- python复数的实部和虚部的数字类型_Python基础:数据类型-数字(5)
在Python中,所有的数据类型都是类,每一个变量都是类的实例. Python中有6种标准数据类型:数字(Number).字符串(String).列表(List).元组(Tuple).集合(Sets) ...
- python 鸭子类型_Python中的鸭子输入是什么?
python 鸭子类型 Python遵循EAFP(比许可更容易请求宽恕)而不是LBYL(跨越式). EAFP的Python哲学在某种程度上与其"鸭子打字"编码风格有关. 当程序员在 ...
- python bool类型_Python 的内置数值类型
Python 是一种敏捷的.动态类型化的.极富表现力的开源编程语言,可以被自由地安装到多种平台上.Python 代码是被解释的.如果您对编辑.构建和执行循环较为熟悉,则 Python 代码对您来说更简 ...
- 4j是合法python数字类型_python数字类型
在python中,数据采用了对象的形式(无论是python内置对象还是使用python工具和像C语言自行创建的对象). Python数字类型工具:整数和浮点数 复数 固定精度的十进制数 有理分数 集合 ...
- python数值类型_Python数值类型
python数值类型 In programming, Data Types are an essential concept. Data of various types can be stored ...
- python 容器类型_Python容器类型公共方法总结
以下公共方法支持列表,元组,字典,字符串. 内置函数 Python 包含了以下内置函数: 函数 描述 备注 len(item) 计算容器中元素个数 del(item) 删除变量 del 有两种方式 m ...
- Java DOM4J解析String类型XML,Document对象转String
解析String类型XML数据 Document doc = DocumentHelper.parseText(String text); Document对象转String Stri ...
最新文章
- canvas绘制圆形
- mysql相同姓名只显示第一条_SQL中遇到多条相同内容只取一条的最简单实现方法...
- Chunky Monkey-freecodecamp算法题目
- SSL certificate problem, verify that the CA cert is OK. Details:
- JavaScript逻辑运算符“”和“||”短路原则的应用
- eclipse下tomcat临时目录位置
- c开头英文语言,C开头的考研英语词汇
- 黑客购买恶意软件攻击航空航天和交通行业,潜伏5年+
- 学术会议查询 边缘计算_我设计了可以预测边缘性的“学术不诚实”的AI系统(SMART课堂)...
- 高薪程序员面试题精讲系列25之你了解哪些Java新特性?你们公司使用哪个JDK版本?Java11了解过吗?
- 123个微信小程序源码分享(附下载)
- session 的钝化和活化
- Windows10 LTSB/LTSC 企业版安装应用商店
- android中的m、mm、mmm、make指令
- 车架号/VIN码识别——图像处理工具
- 计算机毕业设计基于Android宠物领养救助系统app
- 饿了么 如何优雅地战胜 淘点点
- python画图显示不全屏_关于matplotlib:如何使用Python最大化plt.show()窗口
- 外设驱动库开发笔记45:MS4515DO压力传感器驱动
- 修改origin分支名
热门文章
- 部署在ABAP Netweaver上的UI5应用,UI5库那些JavaScript的具体位置
- SAP CRM服务订单状态和SAP S/4生产订单状态
- c++ file* 句柄泄漏_C++核心准则?讨论:持有没有被句柄管理的资源时切勿抛出异常...
- oid 值 内存使用_如何使用Choerodon LDAP以及配置定时任务
- 会员制的cd出租销售java_模式|酒店改造养老会员制盈利模式及交易结构深度探讨...
- uni map 实时记录轨迹_国际学校纷纷引进MAP考试系统,到底有什么好处?
- Java基础知识复习(一)
- mysql的initial_mysql Lost connection to MySQL server at ‘reading initial communication packet
- js修改本地json文件_Flutter加载本地JSON文件教程建议收藏
- UE4学习-添加机关并添加代码控制