python基础--字符串

字符串

  • 字符串是以""|''括起来的文本。

  • 字符串的创建:str_name = 'str'|"str"

# 字符串:
a = 'abgah'
b = "abgah"
c = """abgah"""
d = '''abgah'''
e = "f'aaf'"
f = r'aca\naf'
g = 'aca\\naf'
print('字符串:a =',a,b,c,d,e,f,g)

转义符

  • 需要输出特殊字符如\,可以在\前再加个\变成\\

  • 使用r前缀原样输出字符串。

访问字符串

  • 字符串在python中是以 unicode 字符表示的字节数组。

  • 但是python没有字符数据类型,1个字符表示长度为1的字符串。

  • 字符串在python中属于不可变类型数据,即字符串一经赋值就不可改变。

访问字符

  • 字符索引:第一个字符索引为0;最后一个字符索引为-1。

  • 通过字符所对应的索引可以访问对应字符:str[index]

s = "1233444444444444444"
print(s[4])

切片

  • 字符串的切片:str[start:end:step]

    • start:表示开始的索引。

    • end:表示结束的索引。

    • step:表示步长。

拼接

  • 字符串的拼接:str1 + str2

复制

  • 字符串的重复:str *n

# 切片:
s = 'my name is weihao-xiong'
print(s)
print(s[:]) #获取字符串的副本
print(s[1:5]) #获取字符串索引从1到5之间的字符,包括索引为1的字符,不包括索引为5的字符
print(s[4:]) #获取字符串索引从4到末尾的所有字符,包括索引为4的字符。
print(s[:6]) #获取字符串前6个字符
print(s[::2]) #获取字符串每隔2的所有字符
# 拼接:
s1 = '.'
print(s + s1)
# 重复:
print(s *6)
  • F字符串:可以格式化字符串。

    • 语法:f"string{}"或者f'string{}'

      • f-string以f开头,以{}来替换变量。

    • 本质:f-string不是字符串常量,而是一个在运行时运算求值的表达式。

a = 124
print("不使用f-string:",a)
print("使用f-string:",f"注释:{a}")
  • 字符串的长度:len(string)

s = "ssss"
print("字符串的长度:",len(s))

字符串函数

获取长度

  • len(string)

    • 计算字符的个数。

print("len():",len('asagaaga'))

查找字符

  • string.index(value,start,end)

    • 在字符串中搜索指定的值并返回它被找到的位置。

    • 如果值不存在,会抛出异常

  • string.find(value,start,end)

    • 在字符串中搜索指定的值并返回它被找到的位置。

    • 如果值不存在,返回-1

  • 参数:

    • value:要检索的值,必须。

    • start:开始索引,可选

    • end:结束索引,可选

s = "12412452512132451145"
print(s.index('21'))
print(s.find('23'))

替换字符

  • string.replace(oldvalue, newvalue, count)

    • 方法用另一个指定的短语替换一个指定的短语。

  • 参数:

    • oldvalue:必需。要检索的字符串。

    • newvalue:必需。替换旧值的字符串。

    • count:可选。数字,指定要替换的旧值出现次数。默认为所有的出现。

s = 'adaffsg'
s = s.replace('ada','ddd')
print(s)

分割字符

  • string.split(separator, max)

    • 方法将字符串拆分为列表。

  • 参数:

    • separator:可选。规定分割字符串时要使用的分隔符。默认值为空白字符。

    • max:可选。规定要执行的拆分数。默认值为 -1,即“所有出现次数”。

s = 'a-d-a-f-f-s-g'
s = s.split('-')
print(s)

合并字符

  • string.join(iterable)

    • 方法获取可迭代对象中的所有项目,并将它们连接为一个字符串。

  • 参数:

    • iterable:必需。所有返回值均为字符串的任何可迭代对象。

s = 'a-d-a-f-f-s-g'
s = s.join(s+'-')
print(s)

格式字符

  • string.format(value1, value2...)

    • 方法格式化指定的值,并将其插入字符串的占位符内。

    • 占位符使用大括号 {} 定义。

    • format() 方法返回格式化的字符串。

  • 参数:

    • value1, value2...:必需。一个或多个应该格式化并插入字符串的值。

      • 值可以是数字,用于指定要删除的元素的位置。

      • 这些值可以是用逗号分隔的值列表、键=值列表,或两者的组合。

      • 这些值可以是任何数据类型。

t = "你好啊 {},{}"
t = t.format('vv',"!")
print(t)
'''-----------------'''
t = "你好啊,{},{},{},{}".format(1,2,3,4)
print(t)

 

字符统计

  • string.count(value, start, end)

    • 统计字符串中出现字符的次数。

  • 参数:

    • value:要检索的值,必须。

    • start:开始索引,可选

    • end:结束索引,可选

print("11112341513514515".count('1'))

去掉空白

  • str.lstrip()|str.rstrip()|str.strip()

    • 删除字符串左边,右边或者两边的空白字符(空格,制表符,换行符),如果带有参数,那么将删除字符串两边指定的字符

s = "    中国!你好!    "
print("lstrip():\n",s.lstrip())
print("rstrip():\n",s.rstrip())
print("strip():\n",s.strip())
print("strip(param):\n",'aaafasasfaf'.strip("aa"))

大小转换

  • str.lower()|str.upper()|str.title()

    • 把指定的字符串转换为小写,大写或者首字母大写的字符串。

  • str.swapcase()

    • 如果指定的字符是大写就转为小写,否则大写。

s = 'HEllo WOrld'
print("lower():\n",s.lower())
print("upper():\n",s.upper())
print("title():\n",s.title())

判断状态

  • isupper():判断字符串是否是大写

  • islower():判断字符串是否是小写

  • istitle():判断字符串是否是首字母大写

  • isalpha():判断字符串是否是只包含字母字符,并且非空

  • isalnum():判断字符串是否是只包含数字和字母字符,并且非空

  • isdecimal():判断字符串是否是只包含数字字符,并且非空

  • isspace():判断字符串是否是只包含空格,制表符和换行,并且非空。

print("islower():\n",'hello'.islower())
print("isupper():\n",'A'.isupper())
print("istitle():\n",'A'.istitle())
print("isalpha():\n",'aaffg中'.isalpha())
print("isalnum():\n",'aafs中12411'.isalnum())
print("isdecimal():\n",'121515'.isdecimal())
print("isspace():\n",' '.isspace())

指定开头

  • str.startswith('start')|str.endswith('end')

    • 判断str是否是以指定字符串开头|结尾,如果是返回True,否则返回False

    • 参数:start:指定字符串以start开头;end:指定字符串以end结尾。

print("startswith():",'hello china'.startswith('he'))
print("endswith():","hello china".endswith('a'))

对齐文本

  • str.ljust(length,character)|str.rjust(length,character)|str.center(length,character)

    • 返回调用他们的字符串的填充版本,通过插入空格来对齐文本。左对齐,右对齐,居中对齐。

    • 参数:

      • 参数1:整数长度,用于对齐字符串,即希望调用的字符串放在一个整数长度的字符串中,减去字符串原始长度,其他空间使用空格填充,直到达到指定整数长度为止。

      • 参数2:指定一个填充字符,取代空格符。

print('rjust():','rjust'.rjust(10,'-'))
print('ljust():','ljust'.ljust(20,'!'))
print('center():','center'.center(12,'-'))

 

 

 

 

 

 

posted on 2021-05-04 09:00  拾亿~  阅读(212)  评论(0)    收藏  举报

导航