Skip to content

Latest commit

 

History

History
114 lines (80 loc) · 3 KB

002 string.md

File metadata and controls

114 lines (80 loc) · 3 KB

字符串 类型

除了数字,Python 也可以操作字符串。字符串有多种形式,可以使用单引号('...'),双引号("...")都可以获得同样的结果

创建一个String

    str1: str = "hello world"
    str2: str = 'hello python'
    print("str1 的值为:%s" % str1)
    print("str2 的值为:%s" % str2)

字符串是我们写程序经常会用到的,python也为我们提供了很多方法,接下来我们将学些一下str常用的方法

字符串过长时的处理

# 当字符串过长时
str3 = "4s5dyunlkmvo;udznv b,hbvaliygwj khjdeuibnjkm" \
       "suyvaj czlkj z,vkj ,j jdshbfabewkafyaiesatwet"
# 字符串过长时,且想保留字符串原有的格式时
str4 ="""这是一个很长的字符串,
我想在实用时,保留其原有的格式!
"""
print("str3 的值为:%s" % str3)
print("str4 的值为:%s" % str4)

输出结果

str3 的值为4s5dyunlkmvo;udznv b,hbvaliygwj khjdeuibnjkmsuyvaj czlkj z,vkj ,j jdshbfabewkafyaiesatwet
str4 的值为这是一个很长的字符串我想在实用时保留其原有的格式

转义符的处理

如果你不希望前置了 \ 的字符转义成特殊字符,可以使用 原始字符串 方式,在引号前添加 r 即可:

# 当字符串内有 \ / 且我们需要保留原有的格式时,
# 如果不添加 \ 则会将\n解析成回车
str6 = "C:\python\\name"
print("str6 的值为:%s" % str6)
str7 = r"C:\python\name"
print("str7 的值为:%s" % str7)

字符串连接

 x = '%s, %s!' % (imperative, expletive)
 x = '{}, {}!'.format(imperative, expletive)
 x = 'name: %s; score: %d' % (name, n)
 x = 'name: {}; score: {}'.format(name, n)

数据切片

# 数据切片 这里的数据下标是从0开始
str10 = "0123456789"
print("str10[3] 的值为:%s" % str10[3])
# [3:8] 的表达式遵循左闭又开的原则
print("str10[3] 的值为:%s" % str10[3:8])

Python 中的字符串不能被修改,它们是 immutable 的。因此,向字符串的某个索引位置赋值会产生一个错误:

str10[0] = 's'
print(str10)
Traceback (most recent call last):
  File "C:/source_code/python_work/python-tutorial/data_type/string.py", line 48, in <module>
    str10[0] = 's'
TypeError: 'str' object does not support item assignment

replace

str_rep = "Python"
str_rep = str_rep.replace('o', 'O')
print("str_rep 的值为:%s" % str_rep)

index

index 可以传入三个参数,第一个参数为需要检测的str,第二参数为检测的起始,第三个参数为终止位置,其中后两个参数为非必传字段

index_num = lower.index("o")
index_num2 = lower.index("o", 2)
index_num3 = lower.index("o", 2,len(lower))
print("index_num 的值为:%s" % index_num)
print("index_num2 的值为:%s" % index_num2)
print("index_num3 的值为:%s" % index_num3)