python-字符串类型-基础数据类型整理


python-字符串类型-基础数据类型整理


为了方便大家拷贝笔记,本文采用md源码格式


[TOC]

# str 字符

## 基本功能

```

1、按索引取值(正向取+反向取):只能取

msg='hello world'

print(msg[0],type(msg[0]))

print(msg[-1]) #倒序取值,倒数第一个为-1

#注意:字符串,可以实现使用索引取值,元素为每个字符(包含空格)

2、切片(顾头不顾尾,步长)

print(msg[0:7]) #>=0

print(msg[0:7:1]) #>=0 <7 步长为1

print(msg[0:1:2]) #>=0 <1 步长为2

print(msg[3:1:-1]) #>=3 <1 步长为-1(也就是倒序)从第4个值开始取,取到第一个值(第一个值不算),倒序取

print(msg[-1::-1]) #倒序取值,从倒数第一个值,取到索引0

print(msg[0::-1]) #倒序取值,第0个值,取到0(也就是说包含索引0的值)

3、长度

print(msg._len_())#或者使用下面的

print(len(msg))#计算值的总长度,一共多少个字符

4、成员运算in和not in

5、循环

```

## capitalize(self) 首字母大写

```

S = 'suiyang'

v = S.capitalize()

print(v)

结果:Suiyang

```

## casefold(self) 将所有大写变小写

```

S = 'SuiYang'

v = S.casefold()

print(v)

结果:suiyang

```

## center(self, width, fillchar=None) 文本居中

```

S = 'suiyang'

v = S.center(10)

print(v)

结果:(有1个空格→) suiyang (←有2个空格)

v = S.center(11,'帅')

print(v)

结果:帅帅suiyang帅帅

v = S.center(8,'帅')

print(v)

结果:suiyang帅

v = S.center(5,'帅')

print(v)

结果:suiyang

```

## count(self, sub, start=None, end=None) 传入值在字符串中出现的次数

```

S = 'suisuiyangyang'

v = S.count('sui')

print(v)

结果:2

v = S.count('sui',6)

print(v)

结果:0

v = S.count('sui',0,3)

print(v)

结果:1

```

## encode(self, encoding='utf-8', errors='strict') 转换成字节

```

S = '隋阳'

v = S.encode(encoding='utf-8')

print(v)

结果:b'\xe9\x9a\x8b\xe9\x98\xb3'

```

## endswith(self, suffix, start=None, end=None) 是否以xx结尾

```

S = 'suiyang'

v = S.endswith('yang')

print(v)

结果:True

v = S.endswith(("a", "g"))

print(v)

结果:True

v = S.endswith(("a", "n"))

print(v)

结果:False

v = S.endswith(("a", "g"), 0, 5)

print(v)

结果:True

```

## expandtabs(self, tabsize=8) 找到制表符\t,进行替换

```

S = 'sui\tyang'

v = S.expandtabs(10)

print(v)

结果:sui yang(←中间有7个空格)

```

## find(self, sub, start=None, end=None) 找到指定子序列的索引位置:不存在返回-1

```

S = 'suiyang'

v = S.find('sui', 0, 2)

print(v)

结果:-1

v = S.find('sui', 0, 3)

print(v)

结果:0

```

## format(*args, **kwargs) 字符串格式化

```

S = "我是:{0};年龄:{1};性别:{2}"

v = S.format("隋阳",18,'男')

print(v)

结果:我是:隋阳;年龄:18;性别:男

```

## format_map(self, mapping) 字符串格式化

```

S = "我是:{name};年龄:{age};性别:{gender}"

v = S.format_map({'name':"隋阳",'age':18,'gender':'男'})

print(v)

结果:我是:隋阳;年龄:18;性别:男

```

## index(self, sub, start=None, end=None) 找到指定子序列的索引位置

```

S = 'suiyang'

v = S.index('sui', 0, 3)

print(v)

结果:0

```

## isalnum(self) 是否是数字、汉字、字母

```

S = 'SuiYang94帅'

v = S.isalnum()

print(v)

结果:True

```

## isalpha(self) 是否是字母、汉字

```

S = 'SuiYang帅'

v = S.isalpha()

print(v)

结果:True

```

## isdecimal(self) 是否是阿拉伯数字

```

S = 'SuiYang111'

v = S.isdecimal()

print(v)

结果:False

```

## isdigit(self) 是否是数字

```

S = '123②'

v = S.isdigit()

print(v)

结果:True

```

## isidentifier(self) 是否是表示符

```

S = 'SuiYang'

v = S.isidentifier()

print(v)

结果:Ture

S = '###'

v = S.isidentifier()

print(v)

结果:False

```

## islower(self) 是否全部是小写

```

S = 'SuiYang'

v = S.islower()

print(v)

结果:False

```

## isnumeric(self) 是否是数字字符

