python 基本数据类型之字符串功能

字符串常用功能:

# name.upper()           #全部大写变小写
# name.lower()             #全部小写变大写
# name.split()             #分割
# name.find()              #找到指定子序列的索引位置
# name.strip()             #默认移除左右空白,可以传参数,指定移除的值
# name.startswith()        #是否以xx开头
# name.format()             #字符串格式化
# name.replace()           #字符串替换
# "alex".join(["aa",'bb']) #元素拼接(元素必须是字符串)
# name.encode # 编码转换

字符串额外功能:

# name[0]     # 索引
# name[0:3]      # 切片
# name[0:3:2]    # 补偿
# len(name)      # 长度
# 字符串for循环,每个元素是字符

字符串详细功能介绍:

#创建
a = 'abc'
a = str('abc')
View Code
#转换
age = 19
new_age = str(age)
View Code
#字符串的拼接
name = 'lishichao'
gender = ''
new_str = name + gender
print(new_str)
View Code
#字符串格式化
name=input("whatyo is your name?
>>>")
print("Hello,%s" %(name))

msg = """
姓名:%s
职业:%s
年龄:%s
""" %("李世超","搬砖","18")
print(msg)
"""
View Code
#判断子序列是否在其中
content = '成功最有效的方法就是向有经验的人学习!'
if '成功' in content:
    print('包含敏感字符')
else:
    print(content)
View Code
# 移除空白,源字符串不变
val = ' lishichao '
print(val)
new_val = val.strip() #移除左右空白
new_val = val.lstrip(  #移除左空白
new_val = val.rstrip()  #移除右空白
print(new_val)
View Code
# 分割
user_info = 'lishichao|handan|19'

#v = user_info.split('|')     #根据'|' 全部分割
#['lishichao', 'handan', '19']
#v = user_info.split('|',1)   #左边开始 分割1次
#['lishichao', 'handan|19']
#v = user_info.rsplit('|',1)  #右边开始 分割1次
#['lishichao|handan', '19']
print(v)
View Code
# 长度,字符长度
val = '世超li'
v = len(val)
print(v)
View Code
# 索引
#val = 'a啊啊啊a'
# v = val[0]  #通过索引去找字符
# print(v)
#通过索引,循环打印字符串
val =input('>>>')
i = 0
while i < len(val):
    print(val[i])
    i+=1
View Code
# 切片
content = '成功最有效的方法就是向有经验的人学习!'
print(content[0])
print(content[0:2])  #取区间
print(content[5:9])
print(content[5:]) #
print(content[5:-2]) #
print(content[0:10:2]) #补偿 跳着取
print(content[0::2])  #不写 默认全部
print(content[-2:])  #从最后开始,取2个字符
View Code
#1. 首字母变大写,自身不变;生成新的值
#v = name.capitalize()
View Code
#2. 所有大写变小写
v = name.casefold()  #更牛逼,支持多国语言
#v = name.lower()
View Code
#3. 文本居中
# 参数1:总长度
# 参数2:空白处填充的字符(长度为1)
name = 'LiShiChao'
v = name.center(20,'*')
print(v)
#执行结果
#*****LiShiChao******

# 左右填充
# center,rjust,ljust
# name = 'alex'
# v = name.rjust(20,'*')
# print(v)
View Code
#4. 计算传入的值,在字符串中出现的次数
#参数1:要查找的值(子序列)
#参数2:起始位置(索引)
#参数3:结束位置(索引)
#def count(self, sub, start=None, end=None):
name = 'aaaabbbbcccc'
v = name.count('b',4,8)
print(v)
View Code
#5. 是否以xx结尾
# name = 'lishichao'
# v1 = name.endswith('o')
# print(v1)
View Code
# #6. 是否以xx开头
# name = 'lishichao'
# v2 = name.startswith('li')
# print(v2)
View Code
#7.找到制表符	,进行替换(包含前面的值)
name = 'lishichao	19
lirenjie	20'
v = name.expandtabs(20)
print(v)
# 执行结果
# lishichao           19
# linjreie            20
View Code
#8. 找到指定子序列的索引位置:不存在返回-1。
name = 'lishichao'
v = name.find('i')   #不存在返回-1。
#v = name.index('x')  #不存在会报错
print(v)
View Code
#9.字符串格式化
# tpl = '姓名:{0};年龄:{1};性别:{2}'
# v = tpl.format('',19,'')
# print(v)

# tpl = '姓名:{name};年龄:{age};性别:{gender}'
# v = tpl.format(name='',age=19,gender='')
# print(v)

# tpl = '姓名:{name};年龄:{age};性别:{gender}'
# v = tpl.format_map({'name':'','age':'19','gender':''})
# print(v)
View Code
#10.是否是数字、汉字
# name = 'li23汉子'
# v = name.isalnum()  #包含子和数字,返回True
# print(v)

# v2 = name.isalpha()
# print(v2)     #不包含数字
View Code
s = "a"
print(s.isalpha())   #判断是否是字母
True

#11. 判断是否是数字
# num = ''
# v1 = num.isdecimal()  #只能判断123,
# v2 = num.isdigit()    #能判断123,''
# v3 = num.isnumeric()  #能判断123,''''
# print(v1,v2,v3)
View Code
#12. 移除空白,源字符串不变
# val = ' lishichao '
# print(val)
# v1= val.strip() #移除左右空白
# v2 = val.lstrip() #移除左空白
# v3 = val.rstrip()  #移除右空白
View Code
# #13. 是否是一个标识符
# n = 'name'
# v = n.isidentifier()
# print(v)
View Code
#14. 是否全部是小写
# name = 'lishichao'
# v = name.islower()
# print(v)
View Code
# 是否全部是大写
# n = 'LISHICHAO'
# v1 = n.isupper()
# print(v1)
View Code
# 大小写转换
# print(name.upper())   #全部小写变大写
# print(n.lower())      #全部大写变小写
View Code
# #15. 是否包含隐含字符
# name = 'asdsad
sadsadsa'
# print(name.isprintable())
View Code
#16. 判断是否全部是空格
# name = '    '
# print(name.isspace())
View Code
#17. 元素的拼接(元素字符串), 重点,经常用
# name = 'LSC'
# v = '_'.join(name)
# print(v)

# name = ['a','b','c']
# v = ''.join(name)
# print(v)
View Code
#18. 字符串替换
# content = '10.0.3.188,172.16.1.188'
# v1 = content.replace('188','99')   # 全部替换
# v2 = content.replace('188','99',1) # 只替换第一个188
# print(v1)
# print(v2)
# #执行结果:
# # 10.0.3.99172.16.1.99
# # 10.0.3.99172.16.1.188
View Code
#29.encode
name = '李小'
v1 = name.encode(encoding='utf-8')   #转换成字节类型, utf-8 3个字节表示中文
print(v1)
v2 = name.encode(encoding='gbk')     #转换成字节类型,gbk 2个字节表示中文
print(v2)
View Code










原文地址:https://www.cnblogs.com/root0/p/10156703.html