python-字符串

dxbjfu0 2020-03-06

字符串特征
1.字符串是由字符组成的
2.任意数据类型都可以转化成字符串

字符串取值
1.字符串取值是根据字符串的索引取值,索引从0开始,例如:
name = "learner"
print(name[2]) #结果为"a"
print(name[100]) #超出索引范围,报错,IndexError

字符串切片
1.字符串切片,取左边的元素不取右边的元素,例如:
name = "learner"
print(name[1:3]) #结果为"ea"
print(name[:3]) #前面省略不写,代表从0开始,结果为"lea"
print(name[1:]) #后面的省略不写,代表取到末尾,结果为"earner"
print(name[:]) #前后都省却不写,代表从头取到尾,相当于复制结果为"learner"
new_name = name
print(new_name) #也是字符串的复制
print(name[0:100]) #取出所有值,切片超出了范围也不会报错,非切片操作超出索引范围会报错
print(name[::-1]) #从右到左取值
print(name[::2]) #步长为2,取索引值为0,2,4,6……的值
PS:步长是负数,就是从右到左取值;步长为正数,就是从左到右取值,(末尾位置-开始位置与步长符号一致可以取值)

字符串格式化输出
1.第一种方式
name = "yanzi"
age = 18
print("""
name:%s
age:%d
"""%(name,age))
2.第二种方式
print("""name:{}
age:{}""".format(name,age))

字符串的内置函数
1.大小写互换
print(name.lower()) #小写
print(name.upper()) #大写
print(name.title()) #每个单词的首字母大写
print(name.capitalize()) #字符串最开始的单词大写

2.查找,find,index,count
    print(name.find("y"))    #查找y元素所在的索引值,没有找到就返回-1
    print(name.find("y"))    #查找y元素所在的索引值,没有找到就报错
    print(name.count("y"))    #统计y元素出现的次数

3.替换
    print(name.replace("y","KKK"))    #y是旧值,"KKK"是要替换的新值

4.join,字符串拼接
    # 对列表进行操作
    seq = ['hello', 'good', 'boy', 'doiido']
    print(" ".join(seq))    #hello good boy doiido
    
    # # 对字符串进行操作
    seq2 = "hello good boy doiido"
    print(":".join(seq2))       #h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o

    # # 对元组进行操作
    seq3 = ('hello', 'good', 'boy', 'doiido')
    print(":".join(seq3))   #hello:good:boy:doiido

    # # 对字典进行操作,只对key进行连接
    seq4 = {'hello': 1, 'good': 2, 'boy': 3, 'doiido': 4}
    print(":".join(seq4))   #hello:good:boy:doiido

    # # 合并目录
    import os
    print(os.path.join('/hello/', 'good/boy/', 'doiido'))   #/hello/good/boy/doiido

5.strip 可以剔除
    print(' a f '.strip())  #剔除左右两边的空格
    print("ad".strip("a"))  #指定字符进行剔除

6.split()分割字符串
    print("i love you".split(" "))
    print("i/love/you".split("/"))


7.isdigit 判断是不是一个正整数
    print(name.isdigit())    #false
    print("1.1".isdigit())    #false
    print("-1".isdigit())    #false
    print("222".isdigit())    #True

相关推荐