首页 > 编程语言 > 详细

python基础--字符串操作

时间:2019-12-10 16:23:40      阅读:109      评论:0      收藏:0      [点我收藏+]

经过大半年时间断断续续的学习python,到现在也能写出来一些小工具。但是在昨天看一个大神的代码我突然间认识到,基础不牢地动山摇,所以重头学习一遍python基础。  注:一下所有操作均在python3环境下

 

什么是python字符串:

字符串(String),是由数字、字母、下划线组成的一串字符;

 

python字符串特性:

1、属于python基本数据类型和结构的一种;

2、本身是不可变的数据类型;

3、有很多内置的方法;

 

重点先说,python字符串的拼接:

我个人感觉容易让新手困扰的就是string的拼接,不知道什么时候应该使用字符串的拼接,在不该用字符串拼接的地方使用了字符串拼接造成了极大的内存消耗;

如下:

现在又一个有元素的list,和一个空的字符串s,现在我想读取list_a中的元素写入字符串s中,可以使用for循环+写入,最后s=‘abcde‘,但是有一个问题就是,每次向s中添加一个字符都是重新开辟了一个内存空间地址赋值给s

现在只有5个元素如果有100个、100W个就非常非常的消耗内存了。所以业界有一个万恶的‘+’这个说法

list_a=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]
s=‘‘
for i in list_a:
s = s + i
print(s)

 

那我们应该用什么方法来进行字符串的拼接呢?join 使用指定分割符号拼接字符集如不指定就不分割。

list_a=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]
s=‘‘
s = ‘-‘.join(list_a)
print(s)
out:a-b-c-d-e

python字符串的内置函数:

name = "python"
print(name.capitalize()) #首字母大写
print(name.count(‘a‘)) #统计字符出现的次数
print(name.center(50,"-")) #一共打印50个字符,将字符放在中间。
print(name.endswith("on")) #判断一个字符串是否以指定字符串结尾bool值
print(name.expandtabs()) #将tab 键转换为空格
print(name.find("m")) #查找从左往右指定元素在字符串中的下标位置
print(name.rfind("l")) #查找从右往左第一个字符的下标,下标计算方式是按照从左往右
name = "my name {name} and {year}"
print(name.format(name=‘‘,year=‘‘)) #format格式化字符串
print(name.format_map({‘name‘:‘python‘,‘year‘:12})) #format_map 可以传字典
print(‘,‘.join([‘1‘,‘2‘,‘3‘])) #将列表变成字符串用‘‘中的分割号分割
print(name.ljust(50,‘*‘)) #右边填充指定符号
print(name.rjust(50,‘*‘)) #左边填充指定符号
print(name.lower()) #将字符串中的大写变成小写
print(name.upper()) #将字符串中的小写变成大写
print(name.lstrip()) #将字符串左边的空格回车去掉
print(name.rstrip()) #将字符串右边的空格回车去掉
print(name.strip()) #将字符串中的回车空格去掉
p = str.maketrans("abcdef","123456")
print("python".translate(p)) #先将字符串中的字母与数字对应起来,然后在对比下面的
python maketrans 相当于一个加密字典,通过它翻译其它字符串
print(name.replace(‘M‘,"fuck"))
print(name.replace(‘M‘,"fuck",1)) #替换字符串为其它字符 1代表替换第一个
print(name.split()) #将字符串按照指定分割成列表,默认使用空格也可以使用其它分割
print(name.splitlines()) #将字符串按照换行符分割成列表
print(name.swapcase()) #将字符串中的大小写转换,大写变成小写,小写变成大写
print(name.title()) #将字符串首字母大写


#########判断都会加is###########
print(name.isalnum()) #判断字符串中是否只有数字和字母返回bool值,空格也不可以
print(name.isalpha()) #判断字符是否只有字母,返回bool值。
print(name.isdecimal()) #判断字符是否为10进制数字返回bool值
print(name.isdigit()) #判断字符是否为整数返回bool值
print(name.isidentifier()) #判断是否为正确的变量名
print(name.islower()) #判断字符串是否全部为小写,返回bool值
print(name.isnumeric()) #判断字符是否为数字,返回bool值,小数也不行只有数字
print(name.isspace()) #判断是否为空格 返回bool
print(name.istitle()) #判断首字母是否大写 返回bool
print(name.isupper()) #判断字符串是否都为大写 返回bool

 

 

 

 

 

 

 

python基础--字符串操作

原文:https://www.cnblogs.com/lishuodzt/p/12016937.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!