【Python 基础教程】Python语言中的数据类型(二)

65 阅读5分钟

前言

====================================================================

前面提到了Python中的数值型内置数据类型,接下来呢我们就着重介绍一下字符串类型。在Python中字符串是一个有序的字符集合,没有独立的字符数据类型,当字符串长度为1时就可以认为其是字符。Python的内置数据类型str用于字符串处理。str对象的值为字符系列字符串是不可变序列。


在这里插入图片描述


一、字符串的外观

==========================================================================

1.字符串字面量


顾名思义字符串就是有一串字符所组成的东西

而为了这串东西的安全,要将其放进单引号、双引号、三单引号、三双引号其中之一中。

要一一对应,不可以拿单引号配三引号。【单引号、双引号创造的字符串不可以换行】

'Hello World'

"Hello World"

'''Hello World'''

"""Hello World"""

玛丽震场

'''

Hello World



####....#.

#..###.....##....

###.......###### ### ### ### ###

........... #...# #...# #...# #...#

##*####### #.#.# #.#.# #.#.# #.#.#

####*******###### #.#.# #.#.# #.#.# #.#.#

...#.**.###.... #...# #...# #...# #...#

....**********##..... ### ### ### ###

....**** *****....

############################################################## ##################################

#...#......#.##...#......#.##...#......#.##------------------# #...#......#.##------------------#

###########################################------------------# ###############------------------#

#..#....#....##..#....#....##..#....#....##################### #..#....#....#####################

########################################## #----------# ############## #----------#

#.....#......##.....#......##.....#......# #----------# #.....#......# #----------#

########################################## #----------# ############## #----------#

#.#..#....#..##.#..#....#..##.#..#....#..# #----------# #.#..#....#..# #----------#

########################################## ############ ############## ############

'''

2.字符串与多行注释


在Python中单行注释使用的是#,对于多行注释可以使用三个双引号,也可以使用三个单引号。

#我是单行注释

'''

我是一行注释

'''

"""

我也是一行注释

"""

3.字符串编码方式


在Python2中支持的是ASCII编码,Python3中使用的是Unicode,支持中文。

内置函数ord()与chr()可以进行编码与字符之间的转换。

例如:

在这里插入图片描述

二、字符串对象

=========================================================================

1.str


str(object=‘’)#创建空字符串【当然这个object对象可以指向任意对象】

str()返回一个字符串对象通过str()可以将任意对象转换为str对象

如果被转换对象实现了__str__()方法,则转换为指定的str对象,否

则转换为repr(object),repr()是Python另一个内置的函数,该函

数返回一个对象的

更精确的字符串表示形式。

2.str实现原理


str对象是不可变对象,所以使用str方法生成的新的str对象都是一个新的对象。

字符串通常会在常量池中存在,并且一个字符串只有一个这样的机制极大的节

约了空间与时间称为【字符串驻留机制】

代码如下:

a='asd'

b='asd'

两个字符串对象地址相同

print(id(a),id(b))

3.str中的内置方法


①匹配子串

'''

参数对象在初始对象中的位置

'''

p='asdqweasdwr'

print('----------------------------------------------------')

找到打印,找不到抛出异常

找出字串第一次出现的位置

print('asd'.index(p))

print(p.index('asd'))

找出子串最后一次出现的位置

print(p.rindex('asd'))

找子串,找不到不抛出异常打印-1

print('asd'.find(p))

print(p.find('asd'))

print(p.rfind('asd'))

②字符串的大小写转换

'''

大写转小写,小写转大写,每个单词开头转大写,每段开头转大写

转换函数都是字符串对象的函数

'''

print('----------------------------------------------------')

小写转大写

print('asd asd qwe'.upper())

大写转小写

print('aSd Asd Qwe'.lower())

大小写互换

print('AsD SsE qwe'.swapcase())

开头转成小写

print('asd asd qwe'.capitalize())

每个单词开头转大写

print('asd asd qwe'.title())

③字符串中的内容对齐方法

'''

字符串对齐,只有指定的宽度大于字符串长度才会进行对齐,否则没有效果

'''

print('----------------------------------------------------')

居中

print('qwe'.center(20,'*'))

左对齐

print('asd'.ljust(20,'@'))

右对齐

print('ert'.rjust(20,'$'))

零填充

print('-8750'.zfill(10))

④拆解字符串

'''

从字符串左边开始劈分,默认以空格为间隔,劈分的结果是一个列表

sep指定分劈的字符,maxsplit指定分劈的次数

'''

print('----------------------------------------------------')

默认从左开始劈

l='hello234234234sds World kity'.split(sep='2',maxsplit=5)

print(l)

默认从右开始劈

ll='hello234234234sds World kity'.rsplit()

print(ll)

⑤判断字符串类型

'''

通过函数判断字符串内含有的字符类型

'''

print('----------------------------------------------------')

判断字符串是不是合法的标识符

print('asdqwew.,.123'.isidentifier())

判断字符串是否全部由空白字符组成(回车、换行、水平制表符)

print('\n\t'.isspace())

#判断字符串是否全部由字母组成

print('asdqwewqxas'.isalpha())

判断字符串是否全部由十进制数字组成

print('hello234234234sds World kity'.isdecimal())

判断字符串是否全由数字组成

print('hello234234234sds World kity'.isnumeric())

判断字符串是否全由字母和数字组成

print('hello234234234sdsWorldkit'.isalnum())

⑥字符串的替代与合并

收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。 img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

了解详情:docs.qq.com/doc/DSnl3ZG…