在Python中用单引号,或双引号括起来的内容就是字符串。以下几种均为字符串
"柠栀是全宇宙最帅的男人"
'柠栀是全宇宙最帅的男人'
'244245'
"True"
'hello word'
字符串的方法比较多,大家要多敲多练习
字符串可以直接拼接,同样可以使用format函数或者%符号构造,之前我们已经讲解过
age = 18
name = '柠栀'
方法一:
print("{}今年{}岁".format(name,age))
方法二:
print("%s今年%d岁"%(name,age))
方法三:
text = "yes"
name = "柠栀呀"
text.join(name) # 柠yes栀yes呀 # join()拼接 以……拼接……
方法四:
print(f'{name}今年{age}岁')
字符串中的每一个字符都有一个默认的索引值,从左到右默认重0开始,依次递增;从右往左默认重-1开始,依次递增;
sure = "不是在最美好的时光遇见你,而是遇见你以后都是最美好的时光"
print(len(sure)) # 内置函数 len() 获取字符串长度
print(sure) # 打印字符串
print(sure[2]) # 获取字符串中的第三个字符
print(sure[0:2]) # 截取字符串索引值为0~1的字符,不包括索引值为2的字符
print(sure[2:5]) # 截取字符串索引值为2~4的字符,不包括索引值为5的字符
print(sure[2:-1]) # 截取字符串重索引值为2开始直到字符串结尾的前一个,-1的索引值表示最后一个
print(sure[2:len(sure)]) # 截取字符串重索引值为2开始直到字符串结尾
print(sure[:4]) # 截取在列表中索引值为0-4的数据,冒号前面不设置参数,默认从0开始,注意截取并不包括4
print(sure[2:]) # 截取在列表中索引值为2-末尾的数据,冒号后面不设置参数,默认截取到最后一位数据,注意截取包括最后一位
print(sure[::-1]) # 从后往前截取所有内容,-1为步长
print(sure[290]) # 下标越界
"""
输出内容:
28
不是在最美好的时光遇见你,而是遇见你以后都是最美好的时光
在
不是
在最美
在最美好的时光遇见你,而是遇见你以后都是最美好的时
在最美好的时光遇见你,而是遇见你以后都是最美好的时光
不是在最
在最美好的时光遇见你,而是遇见你以后都是最美好的时光
光时的好美最是都后以你见遇是而,你见遇光时的好美最在是不
IndexError: string index out of range
"""
在成员运算符中,我们介绍了in 与 not in ,主要的作用就是用于检测字符串中是否存在某个字符或字符串,如果存在则返回True,不存在则返回False。
# 定义字符串
myStr = "my shenti is rere, my Koudai is kongkong"
print("is" in myStr) # True
print("is" not in myStr) # False
上面只是判断存不存在,如何在字符串中查找某一个字符或字符串出现的次数,位置,是否某特定字符以及字符串开头,字符串是否为纯数字、字母、包含特殊符号呢?
myStr = "my shenti is Rerere,\n my Koudai ,is kongkong"
myStr.find("is") # 从myStr中查找is,默认从左往右查找,如果找到返回第一次出现的下标,如果不存在返回 -1
myStr.rfind("is") # 从myStr中查找is,右往左查找,如果找到返回第一次出现的下标,如果不存在返回 -1
myStr.index("is") # 从myStr中查找is的下标,默认从左往右,如果找到返回第一次出现的下标,如果找不到就报错
myStr.rindex("is") # 从myStr中查找is的下标,右往左查找,如果找到返回第一次出现的下标,如果找不到就报错
myStr.count("is") # 从myStr中统计is出现的个数,如果存在返回个数,如果不存在返回0
myStr.startswith("hello") # 判断myStr是否以hello开头
myStr.endswith("kongkong") # 判断myStr是否以kongkong结束
# ------- 以下都不是重点
"fdasf".isalpha() # 判断是否是纯字母
"23232".isdigit() # 判断是否是纯数字
"fdaf 13".isalnum() # 判断是否含有特殊字符
myStr.rjust(50) # 将myStr字符串在50长度的空间向右看齐
myStr.ljust(50) # 将myStr字符串在50长度的空间向左看齐
myStr.center(50) # 将myStr字符串在50长度的空间居中显示
myStr = "my shenti is Rerere,\n my Koudai ,is kongkong"
myStr.replace("is", "IS") # 将myStr中所有的is替换成IS,对原来的数据不会产生改变
myStr.split(",") # 将myStr按照","号进行切割成若干个部分
myStr.splitlines() # 将text按照换行符进行切割
name = " 我 的 小 宝 贝 我 的 小 宝 贝1 我 的 小 宝 贝2"
name.partition("小") # 将字符串name按照默认从左往右出现的第一个"小"分割成若干部分,小没有删除
name.rpartition("小") # 将字符串name按照从右往左出现的第一个"小"分割成若干部分,小没有删除
name.lstrip() # 去除字符串name左边的空格
name.rstrip() # 去除字符串name右边的空格
name.strip() # 去除字符串两边的空格
myStr = "my shenti is Rerere,\n my Koudai ,is kongkong"
myStr.capitalize() # 将字符串myStr的首字母大写
myStr.title() # 将字符串的每一个单词的首字母大写
myStr.lower() # 将字符串统一转化成小写字母
myStr.upper() # 将字符串统一转化成大写字母