Python基础之数据基本类型之(str)

字符串

字符串:是一个有序的字符的集合,用于存储和表示的基本的文本信息。

'内容'或 "内容" 中间包含的内容称为字符串

特性:

  • 只能存放一个值
  • 不可变
  • 按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序

 

常用字符串的分割、长度、索引、切片

去除空格:

str.strip():删除字符串当前行首尾的的空格

>>> a = '  hello   '
>>> print(a.strip())
hello
>>>

str.lstrip():删除字符串左边的空行,默认为空格

>>> a = '  hello   '
>>> print(a.lstrip())
hello    
>>>

str.lstrip():删除字符串右边的空行,默认为空格

>>> a = '  hello   '
>>> print(a.rstrip())
  hello
>>>

查找字符串

str.index()和str.find()功能相同,区别在于find()查找失败会返回-1,不会影响程序运行,字符串一般用find,都可指定范围查找。

复制代码
>>> a = "hello world"
>>> print(a.index('w',0,-1))#0 ,-1 从开始到结束,获取w在字符串中的那个位置
6
>>> print(a.find('w',0,-1))
6
>>> print(a.find('xx',0,-1))  #找不到该值 ,返回-1
-1
>>> print(a.index('xx',0,-1))   #直接报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
>>>
复制代码

字符串长度

>>> a = "hello world"
>>> print(len(a))
11
>>>

字符串大小写转换

复制代码
>>> a = "Hello World"
>>>
#str.lower  把字符串全部转换为小写
#str.upper  把字符串全部转换为大写
#str.swapcase  把字符串中的大小写互换
#str.capitalize  字符串的首字母大写
>>>print(a.lower())
hello world
>>> print(a.upper())
HELLO WORLD
>>> print(a.swapcase())
hELLO wORLD
>>> print(a.capitalize())
Hello world
>>>
复制代码

把字符串放入中心位置可指定长度及位置的两边字符

#str.center()
>>> a='hello world'
>>> print(a.center(40,'*'))
**************hello world***************

字符串统计

#str.count()
>>> a='hello world'
>>> print(a.count('l'))  #统计l在字符串中有几个
3

字符串的测试、判断函数,这一类在string模块中没有,这些函数返回的都是bool值

复制代码
Str.startswith(prefix[,start[,end]]) #是否以prefix开头 
Str.endswith(suffix[,start[,end]]) #以suffix结尾 
Str.isalnum()    #是否全是字母和数字,并至少有一个字符 
Str.isalpha()    #是否全是字母,并至少有一个字符 
Str.isdigit()    #是否全是数字,并至少有一个字符 
Str.isspace()    #是否全是空白字符,并至少有一个字符 
Str.islower()    #S中的字母是否全是小写 
Str.isupper()    #S中的字母是否便是大写 
Str.istitle()    #S是否是首字母大写的
复制代码

字符串切片

复制代码
str = '0123456789'
print (str[0:3]) #截取第一位到第三位的字符
print (str[:] )#截取字符串的全部字符
print (str[6:]) #截取第七个字符到结尾
print (str[:-3] )#截取从头开始到倒数第三个字符之前
print (str[2]) #截取第三个字符
print (str[-1] )#截取倒数第一个字符
print (str[::-1]) #创造一个与原字符串顺序相反的字符串
print (str[-3:-1] )#截取倒数第三位与倒数第一位之前的字符
print (str[-3:]) #截取倒数第三位到结尾
print (str[0:10:2])#每隔一个,取一个值
print (str[0:10:3])#每隔2个,取一个值
复制代码

字符串替换

复制代码
#str.replace()默认替换字符串的所有值
>>> a = "Hello World"
>>> print(a.replace('l','F'))#把字符串中的把l全部替换成F
HeFFo WorFd
>>> print(a.replace('l','F',1))#只替换字符串中的第一个l替换成F
HeFlo World
>>>
复制代码

字符串分离

>>> a = "Hello World"
>>> print(a.split())#默认按空格把字符串分为两个值,分离成列表,也可以按照指定的值,分离
['Hello', 'World']

字符串格式化str.format()和str.formap_map()

复制代码
str.format()#用法介绍
#根据{name} ,特定的值来格式化(常用) test = 'i am {name}, age {a}' print(test) v = test.format(name='yangjian',a=19) print(v) #执行结果 i am {name}, age {a}#格式化之前的值 i am yangjian, age 19 #格式化之后的值 #根据格式化的循序,来传入相应格式化顺序的值 test = 'i am {0}, age {1}' print(test) v = test.format('xixi',19) print(v) #执行结果 i am {0}, age {1}#格式化之前的值 i am xixi, age 19#格式化之后的值

str.format_map()#用法介绍
 #.format_map,传入的值 {"name": 'yj', "a": 19}  key:value 值来传入
test = 'i am {name}, age {a}'
v1 = test.format(name='df',a=10)
v2 = test.format_map({"name": 'yj', "a": 19})
print(v1)
print(v2)
#执行结果

i am df, age 10
i am yj, age 19

 
复制代码

str.expandtabs(tabsize=) 

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

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

复制代码
name = "name\tage\thobby\t" 
v = name.expandtabs(20)  #20 可以用tabsize=20表示 ,每个\t转换后有20个字符,没有20个字符则用空格表示,
#如果该\t前面字符有20个,
#则\t需要转换后要有20个空格的字符。 print(v) print(len(v)) #打印结果 name age hobby 60

name = "name\tage\t12345678\t"
res = name.expandtabs() #每个\t 默认转换后一共有8个字符,不够用空格表示
print(len(res))
print(res)


复制代码

str.join(iterable)按照可迭代(iterable)的对象,根据某个元素进行连接

复制代码
#按照可迭代的对象,根据某个元素进行连接
#这里是可迭代的元素,根据下划线进行连接成一个字符串
name = "yangjian"
n = "_".join(name)
print(n)
#打印结果
y_a_n_g_j_i_a_n
复制代码

 

posted @ 2017-05-28 14:30  红领巾下的大刀疤  阅读(206)  评论(0编辑  收藏  举报
/* 看板娘 */