python横向输出字符串_Python字符串

在Python中,字符串是除数字外最重要的数据类型。字符串无处不在:将字符串输出到屏幕上;从用户的键盘输入读取字符串;文件通常被视为大型字符串;网页大部分是由文本组成的。 字符串是一种聚合数据结构,可充分利用索引和切片—用于从字符串中提取子串。 而Python正则表达式库,是一种用来处理字符串的微型语言,但功能强大。

一、通用序列操作Python中,字符串、列表和元组都属于序列。

序列有一些通用的操作。包括:索引(indexing)、分片(slicing)、加(adding)、乘(multiplying)、检查某个元素是否属于序列的成员(成员资格)、计算序列长度、找出最大元素和最小元素等。

1、索引

序列中的所有元素都是有编号的—从0开始递增。这些元素可以通过编号分别访问。索引有正索引和负索引,可根据实际情况选用。 字符串就是一个由字符组成的序列,处理字符串时,经常需要访问其中的各个字符。索引0指向第1个字符。

例如:字符串’apple’的正索引和负索引

例:字符串索引应用

执行结果:

2、分片与使用索引访问单个元素类似,可以使用分片操作来访问一定范围内的元素。分片是实际应用中经常使用的技术,被截取的部分称为“子串”

Python 3支持的分片格式为:S[i:j:k]

表示:索引S对象中的元素,从索引为i直到索引为j-1,每隔k个元素索引一次,第三个限制k为步长,默认为1,也可以使用负数作为步长,步长-1表示分片将会从右至左进行而不是通常的从左至右,实际效果主是将序列反转。

在Python中,还可以使用split()函数来截取字符串。

例:返回文件名中的扩展名

3、序列相加(字符串连接、合并)

之前介绍过,使用“+”完成。除此之外,还可以使用join函数和reduce函数实现字符串的合并。注意:不同类型的数据不能相加。

4、乘法

用数字x乘以一个序列会生成新的序列,在新的序列中,原来的序列被重复x次。

5、成员资格

为了检查一个值是否在序列中,可以使用in运算符。该运算符检查某个条件是否为真,若为真返回True,否则返回False。

6、长度、最小值和最大值

len、min和max都是内置函数。 len—返回序列中包含的元素个数。 min—返回序列中的最小值。 max—返回序列中的最大值。

二、字符串格式化

1、字符串格式化C语言使用函数printf()格式化输出结果,Python也提供了类似功能。

Python将若干值插入带有“%”标记的字符串中,从而可以按照指定格式输出字符串。

语法: "%s" % str1

"%s %s" % (str1, str2)

例:格式化字符串

例:带精度的格式化

Python格式化字符串的替代符及含义:

符号描述符号描述%c格式化字符及其ASCII码%f格式化浮点数字,可指定小数点后的精度%s格式化字符串%e用科学计数法格式化浮点数%d格式化整数%E作用同%e%u格式化无符号整数%g根据值的大小决定使用%f或%e%o格式化无符号八进制数%G作用同%g%x格式化无符号十六进制数%p用十六进制数格式化变量的地址%X格式化无符号十六进制数(大写)%%若在字符串中输出“%”,需要使用“%%”

例:符号、对齐和用0填充 在字段宽度和精度之间还可以放置一个“标志”,该标志可以是零、加号、减号或空格。零表示数字将会用0填充。

执行结果:

2、字符串的转义字符计算机中存在可见字符与不可见字符。可见字符指键盘上的字母、数字和符号。不可见字符是指换行、回车、制表符等字符。

对于不可见字符,Python使用的方法类似于C语言,都是使用“\”作为转义字符。

Python还提供了函数strip()、lstrip()、rstrip()去除字符串中的转义字符。

Python常用的转义字符及其含义:

符号描述符号描述\反斜线\v纵向制表符\’单引号\r回车符\”双引号\f换页符\a发出系统响铃声\o八进制数代表的字符\b退格符\x十六进制数代表的字符\n换行符\000终止符,其后的字符串全部忽略\t横向制表符

例:转义字符应用

执行结果:

三、字符串函数(方法)Python字符串自带了大量很有用的函数,要查看这些函数,可调用dir并将参数指定为任何字符串(如:dir(' '))。

虽无必要准确记住所有函数功能,但最好有个大致了解,这样有益于需要时去查询具体使用。

