02Python学习str详解

一、str特点

​ str为有序字符集,可以切片,可以索引。但是str一旦创建,就无法修改

二、str内置方法及函数

2.1 str对象.count(子序列,起始位置-可选,结束位置-可选)

字符串去匹配子序列出现的次数

>>> s = "11221212"
>>> v1 = s.count("1")
>>> v2 = s.count("12")
>>> v3 = s.count("2",-3)
>>> v4 = s.count("12",1,-5)
>>> print("v1 = " ,v1)
v1 =  4
>>> print("v2 = " ,v2)
v2 =  3
>>> print("v3 = " ,v3)
v3 =  2
>>> print("v4 = " ,v4)
v4 =  1

2.2 str对象.encode(encoding=‘utf-8’, errors=‘strict’)

​ 该方法返回编码后的字符串,它是一个 bytes 对象

>>> s = "我是谁"
>>> v1 = s.encode()
>>> v2 = s.encode(encoding="gbk",errors="ignore")
>>> print("v1 = " ,v1)
v1 =  b'\xe6\x88\x91\xe6\x98\xaf\xe8\xb0\x81'
>>> print("v2 = " ,v2)
v2 =  b'\xce\xd2\xca\xc7\xcb\xad'

2.3 str对象.endswith() && startswith()

2.3.1 endswith(字符子集,起始位置-可选,结束位置-可选)

查看字符是否以该字符来作为结尾

>>> s = "aabbaabbccddee"
>>> v1 = s.endswith("ee")
>>> v2 = s.endswith("de",-8,-1)
>>> print("v1 = " ,v1)
v1 =  True
>>> print("v2 = " ,v2)
v2 =  True

2.3.2 startswith(prefix, start=None, end=None)

>>> s = "aabbaabbccddee"
>>> v1 = s.startswith("aa")
>>> v2 = s.startswith("ab")
>>> v3 = s.startswith("ab",1,-1)
>>> v1
True
>>> v2
False
>>> v3
True

2.4 str对象.expandtabs(tablesize=8)

  • tabsize – 指定转换字符串中的 tab 符号(’\t’)转为空格的字符数。

该方法返回字符串中的 tab 符号(’\t’)转为空格后生成的新字符串。

>>> s = "12\t3"
>>> v1 = s.expandtabs(tabsize=20)
>>> v1
'12                  3'
>>> len(v1)
21
>>> v2 = s.expandtabs()
>>> v2
'12      3'
>>> len(v2)
9

# 应用
>>> s = "My name is %s \t  My age is %d \t My car is %s"
>>> jack = s % ("Jack", 21,"BMW")
>>> john = s % ("John",22,"BEN-Z")
>>> print(jack.expandtabs(20))
My name is Jack       My age is 21       My car is BMW
>>> print(john.expandtabs(20))
My name is John       My age is 22       My car is BEN-Z

2.5 str对象.find() && rfind()

2.5.1 find(sub, start=None, end=None)

Sub - 指定检索的字符串

Start-开始索引,默认为0

End-结束索引,默认为字符串的长度

返回:如果包含子字符串返回开始的索引值,否则返回-1。

>>> s = "aabb123ss1122"
>>> v1 = s.find("1")
>>> v2 = s.find("ab")
>>> v3 = s.find("a",5,-1)
>>> v1
4
>>> v2
1
>>> v3
-1

2.5.2 rfind(sub, start=None, end=None)

refind()类似于 find()函数,不过是从右边开始查找

>>> s = "11AAAAAAa11AAAAAAAAAA11"
>>> print(s.rfind("11"))
21
>>> print(s.rfind("11",0,7))
0
>>> print(s.rfind("11",3,7))
-1

2.6 str对象.format( *args, **kwargs) && format_map(mapping)

2.6.1 format( *args, **kwargs)

2.6.2 format_map(mapping)

2.7 str对象.index() && rindex()

2.7.1 index(sub, start=None, end=None)

sub - 指定检索的字符串

start - 开始索引,默认为0

end = 结束索引,默认为字符串的长度

返回:如果包含子字符串返回开始的索引值

>>> s = "您好,abc,123,abc,您好"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当您需要将变量插入到字符串中时,您可以使用Python的字符串格式化方法 `str.format()`。以下是一些用法示例: 1. 基本用法 您可以使用一对大括号 `{}` 来表示需要插入变量的位置,然后通过 `str.format()` 方法将变量传递进去。例如: ```python name = 'Alice' age = 25 print('My name is {}, and I am {} years old.'.format(name, age)) ``` 输出结果为:`My name is Alice, and I am 25 years old.` 2. 指定变量位置 如果您希望在字符串中指定变量的位置,您可以在大括号内指定变量的索引位置。例如: ```python name = 'Alice' age = 25 print('My name is {0}, and I am {1} years old.'.format(name, age)) ``` 输出结果为:`My name is Alice, and I am 25 years old.` 3. 使用变量名称 如果您希望在字符串中使用变量的名称而不是位置,您可以在大括号内指定变量的名称。例如: ```python name = 'Alice' age = 25 print('My name is {n}, and I am {a} years old.'.format(n=name, a=age)) ``` 输出结果为:`My name is Alice, and I am 25 years old.` 4. 格式化数字 您可以使用不同的格式指定符号来格式化数字,例如指定小数点后的位数,使用千位分隔符等等。例如: ```python x = 123.456 print('The value of x is {:.2f}'.format(x)) # 保留两位小数 print('The value of x is {:,}'.format(x)) # 添加千位分隔符 ``` 输出结果为:`The value of x is 123.46` 和 `The value of x is 123.456` 以上是 `str.format()` 方法的一些常见用法,希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值