basic-string

basic-string

定义

用引号引起来的字符,不可以被修改,只能从新创建
”string”
’string’
”””string”””
’’’string‘’’

运算

加法:n1 = ’hello’
n2 = ’world’
n3 = n1 + n2 = ‘hello world’
乘法:n1 = ‘a’ * 5 = ‘aaaaa’
成员运算:
A in B:A在B中,为True
A not in B: A不在B中,为True

切片

索引:字符串是可迭代对象,从前往后索引值是从0开始的,从后往前索引值是从-1开始的
例如:a = ’hello world’
a[0] = ‘h’
a[2] = ‘l’
a[-1] = ‘d’
切片:可以将字符串通过索引值直接定义成子字符串
例如:a = ’hello world’
a[0:] = ’hello world’
a[0: 4] = ’hell’
a[4:7] = ’o w’
a[: -1] = ’hello worl’
a[:0] = ’’
a[-4:-1] = ’orl’
a[::2] = ‘hlowrd’ 可以设置步长来获取字符串

内置方法

capitalize()返回一个字符串:首字母大写,其余字母小写
a = ‘hello’ a.capitalize() = ‘Hello’
a = ‘ HELLO’ a.capitalize() = ‘ hello’ 前面有空格
a = ‘hELlo’ a.capitalize() = ‘Hello’
lower() 返回一个字符串:字母全部小写(适用于ASCII:A-Z)
a = ‘HELlO’ a.lower() = ‘hello’
a = ‘汉字HELlO’ a.lower() = ‘汉字hello’
upper() 返回一个字符串:字母全部大写
a = ‘heLLo’ a.upper() = ‘HELLO’
islower()、isupper() 返回布尔值,判断字母是否全部为小写或大写
a = ‘Hello’ a.islower() = Flase a.upper()=Flase
a = ‘hello’ a.islower() = True a.upper()=Flase
a = ‘HELLO’ a.islower() = Flase a.upper()=True
count(sub, start, end) 返回整型,计算子序列在字符串中出现的次;sub:搜索的字符串;start:开始位置,默认为0;end:结束位置,默认为最后
a = ‘hello’ a.count(‘l’) = 2
a = ‘hello’ a.count(‘l’, 3) = 1
a = ‘hello’ a.count(‘l’, 2, 3) = 1
find(sub, start, end) 包含sub返回首个索引值,不包含返回-1
a = ‘hello’ a.find(‘lo’) = 3
a = ‘hello’ a.find(‘a’) = -1
a = ‘hello’ a.find(‘l’, 3) = 3
a = ‘hello’ a.find(‘l’, 2, 3) = 2
isalpha() 返回布尔值,判断是否只包含字母
a = ‘hello’ a.isalpha() = True
a = ‘hello你好#’ a.isalpha() = False
isdecimal() 返回布尔值,判断是否只包含数字
a = ‘1234325’ a.isdecimal() = True
a = ‘hello是的12’ a.isdecimal() = False
join(iterable) 返回字符串,将iterable以指定字符连接成新字符串
a = ‘-’ a.join(‘abc’) = ‘a-b-c’
a = ‘-’ a.join((‘a’, ‘b’, ‘c’)) = ‘a-b-c’
a = ‘-’ a.join([‘a’, ‘b’, ‘c’]) = ‘a-b-c’
a = ‘’ a.join((‘a’, ‘b’, ‘c’)) = ‘abc’
split(sep, maxsplit) 返回列表,通过sep对字符串进行切片
rsplit(sep, maxsplit) 返回列表,通过sep对字符串从尾部进行切片
sep 分隔符,默认为空字符,包括空格、换行、制表符等
maxsplit 分割次数,默认全部分割
a = ‘hello world’ a.split() = [‘hello’, ‘world’]
a = ‘hello beautiful world’ a.split(‘ ‘, 1) = [‘hello’, ‘beautiful world’]
strip(chars) 返回字符串,移出字符串头尾指定的字符
lstrip(chars) 返回字符串,移出字符串头指定的字符
rstrip(chars) 返回字符串,移出字符串尾指定的字符
chars 指定移出字符串,默认为空格或换行符
a = ‘ hello world ’ a.strip() = ‘hello world’
a = ‘0000hello world00000’ a.strip(‘0’) = ‘hello world’
a = ‘123safjkefe321’ a.strip(‘12’) = ‘3safjkefe3’
replace(old, new, count) 返回字符串,将new替换old
count 替换次数
a = ‘abacadae’ a.replace(‘a’, ‘-’) = ‘-b-c-d-e’
a = ‘abacadae’ a.replace(‘a’, ‘-’, 1) = ‘-bacadae’
format() 返回字符串,并对其进行格式化
index(sub, start, end) 与find() 用法一样,但是str不在字符串中会报错
casefold() 返回字符串,将所有字母小写(与lower一样,可以将其他语言进行小写)
center(width[, fillchar]) 返回字符串,设置宽度,并将内容居中
width:宽度 fillchar:填充字符,默认为空格
a = ‘hello’ a.center(5, ‘*’) = ‘hello
endswith(str, start, end)、startswith(str, start, end) 返回布尔值,判断是否已指定字符串结束或开头
str:指定字符串 start:开始位置(索引值,默认为开头) end:结束位置(默认结尾)
isalnum() 返回布尔值,判断是否只是包含字母和数字
expandtabs(tabsize) 返回字符串,将制表符\t转化为空格(默认转化8个)
tabsize:转化空格数,默认为8个
isdigit() 返回布尔值,判断是否为数字(能判断特殊的字符,例如:③)
isnumeric() 返回布尔值,判断是否为数字(能判断特殊的字符,例如:二)
isspace() 返回布尔值,判断是否只有空格组成
istitle() 返回布尔值,判断是否为标题(即首字母大写: Return True)
title() 返回字符串,将英文字符串转化为标题
ljust()、rjust() 返回字符串,填充字符在右左,形成左右对齐
maketrans(intab, outtab):返回字符串,创建字符映射转换表
translate(table[,deleterchars]):返回字符串,根据table翻译字符串过滤一些字符
from string import maketrans
intab = “aeiou”
outtab = “12345”
trantab = maketrans(intab, outtab)
str = “this is string example…wow!!!”
print str.translate(trantab, ‘xm’)
th3s 3s str3ng 21pl2…w4w!!!
partition(str)、rpartition(str) 返回元组,根据str形成str前、str、str后三个元素的元组(和split相似,只是分割一次)
splitlines([keepends])返回列表,按照(’\r’, ‘\r\n’, \n’)来分割,keepends为布尔值,True保留换行符