字符串函数的详细介绍可参阅其文档字符串或Python在线文档(https://docs.python.org/3/)。 此处介绍常用的字符串函数。

1、测试函数

用于检测字符串是否为特定格式的函数,它们组成了一个最大的字符串函数组。 测试函数都返回True或False,因此也称为布尔函数或谓词。

字符串测试函数:

函数名何时返回True函数名何时返回Trues.endswith(t)s以字符串t结尾s.islower()s只包含小写字母s.startswith(t)s以字符串t打头s.isnumeric()s只包含数字s.isalnum()s只包含字母和数字s.isprintable()s只包含可打印字符s.isalpha()s只包含字母s.isspace()s只包含空白字符s.isdecimal()s只包含表示十进制数字的字符s.istitle()s是个大小写符合标题要求的字符串s.isdigit()s只包含数字字符s.isupper()s只包含大写字母s.isidentifier()s是合法的标识符t in ss包含字符串t

例如:

2、字符串的查找函数

函数名返回值s.find(t)若未找到字符串t,则返回-1;否则返回t在s中的起始位置s.rfind(t)与find相同,但从右往左查找s.index(t)与find相同,但如果在s中找不到t,则引发ValueError异常s.rindex(t)与index相同,但从右往左查找说明:函数index和find之间的差别在于没有找到指定子串的情形。函数index引发异常ValueError,而函数find将返回-1。

例:查找函数应用

执行结果:

3、字符串的替换函数

Python字符串自带了两个替换函数,如下表所示。

函数名返回的字符串s.replace(old,new)将s中的每个old替换为news.expandtabs(n)将s中的每个制表符扩展为空格,空格宽度为n注意:使用替换函数可轻松地删除字符串中的子串。

例:字符串替换

执行结果:

4、字符串的合并之前介绍过,Python可使用“+”连接不同的字符串。

除此之外,还可以使用join函数(是split方法的逆方法)和reduce函数实现字符串的合并。

例:使用join函数连接字符串

执行结果:

例:使用reduce函数连接字符串

5、拆分函数

拆分函数将字符串拆分成多个子串。如下表所示。

函数返回的字符串s.partition(t)将s拆分为三个字符串(head、t和tail),其中head为t前面的子串,tail为t后面的子串。返回值为元组s.rpartition(t)与partition相同,但从s的右端开始搜索t。返回值为元组s.split(t)以t为分隔符,将s划分成一系列子串,并返回一个由这些子串组成的列表s.rsplit(t)与split相同,但从s的右端开始搜索ts.splitlines()返回一个由s中的各行组成的列表

例:拆分字符串

执行结果:

例:使用split()函数获取子串

执行结果:

6、字符串与日期的转换在实际应用中,经常需要将日期类型与字符串类型互相转换。

Python提供了time模块处理日期和时间。函数strftime()可以实现从时间到字符串的转换。

字符串到时间的转换要进行两次转换,需要使用time模块和datetime类。

strftime()函数:

声明:

strftime(format[, tuple])->string说明:

- 参数format表示格式化日期的特殊字符。例如:“%Y-%m-%d”相当于“yyyy-MM-dd”.

- 参数tuple表示需要转换的时间,用元组存储。元组中的元素分别表示年、月、日、时、分、秒。

- 函数返回一个表示时间的字符串。

字符串到时间的转换步骤:第一次转换:调用函数strptime()将字符串转换为一个元组。

其声明为:

strptime(string, format)->struct_time

函数返回一个存放时间的元组。第二次转换:将表示年、月、日的3个变量传递给函数datetime()。

datetime类的datetime()函数格式为:

datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]])

函数返回一个date类型的变量。

**格式化日期的常用标记: **

符号描述符号描述s.endswith(t)s以字符串t结尾s.islower()s只包含小写字母s.startswith(t)s以字符串t打头s.isnumeric()s只包含数字s.isalnum()s只包含字母和数字s.isprintable()s只包含可打印字符s.isalpha()s只包含字母s.isspace()s只包含空白字符s.isdecimal()s只包含表示十进制数字的字符s.istitle()s是个大小写符合标题要求的字符串s.isdigit()s只包含数字字符s.isupper()s只包含大写字母s.isidentifier()s是合法的标识符t in ss包含字符串t

例:时间与字符串的互相转换

执行结果:

7、改变大小写函数

函数名返回的字符串s.capitalize()将s[0]改为大写,其余小写s.lower()让s的所有字母都小写s.upper()让s的所有字母都大写s.swapcase()将小写字母改为大写,并将大写字母改为小写s.title()让s的大小写符合标题的要求

例如:

8、设置格式函数

函数名返回的字符串s.center(n,ch)包含n个字符的字符串,其中s位于中间,两边用字符ch填充s.ljust(n,ch)包含n个字符的字符串,其中s位于左边,右边用字符ch填充s.rjust(n,ch)包含n个字符的字符串,其中s位于右边,左边边用字符ch填充s.format(vars)包含用于设置字符串格式的微型语言,详见:https://docs.python.org/3.4/library/string.html#formatspec

例:设置格式

9、剥除函数剥除函数用于删除字符串开头或末尾多余的字符。如下表所示。

默认情况下,剥除空白字符;如果指定了字符串参数,则剥除该字符串中的字符。

函数名返回的字符串s.strip(ch)从s开头和末尾删除所有包含在字符串ch中的字符s.lstrip(ch)从s开头(左端)删除所有包含在字符串ch中的字符s.rstrip(ch)从s末尾(右端)删除所有包含在字符串ch中的字符

例:字符串剥除

例:去除转义字符\

10、字符串比较Python直接使用“==”“!=”操作符比较两个字符串的内容。如果比较的两个变量的类型不相同、比较的内容也不相同。

若要比较字符串的部分内容,可以先截取子串,再使用“==”“!=”操作符进行比较。

若要比较字符串的开头和结尾部分,更方便的方式是使用startswith()或endswith()函数。

startswith()与endswith()的声明为:startswith(substring, [start [,end]])endswith(substring, [start [,end]])

例:字符串比较

例:比较字符串开始和结束处

执行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值