欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Day2字符串

程序员文章站 2022-03-08 11:53:02
...

字符串

1.什么是字符串

  • 用引号引起来的一串字符
  • 用引号来创建字符串。
    • 单引号
    • 双引号
    • 三单引号
    • 三双引号

创建字符串

name = "hangzhou"
area = 'gongzhou'
history = "5000"

famous_person = """苏轼,许仙,白素贞"""
capticalof = '''越国,南宋'''

print(type(name),type(area),type(history),type(famous_person),type(capticalof))

注意:

  • 单引号和双引号使用时需要注意匹配关系,且不可换行

  • 如果要换行,三单引号或者三双引号

字符串的运算及常见操作

(1)拼接:基于同一种数据类型

a = "hello"
b = ",python"
print(a + b)

(2)重复

a = "city college"
print(a * 3)

(3)索引(偏移) 切片[]

sr = "python"
print(len(sr))
print(sr[5])
for i in range(len(sr)):
    print(sr[i],end="")
for i in sr:
    print(i,end="")
print(sr[0:6])

(4)大小写转换

  • sr.lower() : 转小写

  • sr.upper() : 转大写

  • sr.swapcase() : 大小写转换

  • sr.title() : 转为标题的形式

  • sr.capitalize() : 首字母大写

certid = "AbCd"
ipt = input("请输入验证码:")
if ipt.lower() == certid.lower():
    print("输入正确")
else:
    print("输入错误")

(5)字符串的格式输出对齐

  • sr.center([len], [填充符号]) :居中对齐

  • sr.ljust([len], [填充符号]) :居左对齐

  • se.rjust([len], [填充符号]) :居右对齐

  • sr.zfill([len]) : 居右对齐,默认填充0

    (6)删除指定字符

  • sr.strip() :只能删首尾字符

  • sr.lstrip() :删除左边的字符

  • sr.rstrip() :删除右边的字符

    (7)计数

  • sr.count() :查找一个元素出现的次数

    sr = "###i love you###"
    print(sr.count("o",5,9))
    
    >>>  1
    

    (8)字符串搜索定位和替换

  • sr.find() :查找元素并返回第一次出现的元素的索引值;查找不到,返回-1

  • sr.index() :查找元素并返回第一次出现的元素的索引值;查找不到,报错

  • sr.rindex() :从右往左查找

  • sr.replace([现有],[替新])

    sr = "###i love you###"
    print(sr.replace("o","i",1))
    
    >>> ###i live you###
    

(9)字符串条件判断

  • isalnum(),判断字符串有字母或者数字组成

  • isalpha(),仅有字母

  • isdigit(),仅有数字

    #判断是否全为数字
    >>> a ="123"
    >>> a.isdigit()
    True
    >>> b ="a123"
    >>> b.isdigit()
    False
    
    #判断是否全为字母
    >>> d ="alx--e"
    >>> d.isalpha()
    False
    >>> c ="alex"
    >>> c.isalpha()
    True
    
    #判断是否全为数字或者字母
    >>> e ="abc123"
    >>> e.isalnum()
    True
    

    (10)制表符的转化

  • sr.expandtabs :返回字符串中的 tab 符号(’\t’)转为空格后生成的新字符串。通常可用于表格格式的输出

    (11)字符串的分割变换
    
  • join() :将指定字符插入到元素之间

  • split() :以指定字符分割字符串并去除该字符

  • partitio :以指定字符分割字符串并保留该字符

    li = ["i","love","you."]
    print("".join(li))
    
    >>>  iloveyou.
    

    (12)ASCII值和字符的转化

  • chr() :返回值是当前整数对应的 ASCII 字符

  • ord() :返回值是对应的十进制整数

  • 拓展:

    string模块

    print('%o'%17)
    print('%x'%17)
    >>>21 11