python3 字符串及其方法

Posted on 2019-06-20 10:43  麻世骞  阅读(516)  评论(0编辑  收藏  举报

1、字符串

  字符串,用引号引起来的都是字符串。用于储存少量数据进行操作。其他数据类型转换为字符串类型的方法:str()。

  切片有索引,和列表相似,所以和列表一样他也可以进行切片操作。 

a = 'ABCDEFGHIJK'
print(a[0:3])
print(a[2:5])
print(a[0:])                         #默认到最后
print(a[0:-1])                      # -1 是列表中最后一个元素的索引,但是要满足顾头不顾尾的原则,所以取不到K元素
print(a[0:5:2])                    #加步长,步长指在设定的切片首位之间,每间隔步长-1,取一个数据。这段代码意为在ABCDE中每隔一个数据取一个数据,所以输出位ACE。
print(a[5:0:-2])                   #反向加步长;意为从F开始到A之间,每隔一个数据,取一个                 数据,所以输出的数据是FDB
    

  

2、字符串的常用方法

  1、首字母大写:capitalize()

s = "aires"
 s1 = s.capitalize()
 print(s1)
----------------------------
Aires

  

  2、字符串所有字母大写:upper()

s = "aires"
s2 = s.upper()
print(s2)
------------------------------------
AIRES

  

  3、字符串所有字母小写:lower()

s = "AIRES"
s3 = s.lower()
print(s3)
-----------------------------------
aires

  

  4、字符串中字母大小写反转:swapcase()

s = "airES"
s4 = s.swapcase()
print(s4)
--------------------------------
'AIRes'

  

  5、在单词中间隔着空格、特殊字符或数字的情况下首字母大写:title()

s = "air;es asd-fg fj2fj"
s5 = s.title()
print(s5)   #只要字符串中有除了英文以外的字符,那么那个字符后面的那一个英文字母转换为大写。
--------------------------------------------------
Air;Es Asd-Fg Fj2Fj

  

  6、字符串内容居中,字符串总长度,空白处填充其他字符:center()   (长度,填充字符

s = "Aires"
s6 = s.center(40,"-")    #(长度,填充)若使用此方法,长度必须填,若想保持不变可以填0,不可为空。填充符可不填,默认为空格。
print(s6)
----------------------------------------------------
-----------------Aires------------------

  

  7、len()方法

s = "Aires"
s8 = len(s)   
print(s8)
------------------------------------
5    #用于字符串输出有多少字符,用于元组输出有多少元素,用于列表输出有多少元素,用于字典输出有多少键值对;

  

  8、寻找字符串中是否有某个字符:find()  通过字符找索引   index()与find()差不多,但找不到会报错,所以一般选择用find()

s = "Aires"
s10 = s.find("re",0,4)   #用find通过元素(字符)寻找索引,找到的情况下返回第一个元素(字符)的索引,找不到返回-1.
print(s10)
---------------------------------------------
2

  

  9、删除字符串前后的空格或字符:strip();   

       删除左侧的空格或字符:lstrip();

     删除右侧的空格或字符:rstrip(); 

     ps:括号不填默认删除空格或换行符(\n),括号里填什么字符就前后删除什么字符,可多填,中间不用逗号分开。不能删字符串中间的字符,只能删两边的。

s = "**Ai*res**"
s11 = s.strip("*A") #括号不填默认删除空格,括号里填什么字符就前后删除什么字符,可多填,中间不用逗号分开。不能删字符串中间的字符,只能删两边的
print(s11)
--------------------------------------------
i*res

  

  10、分割  字符串转换为列表:split()

s = "Ai;re;s"
s12 = s.split(";")          #括号中不写默认为以空格分割字符串为列表。括号里填什么符号就以什么符号分割字符串为列表。
print(s12)
------------------------------------------
['Ai', 're', 's']                #结果为列表

  

  11、格式化输出的三种玩法:format(尽量用这种格式化输出方法)

s13='我叫{},我{}岁了,我的爱好是{}'.format('aires',18,'play computergame')      #顺序输入
s131='我叫{0},我{1}岁了,我的爱好是{2}'.format('aires',18,'play computergame')   #索引
s132='我叫{name},我{age}岁了,我的爱好是{hobby}'.format(hobby='play computergame',name='aires',age=18)   #字典(键值对)

print(s13)
print(s131)
print(s132)
------------------------------------------
我叫aires,我18岁了,我的爱好是play computergame  
我叫aires,我18岁了,我的爱好是play computergame
我叫aires,我18岁了,我的爱好是play computergame

  

  12、替换:replace()(需要替换的字符,新的字符,替换次数)替换次数为空默认全部替换

s = "123666aaaaad"
ls = s.replace("a","q")
print(ls)
-------------------------------------
123666qqqqqd

  

  13、判断字符串是否由(数字,字母,数字或字母)组成:

    数字:isdigit() ;

    字母:isalpha()   ;

    数字或字母:isalnum()

    只返回两个结果(布尔值)(True,False) 

    ps:括号里不写参数

name = "aires132546"
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成
-------------------------------------------------------
True
False
False

   

  14、计算一个元素在字符串里出现了多少次(计数):count()

    ps:与“len()”一样可用于列表

s = "123666aaaaad"
ls = s.count("6")
print(ls)
-----------------------------------
3