Python——入门进阶之字符串对象

一:基本内容

        1.字符串是一个有序的序列,因此可以通过下标来获取字符串

        2.在python中字符串是基本的数据类型,因此可以正常通过==进行判断

         3.字符串方法不会改变字符串

二:常用方法

 1.定义:

s = "wang xiang xiu"  # 用单双引号定义都行

2.遍历:

# 遍历字符串
for i in s:
    print(i)

3.字符串方法:

# 字符串方法
print(dir(s))
"""
'capitalize', 'casefold', 'center', 'count', 'encode'
'endswith', 'expandtabs', 'find', 'format', 'format_map'
'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal'
'isdigit', 'isidentifier', 'islower', 'isnumeric'
'isprintable', 'isspace', 'istitle', 'isupper', 'join'
'ljust', 'lower', 'lstrip', 'maketrans', 'partition'
'removeprefix', 'removesuffix', 'replace', 'rfind'
'rindex' 'rjust', 'rpartition', 'rsplit', 'rstrip'
'split', 'splitlines', 'startswith', 'strip', 'swapcase'
'title', 'translate', 'upper', 'zfill'
"""

4.格式化:

# 字符串格式化
print(s.capitalize())   # Wang xiang xiu
print(s.title())     # Wang Xiang Xiu

# 判断是否符合标题格式
print(s.istitle())

# 居中
print(s.center(50))

# 右对齐
print(s.rjust(50, "+"))

5.查阅:

# 查阅字符串元素个数
print(s.count("n"))

# 查阅第一个元素的下标,没有该元素则抛出异常
print(s.index("n"))
# 查阅最后一个元素下标
print(s.rindex("n"))

# 查阅第一个元素下标,没有该元素时抛出下标-1
print(s.find("n"))
# 查阅最后一个元素下标
print(s.rfind("n"))

6.判断:

# 判断字符,既可以判断单个,也可以判断多个字符
print(s.startswith("w"))
print(s.endswith("g"))

# 判断是否由大小写字母和数字组成
print(s.isspace())

# 判断是否由ASCII码组成
print(s.isascii())

# 判断是否是标识符
print(s.isidentifier())

7.转换:

# 将其转换为大写
print(s.upper())
# 判断是否为大写
print(s.isupper())

# 将其转换为小写
print(s.lower())
# 判断是否为小写
print(s.islower())

8.拼接:

# 字符串拼接
s = "wxx"
m = ["520", "1314"]  # 于两个字符串中间拼接
a = s.join(m)
# a = "wxx".join(m)
print(a)  # 520wxx1314

9.切割:

# 字符串的切割
ss = "www.wxx.com"
mm = ss.split()  # 默认用空格进行切割
# mm = "www.wxx.com".split()
nn = ss.split(".")  # 传入特定切割字符
print(mm)  # ['www.wxx.com']
print(nn)  # ['www', 'wxx', 'com']

10.清除空格:

# 清除空格
sss = "      520      wxx        1314       "
mmm = sss.strip()
nnn = sss.lstrip()
ccc = sss.rstrip()
print(mmm)  # 520      wxx        1314 清除两侧空格
print(nnn)  # 520      wxx        1314       清除左侧空格
print(ccc)  # [      520      wxx        1314清除右侧空格]

11.移出前后缀

# 移出
a = "this is a string"
m = a.removeprefix("this")   # 移出前缀
n = a.removesuffix("string")  # 移出后缀
print(m)   # is a string
print(n)   # this is a

12.替换:

# 替换
ss = "this is a girl"
mm = ss.replace("girl", "boy")
print(mm)    # this is a boy

13.置换加密:

# 置换加密
a = str.maketrans({"a": "w", "b": "x", "c": "x"})   # 通过ASCII码进行映射
# print(a)    # {97: 'w', 98: 'x', 99: 'x'}
b = "this is a boy"
c = b.translate(a)
print(c)   # this is w xoy

14.字节数据转换:

# 字节数据转换
s = "5201314"
a = s.encode()  # 默认编码是UTF-8,将字符串转化为字节
b = a.decode()  # 将字节转换为字符串
print(a)    # b'5201314',b''中只支持ASCII码的符号
print(b)    # 5201314

m = "=-&我遇见了你"
n = m.encode("UTF-8")
print(n)   # b'=-&\xe6\x88\x91\xe9\x81\x87\xe8\xa7\x81\xe4\xba\x86\xe4\xbd\xa0'
"""
1.计算机底层存储的是字节数据,没有其他类型
2.字节数据的方法:'capitalize', 'center', 'count', 'decode'
              'endswith', 'expandtabs', 'find', 'fromhex'
               'hex', 'index', 'isalnum', 'isalpha', 'isascii',
               'isdigit', 'islower', 'isspace', 'istitle'
               'isupper', 'join', 'ljust', 'lower', 'lstrip'
               'maketrans', 'partition', 'removeprefix', 'removesuffix'
                'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit'
                'rstrip', 'split', 'splitlines', 'startswith', 'strip'
                'swapcase', 'title', 'translate', 'upper', 'zfill'
3.如果待转换的数据不是ASCII码的数值,则需要传入要转换的编码类型
4.字符串转换方法:
            1>在字符串前面直接加b符号,但是只支持ASCII表中的符号
            2>使用encode方法,注意转换时编码的问题
"""

15.切片:

# 切片
""""
   切片是开发者用来切割和获取有序序列的一种方案
   切片允许下标越界
   切片中存在正负索引,但是正负索引和切片的顺序无关,切片的切割顺序由第三个值解决
"""
a = [1, 2, 3, 4, 5, 6, 8, 24]
s = "this is a string"
print(a[3])   # 4 通过下标获取字符
print(a[3:])  # [4, 5, 6, 8, 24]  区间前闭后开
print(s[3:len(s)])   # s is a string
print(a[3:6])  # [4, 5, 6]
print(s[3:-1])    # 负索引  s is a strin
print(s[3:6:2])   # 2是步长  si
print(s[6:0:-1])  # 反着切片  si sih
print(s[::-1])   # 反转  gnirts a si siht
print(s[-8::])  # 负索引  a string

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值