python基础 字符串

最近做题的时候经常会忘记某个数据类型的某些操作方法,所以把基础知识重新捋一遍

手头没有书,照着菜鸟教程捋

因为是重看一遍,所以可能不会很详细,不适用刚学习的人

Python 字符串

1.转义字符--\

\表示换行
\\

表示一个反斜杠\

\'表示单引号
\"表示双引号
\a响铃(没用过)
\b退格(没用过)
\e转义(没用过)
\000空(没用过)
\n换行
\v纵向制表符(没用过)
\t横向制表符(没用过)
\r回车(没用过)
\f换页(没用过)
\oyy八进制数,yy代表的字符,例如:\o12代表换行(没用过)
\xyy十六进制,yy代表的字符,例如:\x0a代表换行(没用过)
\other其他的字符以普通格式输出(没用过)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这么一看,转移字符我用的还真不多,常用的只有“\”和“\n”

 

2.关于字符串运算符

现在有两个字符串,a='Hello',b='World'

(1) +   字符串拼接

a+b的结果是-->>'HelloWorld'

(2) * 字符串重复输出

a*2的结果是-->>'HelloHello'

(3) [] 索引,通过下标获取字符串中的某个字符

a[1]的结果是-->>'e'

(4) [:]切片,通过下标截取字符串的某一部分

a[1:4]的结果是-->>'ell'

(5) in 判断某个字符是否在字符串中(相应的还有not in,不写了)

'H' in a的结果是-->>True

'B' in a的结果是-->>False

(6) r或R 原始字符串,使后续字符串按照字面意思使用(没用过这个)

print(r'\n')的结果是-->>\n

print(R'\n')的结果是-->>\n

看起来就是r或者R之后的引号内是什么就输出什么

 

3.字符串的格式化

刚学习python的时候看的是python~ABC和嵩天老师的课,都没怎么用过%d、%s这样的方式输出,需要控制输出格式的时候我一般用format来控制,所以对这种方法不是很熟悉,这次正好学习一下

%c格式化字符及其ASCII码
%s格式化字符串
%d

格式化整数

%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X

格式化无符号十六进制数(大写)

%f

格式化浮点数,可指定精度

%e用科学计数法格式化浮点数
%E和 %e相同
%g%f 和%e的简写(不知道什么意思)
%G%f 和%E的简写
%p用十六进制格式化变量的地址

 

 

 

 

 

 

 

 

 

 

 

 

 

格式化操作符辅助指令:

符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
<sp>在正数前面显示空格
#在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0显示的数字前面填充'0'而不是默认的空格
%'%%'输出一个单一的'%'
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

 

4.字符串的相关函数

str.captalize()把str的第一个字符大写
str.center(width)返回一个原str居中,且用空格填充至长度width的新str
str.count(string,beg=0,end=len(str))返回string在str中出现的次数,beg和end可选,表示起始终止位置
str.decode(encoding='UTF-8',errors='strict')以encoding指定的编码格式解码str,如果出错默认报ValueError异常,除非errors指定的是'ignore'或'replace'(没用过这个)
str.endswith(obj,beg=0,end=len(str))检查str是否以obj结束,返回True或者False,beg和end可选
str.expandtabs(tabsize=8)把str中的tab转换为空格,tab符号默认为8个空格
str.find(string,beg=0,end=len(str))检测string是否在str中,存在则返回索引值,否则返回-1,beg和end可选
str.format()我最常用的
str.index(string,beg=,end=)和find()相同,但如果string不存在,会报一个异常
str.isalnum()判断所有字符都是字母或数字,返回True或False
str.alpha()判断所有字符都是字母,返回True或False
str.isdecimal()判断str只包含十进制数字,返回True或False
str.isdigit()判断str只包含数字,返回True或False
str.islower()/str.isupper()判断str中的字母是否都是小写/大写,返回True或False
str.isnumeric()判断str只包含数字,返回True或False(不知道和isdigit的区别)
str.isspace()判断str只包含空格,返回True或False
str.istitle()判断str是标题化的,返回True或False(还没见过标题化)
str.join(seq)以str为分隔,将seq中的所有元素(的字符串表示)合并为一个新的字符串 (这个比较常用)
str.ljust(width)/str.rjust(width)返回一个字符串左对齐/右对齐,并使用空格填充至长度width的新字符串
str.lower()/str.upper()将str所有字符小写/大写(若为数字或符号,则不变)
str.lstrip()/str.rstrip()截掉str左边/右边的空格
str.maketrans(intab,outtab])maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。(没见过,也没用过,第一次知道这个方法)
max(str)/min(str)返回str中最大/最小的字母
str.partition(string)从string出现的第一个位置起,把字符串str分成一个3个元素的元组(str_pre_string,string,str_post_string),如果str中不包含string,则str_pre_string==str(这是啥玩意。。??)
str.replace(str1,str2,num=str.count(str1))把str中的str1换成str2,如果num指定,则替换不超过num次
str.rfind(str,beg=,end=)类似于find函数,不过是从右边开始查找
str.rindex(str,beg=,end=)类似于index函数,从右边开始
str.rpartition(string)类似于partition函数,从右边开始
str.split(string=',num=str.count(string))以string为分隔切片str,如果num有指定值,则仅分隔num个子字符串(常用方法)
str.splitlines([keepends])按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。(没见过没用过)
str.startswith(obj,beg=,end=)检查字符串是否以obj开头,返回True或False
str.strip([obj])在str上执行lstrip()和rstrip(),就是str的左右删除obj
str.swapcase()翻转str中的大小写 (这个做题的时候应该有点用,还没用过)
str.title()返回标题化的str,即所有单词以大写开始,其余字母为小写
str.translate(string,del='')根据string给出的表(包含256个字符)转换成str的字符,del参数为需要过滤掉的字符
str.zfill(width)返回长度为width的字符串,原字符串右对齐,前面填充0

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值