玩转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
posted @ 2020-03-10 16:35  the3times  阅读(284)  评论(0编辑  收藏  举报