【python学习笔记】第三章基本数据类型(2)字符串及format()方法的格式控制

基本数据类型

字符串的概念

字符串是字符的序列表示,根据字符串的内容多少分为单行字符串和多行字符串。

单行字符串可以由一对单引号()或双引号(")作为边界来表示,单引号和双引号作用相同。当使用单引号时,双引号可以作为字符串的一部分;使用双引号时,单引号可以作为字符串的一部分。

多行字符串可以由一对三单引号(")或三双引号(""")作为边界来表示,两者作用相同。

字符串的索引与切片

对字符串中某个子符的检索称为索引。索引的使用方式如下:
<字符串或字符串变量>[ N]
对字符串中某个子串或区间的检索称为切片。切片的使用方式如下:
<字符串或字符串变量>[ N:M]

切片获取字符串从N到M(不包含M)的子字符串,其中,N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。切片要求N和M都在字符串的索引区间,如果N大于等于M,则返回空字符串。如果N缺失,则默认将N设为0;如果M缺失,则默认表示到字符串结尾。

>>> "我爱python"[3]
'y'
>>> "我爱python"[3:5]
'yt'

转义符(\)

反斜杠字符()是个特殊字符,在 Python字符串中表示“转义”.即该字符与后面相邻的号个字符共同组成了新的含义。例如:
\n 表示换行
\\表示反斜杠
\"表示双引号
\'表示单引号
\t表示制表符(Tab)
等。如果在字符串中既需要出现单引号又需要出现双引号,则需使用转义符。

字符串类型的操作

操作符描述
x+y连接字符串x与y
x * n 或 n * x复制n次字符串x
x in s如果x是s的子串,返回 True,否则返回False

字符串处理函数

函数描述
len(x)返回字符串x的长度,也可返回其他组合数据类型的元素个数
str(x)返回任意类型x所对应的字符串形式
chr(x)返回Unicode编码x对应的单字符
ord(x)返回单字符 x表示的Unicode编码
hex(x)返回整数x对应十六进制数的小写形式字符串
oct(x)返回整数x对应八进制数的小写形式字符串

运用chr()函数

>>> for i in range(12):
 print(chr(9800+i),end="")
 
♈♉♊♋♌♍♎♏♐♑♒♓

字符串处理方法

“方法”是程序设计中的一个专有名词,属于面向对象程序设计领域。在Python解释器内部,所有数据类型都采用面向对象方式实现,因此,大部分数据类型都有一些处理方法。
方法也是一个函数,只是调用方式不同。函数采用func(x)方式调用,而方法则采用< a > .func(x)形式调用即A.B()形式。方法以前导对象< a >为输人。常用的处理方法如下:

方法描述
str.lower()返回字符串str的副本,全部字符小写
str. upper()返回字符串str的副本,全部字符大写
str.split(sep=None)返回一个列表,由str根据sep被分割的部分构成(省略sep默认以空格分隔)
str.count(sub)返回sub子串出现的次数
str.replace(old,new)返回字符串str 的副本,所有old子串被替换为new
str.center(width,fillchar)符串居中函数,fillchar参数可选
str.strip(chars)从字符串str 中去掉在其左侧和右侧chars中列出的字符
str.join(iter)将iter变量的每一个元素后增加一个str字符串

示例如下:

>>> a = "我爱python"
>>> b="A,B,C"
>>> a.upper()
'我爱PYTHON'
>>> a.lower()
'我爱python'
>>> b.split(",")
['A', 'B', 'C']
>>> a.count("y")
1
>>> a.replace("o","n")
'我爱pythnn'
>>> a.center(20,"~")
'~~~~~~我爱python~~~~~~'

>>> c = '~~~~~~我爱python~~~~~~'
>>> c.strip("~")
'我爱python'
>>> a.strip("n")
'我爱pytho'

>>> ",".join(a)
'我,爱,p,y,t,h,o,n'

format()方法的格式控制

>>> "{0:=^20}".format("PYTHON") # ^表示居中对齐 20表示输出宽度
'=======PYTHON======='
>>> "{0:*>20}".format("BIT") #>表示右对齐 20表示输出宽度
'*****************BIT'
>>> "{:10}".format("BIT")>>> #10表示输出宽度 默认左对齐
'BIT       '
##{0:b}表示输出二进制、{0:c}表示输出Unicode编码、{0:d}表示输出十进制
##{0:o}表示输出八进制、{0:x}表示输出十六进制、{0:X}表示输出大写的十六进制
>>> print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425))
110101001,Ʃ,425,651,1a9,1A9
##{0:e}以科学计数法e形式表示浮点数、{0:E}以科学计数法E形式表示浮点数
##{0:f}以通常的非科学计数法形式表示浮点数、{0:%}以%形式表示浮点数
>>> print("{0:e},{0:E},{0:f},{0:%}".format(3.14))
3.140000e+00,3.140000E+00,3.140000,314.000000%
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值