str(object)

将object转化为字符串并返回

字符串格式化

百分号方式:%[(name)][flags][wdith].[precision]typecode;将字符串拼接后返回,打印%,用%%
例如:“A is %s” % “B” 将B填入%s的位置,并返回字符串:”A is B”
[(name)] 为可选参数,用于选择指定的key,接受字典类型;例:”A is %(index)s” % {‘index’: ‘B’} 返回:”A is B”
[flags] 为可选参数:+ 右对齐;- 左对齐;空格 右对齐; 0 右对齐;(不是重点)
width 为可选参数,占有宽度
precision 为可选参数,小数点后保留的位数
typecode 为必选参数:s(获取传入对象的__str__ 方法的返回值,即接受所有类型)、r(获取传入对象的__repr__方法的返回值,即接受所有类型)、d(传入值为十进制整数)、f(传入值为浮点型)、c(传入值为单个字符)、o(传入值为八进制数)、x(传入值为十六进制数)
format()方式:
☆根据顺序:需要一一对应,少一个会报错
tpl = “I am {}, age {}, shcool {} ”.format(‘alex’, 20, ‘qinghua’)
☆根据索引:不能超出元组索引范围,传入列表时,前面加*
tpl = “I am {2}, age {0}, shcool {1} ”.format(‘alex’, 20, ‘qinghua’)
tpl = “I am {2}, age {0}, shcool {1} ”.format(*[‘alex’, 20, ‘qinghua’])
☆根据key值:传入字典时,前面加**
tpl = “I am {name}, age {age}, shcool {name} ”.format(‘name’: ‘alex’, ‘age’:‘qing’)
tpl = “Iam{name}, age {age}, shcool {name} ”.format(**{‘name’: ‘alex’, ‘age’:‘qing’})

字符串拼接

‘name’, ‘age’, ‘shcool’, sep=’:’ 只是在python3中可以
print ‘name’, ‘age’, ‘shcool’, sep=’:’ (name:age:school)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值