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相关推荐

  1. python编程类型_Python 基础编程 数据类型(一)

    Python 对象类型 对象类型 类型的类名 描述 Character chr 单字节字符,在字符串中使用 Integer int 32位整数 Float float 双精度(64位)浮点数 Long ...

  2. python数据标准类型_Python的标准数据类型(下)

    Python的标准数据类型(下) 上一篇我们讲述了 Number   String  List  .这一篇我们将继续学习Python的标准数据类型 . 循序渐进,逐渐深化. 1Tuple Tuple( ...

  3. python复数的实部和虚部的数字类型_Python基础:数据类型-数字(5)

    在Python中,所有的数据类型都是类,每一个变量都是类的实例. Python中有6种标准数据类型:数字(Number).字符串(String).列表(List).元组(Tuple).集合(Sets) ...

  4. python 鸭子类型_Python中的鸭子输入是什么?

    python 鸭子类型 Python遵循EAFP(比许可更容易请求宽恕)而不是LBYL(跨越式). EAFP的Python哲学在某种程度上与其"鸭子打字"编码风格有关. 当程序员在 ...

  5. python bool类型_Python 的内置数值类型

    Python 是一种敏捷的.动态类型化的.极富表现力的开源编程语言,可以被自由地安装到多种平台上.Python 代码是被解释的.如果您对编辑.构建和执行循环较为熟悉,则 Python 代码对您来说更简 ...

  6. 4j是合法python数字类型_python数字类型

    在python中,数据采用了对象的形式(无论是python内置对象还是使用python工具和像C语言自行创建的对象). Python数字类型工具:整数和浮点数 复数 固定精度的十进制数 有理分数 集合 ...

  7. python数值类型_Python数值类型

    python数值类型 In programming, Data Types are an essential concept. Data of various types can be stored ...

  8. python 容器类型_Python容器类型公共方法总结

    以下公共方法支持列表,元组,字典,字符串. 内置函数 Python 包含了以下内置函数: 函数 描述 备注 len(item) 计算容器中元素个数 del(item) 删除变量 del 有两种方式 m ...

  9. Java DOM4J解析String类型XML,Document对象转String

    解析String类型XML数据 Document doc = DocumentHelper.parseText(String text); ​​​​​​​ Document对象转String Stri ...

最新文章

  1. canvas绘制圆形
  2. mysql相同姓名只显示第一条_SQL中遇到多条相同内容只取一条的最简单实现方法...
  3. Chunky Monkey-freecodecamp算法题目
  4. SSL certificate problem, verify that the CA cert is OK. Details:
  5. JavaScript逻辑运算符“”和“||”短路原则的应用
  6. eclipse下tomcat临时目录位置
  7. c开头英文语言,C开头的考研英语词汇
  8. 黑客购买恶意软件攻击航空航天和交通行业,潜伏5年+
  9. 学术会议查询 边缘计算_我设计了可以预测边缘性的“学术不诚实”的AI系统(SMART课堂)...
  10. 高薪程序员面试题精讲系列25之你了解哪些Java新特性?你们公司使用哪个JDK版本?Java11了解过吗?
  11. 123个微信小程序源码分享(附下载)
  12. session 的钝化和活化
  13. Windows10 LTSB/LTSC 企业版安装应用商店
  14. android中的m、mm、mmm、make指令
  15. 车架号/VIN码识别——图像处理工具
  16. 计算机毕业设计基于Android宠物领养救助系统app
  17. 饿了么 如何优雅地战胜 淘点点
  18. python画图显示不全屏_关于matplotlib:如何使用Python最大化plt.show()窗口
  19. 外设驱动库开发笔记45:MS4515DO压力传感器驱动
  20. 修改origin分支名

热门文章

  1. 部署在ABAP Netweaver上的UI5应用,UI5库那些JavaScript的具体位置
  2. SAP CRM服务订单状态和SAP S/4生产订单状态
  3. c++ file* 句柄泄漏_C++核心准则?讨论:持有没有被句柄管理的资源时切勿抛出异常...
  4. oid 值 内存使用_如何使用Choerodon LDAP以及配置定时任务
  5. 会员制的cd出租销售java_模式|酒店改造养老会员制盈利模式及交易结构深度探讨...
  6. uni map 实时记录轨迹_国际学校纷纷引进MAP考试系统,到底有什么好处?
  7. Java基础知识复习(一)
  8. mysql的initial_mysql Lost connection to MySQL server at ‘reading initial communication packet
  9. js修改本地json文件_Flutter加载本地JSON文件教程建议收藏
  10. UE4学习-添加机关并添加代码控制