玩转python字符串
定义
# 字符串定义:单引号、双引号、三引号
# 单引号和双引号基本没有区别;当字符串中存在引号字符时需要注意
# 三引号一般用于格式化打印,基本不常用
类型转换
# 字符串类型转换:str(),可以将任意数据转换成字符串
res=str({'a':1})
基本使用方法
索引
# 按索引取值(正向取+反向取) :索引从0开始
msg='hello world'
print(msg[0])
print(msg[-1])
# 只能取不能修改
切片
# 切片:索引的拓展应用,从一个大字符串中拷贝出一个子字符串
# 切片 语法 [start:end:step]
# 遵循‘顾头不顾尾’的原则
# step可以为负数,表示倒着切
长度
# 长度 len()
成员运算
# 成员运算in和not in
# 判断一个子字符串是否存在于一个大字符串中
print("alex" in "alex is sb")
print("alex" not in "alex is sb")
print(not "alex" in "alex is sb") # 不推荐使用
循环字符串
for i in 'hello':
print(i, end=' ')
# output: h e l l o
加法& 乘法
# 字符串的加法和乘法运算作用都是字符串的拼接
比较
# 字符串的比较原则:先比较第一个位置的字符(按ascii码表的数字大小),第一个位置的字符相同,则比较第二个位置上的字符,依次类推。返回布尔值。
常用内置方法
strip()
# strip方法用于去掉字符串左右两边指定字符,没有指定字符时默认去掉空格
补充:lstrip()、rstrip()分别实现去除左右两边的指定字符的功能
split(sep, maxsplit)
# split 方法用于将字符串按照指定字符分割成多部分,并以列表的形式返回
# 参数sep用于设置分割的依据,如果没有设置则默认按空格分隔
# 参数maxsplit用于设置分割的次数
rsplit(sep, maxsplit):从右边开始分割
lower() & upper()
# lower()、upper()分别实现字符串的小写化和大写化转换功能
startswith(prefix, start=None, end=None)
# startswith()方法用于判断字符串是否以某个子字符串开头,返回布尔值
# 参数prefix用于指定判断的字字符串。可以是元祖,用于多个可能性的判断
# start和end用于设置比较的范围
endswith(prefix, start=None, end=None)) 用于判断以什么子字符串结尾
format()
# format方法用于字符处啊格式化打印
join()
# join用于把多个字符串拼接成一个新字符串;
# 按照某个分隔符号,把元素全为字符串的列表拼接成一个大字符串
l=['1',"2",'aaa']
":".join(l)
replace(old, new, count)
# 将原有的子串替换为新的子串,
# 参数count设置替换的前几个。如果没有设置则全部替换
isdigit()
# 判断字符串是否是纯整数数字; 返回布尔值
其他内置方法
# find,rfind,index,rindex,count
# 找到返回起始索引
# find()找不到不报错,返回-1
# rfind、右边开始找
# index返回左边开始找,返回第一个找到的索引,找不到报错;
# rindex从右边开始找,找不到报错
# count 统计字符出现的次数
#4.3.2、center,ljust,rjust,zfill
# 字符串格式填充系列
# 在指定字符串宽度,在两边填充指定补位字符
# ljust,左对齐,在字符串右边补位
# rjust右对齐,在字符串左边补位
# zfill,用于数字字符串高位补位0,用在字符串也可以,在左边填充字符0
#4.3.3、expandtabs(width)
# 修改制表位,width指定指标位的宽度
#4.3.4、captalize,swapcase,title
# captalize 将字符串的首字符大写化,首字符如果不是英文字母则失效
# swapcase 大写转小写,小写转大写
# title 将字符串中每个字母的首次出现的英文字母大写
#4.3.5、is数字系列
#4.3.6、is其他
# print('abc'.islower()) # 是否全小写
# print('ABC'.isupper()) # 是否全大写
# print('Hello World'.istitle()) # 是否是标题
# print('123123aadsf'.isalnum()) # 字符串由字母或数字组成结果为True
# print('ad'.isalpha()) # 字符串由由字母组成结果为True
# print(' '.isspace()) # 字符串由空格组成结果为True
# print('print'.isidentifier()) # 命名是否规范
# print('age_of_egon'.isidentifier())
# print('1age_of_egon'.isidentifier())
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='Ⅳ' #罗马数字
# isdigit只能识别:num1、num2
# print(num1.isdigit()) # True
# print(num2.isdigit()) # True
# print(num3.isdigit()) # False
# print(num4.isdigit()) # False
# isnumberic可以识别:num2、num3、num4
# print(num2.isnumeric()) # True
# print(num3.isnumeric()) # True
# print(num4.isnumeric()) # True
# isdecimal只能识别:num2
print(num2.isdecimal()) # True
print(num3.isdecimal()) # False
print(num4.isdecimal()) # False