字符串
字符串
一. 字符串创建
通过 ' ' 或者 " " 或者 """ """<---->''' '''
比如:单引号 >>> ' '
str1 = 'hello python'
比如: 双引号 >>> " "
str2 = "hello python"
比如:三引号 >>> ''' ''' """ """
str3 = '''hello python'''
str4 = """hello python"""
三引号可以换行
eg:
str5 = '''
hello
python
'''
二. 字符串转义
方式一. % 占位符 (所有版本可用)
符 号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
打印时在引号里面对应的位置写入占位符,引号外面%后面写入对应的变量。
name = '小明'
age = 18
print('我的名字是:%s, 年龄是:%d' % (name, age)) # 我的名字是:小明, 年龄是:18
方式二. format (2.6版本以后可用)
打印时在引号里面对应的位置写入 {后面变量对应的位置},format面写入变量。
name = '小明'
age = 18
print('我的名字是:{0}, 年龄是:{1}'.format(name, age)) # 我的名字是:小明, 年龄是:18
方式三. f'{}' (3.6版本以后可用)
打印时在引号里面对应的位置写入 {变量名},f 转义符不要忘记
name = '小明'
age = 18
print(f'我的名字是:{name}, 年龄是:{age}') # 我的名字是:小明, 年龄是:18
三. 字符串相关方法
1. 索引取值
str1 = '千里执行 始于足下'
print(str1[5]) # 始
print(str1[-6]) # 行
2. 切片
str[ start : end : interval] start 切片开始的位置, end 切片结束的位置, interval 切片每几个字符取一次(默认为1)
str1 = '千里执行 始于足下'
print(str1[1:6]) # 里执行 始
print(str1[2:8:2]) # 执 于
print(str1[-1:-7:-1]) # 下足于始 行
print(str1[-1:-7:-2]) # 下于
3. 计算长度 len()
str1 = '千里执行 始于足下'
print(len(str1)) # 9
4. 去除字符 strip() - rstrip() - lstrip()
1. 去掉首位空格
str1 = ' 千里执行 始于足下 '
a) 方式一
print(str1.strip()) # 千里执行 始于足下
b) 方式二
print(str1.strip(" ")) # 千里执行 始于足下
2. 去掉首尾指定字符
str1 = '$$$$$$千里执行 始于足下$$$$$$$$$'
print(str1.strip("$")) # 千里执行 始于足下
3. 去掉左边的字符
''' l 是 left 的缩写 表示左边的意思'''
str1 = '$$$$$$千里执行 始于足下$$$$$$$$$'
print(str1.lstrip('$')) # 千里执行 始于足下$$$$$$$$$
4. 去掉右边的字符
''' r 是 right 的缩写 表示右边的意思'''
str1 = '$$$$$$千里执行 始于足下$$$$$$$$$'
print(str1.rstrip('$')) # $$$$$$千里执行 始于足下
5. 根据指定字符进行分割 split() - rsplit()
★★★ 切割完字符串之后是一个列表, 默认从左往右分割。
1. 按照指定字符 全部 分割
str1 = 'hello|python|java|c++|javascript'
print(str1.split('|')) # ['hello', 'python', 'java', 'c++', 'javascript']
2. 设置分割的最大个数 (maxsplit 参数)
str1 = 'hello|python|java|c++|javascript'
print(str1.split('|', maxsplit=2)) # ['hello', 'python', 'java|c++|javascript']
3. 从右往左进行切割
str1 = 'hello|python|java|c++|javascript'
print(str1.rsplit('|', maxsplit=2)) # ['hello|python|java', 'c++', 'javascript']
6. 字符大小写操作 lower() - upper()
1. 将所有的英文字母变为小写
str1 = 'HELLO PYTHON'
print(str1.lower()) # hello python
2. 将所有的英文字母变为大写
str1 = 'hello python'
print(str1.upper()) # HELLO PYTHON
3. 判断字符串中所有的英文字母是否是纯小写
str1 = 'python'
print(str1.islower()) # True
4. 判断字符串中所有的英文字母是否是纯大写
str1 = PYThon'
print(str1.isupper()) # False