python-字符串操作
字符串操作
1.定义
(1.)用引号引起来的数据
str1 = "python"
str2 = 'linux'
str3 = """linux
windows
mac"""
print(type(str1),type(str2),type(str3))
(2.)原始字符串
作用:避免特殊字符串被转义,在字符串前加 r,表示 raw
file_name = r"d:\dir\logo.jpg"
print(file_name)
2.字符串操作符
(1.)拼接 +
str1 = "python"
str2 = "linux"
print(str1 + str2)
(2.) 重复 *
print("python" * 3) # python重复三次
(3.)len() 字符串长度
print(len("python"))
(4.) 判断成员关系
in 和 not in
print("py" in "python") # True
print("py" not in "python") # False
print("hn" in "python") # false
(5.)索引
str = "python"
print(str[2])
print(str[-1])
(6.) 切片
字符串 [起始下标:终止下标]
str = "python"
print(str[0:3])
print(str[1:]) # 1-最后
print(str[-2:]) # 从倒数第二位到最前面
print(str[1:4:2]) # 截取第一位到第四位,步长为2
print(str[::-1]) # 字符串翻转
字符串为不可变变量,如果需要修改字符串中的某个字符,需要通过拼接来实现。
# 错误
str = "python"
str[2] = "K" # 错误,字符串不可改变
print(str)
----------------------------------
# 正确
str = "python"
new_str = str[0:2]+"K"+str[3:]
print(new_str)
3.字符串对象的操作
通过dir()内置函数查看对象的操作方法
print(dir(str))
print(dir(int))
(1.) 大小写转化
data = "pYthon"
print(data.capitalize) # 查看容量
print(data.upper()) # 转化为大写字符
print(data.lower()) # 转化为小写字符
(2.) 判断字符串的组成结果
print("abc".isalpha()) # 判断是否为字母
print("abc?".isalpha()) # 返回False
print("123".isdigit()) # 是否为数字
print("abc123".isalnum()) # 是否为数字和字母
print("abc".islower()) # 是否为小写
print("ABC".isupper()) # 是否为大写字母
(3.) 判断字符串开头、结尾
print("python".startswith("py")) # 开头
print("python".endswith("n")) # 结尾
(4.)去除指定的字符
# 默认去除空白字符
print(" python ".strip())
print(" python ".lstrip())
--------------------------------------------
print("ApythonA".strip("A")) # 去除前后两边的字符
print("ApythonA".lstrip("A")) # 去除左侧的字符
print("ApythonA".rstrip("A")) # 去除右侧的字符
(5.) 分割字符串
#split()方法进行分割,默认以空白紫芙蓉进行分割
data = "python golang shell"
print(data.split())
print(data.split()[1]) # 分割后为数组
------------------------------------------
splitlines()
# 默认以换行符进行分割
data = """python
golang
shell
java"""
print(data.splitlines())
(6.) 计数
# count()统计
data = "hello python"
print(data.couont("o"))
(7.) 替换
# replace()
data = "python"
print(data.replace("h","M")) # 字符串替换
(8.) 字符串遍历
data = "python"
for i in data:
print("%s" % i)
示例:生成10的随机字符,要求包含字母、数字、特殊字符
import random
import string
all = string.ascii_letter + strings.digits + string.punctuation
data = ""
for i in range(10):
data = random.choice(all) + data
print(data)
示例二:统计文本行数和单词数
data = """helal asdfjl asfjl aaa aaa bbb
bbb ccc dd
fff"""
# 统计行数
print(len(data.splitlines()))
# 统计单词数
print(len(data.split()))
【励志篇】:
古之成大事掌大学问者,不惟有超世之才,亦必有坚韧不拔之志。