python-第三课-字符串详解

  1. expandtabs(self, *args, **kwargs)   断句,填满对应的数位,可以制作表格

s = "wertyukldfg hjm dfghjkl"
v = s.expandtabs(6)
print(v)

以六个字符为一组,进行划分,遇见转至符就会对应的填满6个单位

运行结果:

wertyukldfg

hjm   dfghjkl

  1. isdigit()  isdecimal() 判断输入的值(字符串)是否是数字

  isalpha()  判断输入的是否是字母,汉字也行

  1. isidentifier()  判断:字母、数字、下划线、标识符defclass

a = "def"
v = a.isidentifier()
print(v)

运行结果:

True

  1. islower()    判断是否是小写

  isnumeric()   判断是否是数字,支持中文,用的最多的是isdecimal()

  1. isprintable()   是否有不可显示的字符

a = "deasfsdt gfgjjgf"
v = a.isprintable()
print(v)

运行结果:

False

  1. isspace()  判断是否全是空格

  istitle()    判断是不是标题,首字母大写

  title()     首字母大写

  1. join()   字符串拼接,每一个元素都进行,按照指定的分隔符进行。在其内部是循环

a = "我要好好学习"
t = ' '
v=t.join(a)
print(v)

运行结果:

  1. ljust()  右侧填充,字符串放左

  rjust()   左侧填充

  zfill()  只用0填充

a = "tyui"
v=a.ljust(20,'*')
print(v)

运行结果:

tyui****************

 

  1. lower()  变成小写

  islower()  判断是否是小写

  upper()   变成大写

  isupper()  判断是否是大写

 

  1. lstrip()  retrip()  strip()  消除左空格,右空格,左右空格 以及 , 也能去掉指定内容,还能进行匹配子序列

a = "tyuqwertyi"
v=a.lstrip('tyu')
print(v)

运行结果:

qwertyi

 

  1. partition() 从左到右,分成3

rpartition()从右到左,分成3

split()    从左到右,分成想要的份数,不包含分割的字符

splitlines()  只根据换行符进行分割,默认没有换行符,加False也没有,加True

a = "tadfghyudqwerdtyi"
v =a.partition('d')
print(v)
s=a.rpartition('d')
print(s)
l=a.split('d',2)
print(l)

运行结果:

('ta', 'd', 'fghyudqwerdtyi')

('tadfghyudqwer', 'd', 'tyi')

['ta', 'fghyu', 'qwerdtyi']

使用正则表达式的时候也可以进行分割,可以设置是否想要分割的元素

test = "ertyuio dfghjkl dfghj fghj"
m = test.splitlines(True)
l=test.splitlines(False)
print(l)
print(m)

运行结果:

['ertyuio', 'dfghjkl', 'dfghj', 'fghj']

['ertyuio ', 'dfghjkl ', 'dfghj ', 'fghj']

  1. startswith()

endswith() 开始和结束带什么

  1. swapcase()  大写换小写,小写换大写

replace() 替换

test = "qwertyu"
v = test.replace("qw", 'rftghjk’ ,1 )    #1表示只替换第一个
print(v)

运行结果:

rftghjkertyu

 

 

我们总结一下最基本的六个:join spilt find strip upper lower

我们再说几个基本的方法:

  1. 通过索引获得字符串中的某个元素

test = "ertyuio dfghjkl dfghj fghj"
m = test[5]
print(m)

运行结果:

i

  1. 索引也可以使有范围的引用 ,也叫做切片

test = "ertyuiodfghjkl dfghj fghj"
m = test[0:5]
l = test[0:-1]     #表示从头到尾
print(m)
print(l)

运行结果:

ertyu

ertyuiodfghjkl dfghj fgh

  1. 长度获取len

test = "ertyuiodfghjkl dfghj fghj"
tesh = "段立勇"
v1= len(test)
v2 = len(tesh)
print(v1)
print(v2)

运行结果:

25

3      

python2中的运行结果就不会这样

这里我们注意一点:len函数对字符串和列表的理解是不同的。

test = "ertyuiodfghjkl dfghj fghj"
tesh = [11,12,45,6,7,"rtyuio"]
v1= len(test)
v2 = len(tesh)
print(v1)
print(v2)

运行结果:25   6

对于字符串会统计长度,对于列表会统计元素个数

  1. for循环  

 for 变量名 in 字符串:

代码块

如何将中文字符一个一个的输出

test = "立勇你是真的优秀"
index = 0
while index < len(test):
    v = test[index]
    print(v)
    index += 1
print('==========')

运行结果:

==========

我们也可以用另一种更简单的方法:

test = "段立勇你是真的优秀"
for mmm in test:
print(mmm)

会得到一样的结果。

注:for循环和索引以及切片在其他的数据结构中都能使用。

字符串在内存中一旦创建,就不能再修改。一旦修改或者拼接,都会造成生成新的字符串。

 

  1. for中可以使用beakcontinue语句

 

  1. range  创建连续的数字  rangge(0,10,5)

v = range(100)
print(v)

运行结果:

range(0, 100)

Python2中就会直接生成100个数,python3中不会有变化,直到for循环的时候

 

将文字对应的检索打印出来:

test = input(">>>")
for item in range(0,len(test)):
    print(item,test[item])

运行结果:

>>>dfgh

0 d

1 f

2 g

3 h

  

原文地址:https://www.cnblogs.com/free-1122/p/9706854.html