```

S = '②2二'

v = S.isnumeric()

print(v)

结果:Ture

```

## isprintable(self) 是否可以打印

```

S = '\t'

v = S.isprintable()

print(v)

结果:False

```

## isspace(self) 是否全部是空格

```

S = ' '

v = S.isspace()

print(v)

结果:Ture

```

## istitle(self) 是否是标题版

```

S = 'Suiyang'

v = S.istitle()

print(v)

结果:Ture

```

## isupper(self) 是否全部是大写

```

S = 'SuiYang'

v = S.isupper()

print(v)

结果:False

```

## join(self, iterable) 元素拼接

> 返回一个字符串,它是迭代中的字符串的并置。 元素之间的分隔符是S.

```

S = '_'

iterable = 'suiyang'

v = S.join(iterable)

print(v)

结果:s_u_i_y_a_n_g

```

## ljust(self, width, fillchar=None) 左填充

```

S = 'suiyang'

v = S.ljust(10,'*')

print(v)

结果:suiyang***

```

## lower(self) 将所有大小变小写

```

S = 'SuiYang'

v = S.lower()

print(v)

结果:suiyang

```

## lstrip(self, chars=None) 去除开头的字符(默认空格)

```

S = ' SuiYang'

v = S.lstrip()

print(v)

结果:suiyang

S = 'aaaaaSuiyang'

v = S.lstrip(*['a'])

print(v)

结果:Suiyang

```

## maketrans/translate 绑定对应关系 + 翻译

>maketrans(self, *args, **kwargs)

translate(self, table)

绑定对应关系 + 翻译

```

m = str.maketrans('aeiou','12345')

S = "akpsojfasdufasdlkfj8ausdfakjsdfl;kjer09asdf"

v = S.translate(m)

print(v)

结果:1kps4jf1sd5f1sdlkfj815sdf1kjsdfl;kj2r091sdf

```

## partition(self, sep) 分割,保留分割的元素

>S.partition(sep) -> (head, sep, tail) 在S中搜索分隔符sep,然后返回其前的零件,分隔符本身及其后面的零件。 如果找不到分隔符,则返回S和两个空字符串。

```

S = '我love你love她'

v = S.partition('love')

print(v)

结果:('我', 'love', '你love她')

```

## replace(self, old, new, count=None) 从左替换字符串

```

S = '我love你love她'

v = S.replace('love','hate',1)

print(v)

结果:我hate你love她

```

## rfind(self, sub, start=None, end=None) 从最大的索引开始查询

```

S = 'suiyang'

v = S.rfind('sui', 0, 3)

print(v)

结果:0

```

## rindex(self, sub, start=None, end=None) 从最大的索引开始找到指定子序列的索引位置:不存在报错

```

S = 'suiyang'

v = S.rindex('sui', 0, 3)

print(v)

结果:0

```

## rjust(self, width, fillchar=None) 右填充

```

S = 'suiyang'

v = S.rjust(10,'*')

print(v)

结果:***suiyang

```

## rpartition(self, sep) 从右边开始分割,保留分割的元素

```

S = '我love你love她'

v = S.rpartition('love')

print(v)

结果:('我love你', 'love', '她')

```

## rsplit(self, sep=None, maxsplit=-1) 从右开始分割元素

```

S = '我love你love她'

v = S.rsplit('love')

print(v)

结果:['我', '你', '她']

```

## rstrip(self, chars=None) 去除尾部空格

```

S = 'suiyang '

v = S.rstrip()

print(v)

结果:suiyang

```

## split(self, sep=None, maxsplit=-1) 分割

```

S = '我love你love她'

v = S.split('love')

print(v)

结果:['我', '你', '她']

```

## splitlines(self, keepends=None) 按回车生产列表

```

S = '我\n你\n她'

v = S.splitlines()

print(v)

结果:['我', '你', '她']

```

## startswith(self, prefix, start=None, end=None) 是否以xx开始

```

S = 'suiyang'

v = S.startswith('sui')

print(v)

结果:True

n = S.startswith('s',1,3)

print(n)

结果:False

```

## strip(self, chars=None) 移除空白,\n,\t

```

S = ' suiyang '

v = S.strip('sui')

print(v)

结果:suiyang

```

## swapcase(self) 大小写转换

```

S = 'SuiYang'

v = S.swapcase()

print(v)

结果:sUIyANG

```

## title(self) 转换成标题版

```

S = 'sui yang'

v = S.title()

print(v)

结果:Sui Yang

```

## upper(self) 转换大写

```

S = 'sui yang'

v = S.upper()

print(v)

结果:SUI YANG

```

## zfill(self, width) 填充0

```

S = 'suiyang'

v = S.zfill(10)

print(v)

结果:000suiyang

```

# str类型总结

1. 只能存在一个值

1. 有序

1. 不可变:值变,id变,不可变==可hash


分享到:


相關文章: