字符串

 作用:是用来记录文本信息

     字符串是一个有序的字符序列

1 如何表示一个字符串

   在非注释部分,凡是用引号括起来的部分全部是字符串

   引号分类:

                 ‘  单引号

                 “  双引号

                 “’  三个单引号

                 “””三个双引号

字符串的表示方法:

‘’ ,  “”,   “””  “”” ,  ‘’’‘’’’ 

2) 空字符串
3)非空字符串
4)单引号与双引号,三引号之间的区别

   a 单引号内的双引号不算结束符

   b  双引号内的单引号不算结束符

   c  三引号也叫所见即所得字符串,字符串的换行直接记录在字符串的内部

2隐式字符串

示例:

   s =“I’m”(空格)‘a teacher’(空格)’Name:”mz”’

3用转义序列代表特殊字符

   字符串常量中用字符反斜杠\后跟一些字符代表特定含义的字符

          \’  单引号

          \”    双引号

          \n换行符

          \a响铃

          \\一个反斜杠字符

          \r将光标移至行首

          \f换页字符

          \t水平制表符   多按几个,可以多空几格

          \v  垂直制表符

          \b  退格

          \0  字符零

          \xXX十六进制表示

          \uXXXX  Unicode16位的十六进制表示

          \uXXXXXXXX  unicode32位的十六进制表示

4 常用ASCII编码(记忆)

     字符              十进制                  十六进制

‘0’                     48                                      0x31

‘A’          65                                      0x41

‘a’                     97                                      0x61

5 row 字符串(原始字符串)

格式:r’c:\\windows\\system32’   #’c:\\windows\\system32’

 作用:将字符串内的反斜杠不做为转义字符

6 序列相关的字符串函数

len(seq) 用于获取字符串序列的长度

(长度是指字节数)  示例: len(“ABCD”)  #4

max(seq) 用于获取字符串中unicode编码最大的一个字符

                        示例:max(Aanv12) #v

min(seq)   用于获取字符串中unicode编码最小的一个字符

7 字符串代码的转换函数

ord(str)返回一个字符串的ASCII的值

chr(i)  返回i这个数值所对应的字符

8 数字转换为字符串的函数

   hex(x)  将整数转换成16进制的字符串

   oct(x)      将整数转换成8进制的字符串

   bin(x)      将整数转换成2进制的字符串

9 将字符串转换为核心类型

int(str,base=0)

float(str)

bool(str)

complex(str)

10 将对象转换为字符串类型str函数

str(x)

11 字符串的运算

+,+=,*,*=

这些运算都将产生新的字符串

12  in /not in 运算符

作用:in / not in 用于序列,字典,集合中;目的是用来判断某个值是否在其中

in 后面要是一个容器的

语法:x in s(s为序列,字典,集合)

13 字符串比较运算

> ,>= , < , <= , == , !=

挨个比较unicode编码,第一个为True,则以后不比较

既比较长度,又比较内容,内容在先

示例:

>>> "hongshui">'洪水'

False

>>> '  '<'a'

True

>>> ''<'a'

True

>>> ''<'1'

True

14 所有运算符优先级比较

  

运算符

描述

**

幂运算

~,+,-

取反   正号,负号

*,/,%,//

乘法,除法,求余,地板除

+,-

加,减

<<,>>

左位移,右位移

&,|

位与,位或

^

位异或

<,>,<=,>=

小于,大于,小于等于,大于等于

==,!=

相等,不等

= ,%=,/=,//=,-=,+=,*=

赋值,求余等,除等,地板除等,减等,加等,乘等

is,is not

身份运算符

in ,not in

成员运算符

not,and,or

布尔运算符(逻辑运算符)

 

15 字符串的基本操作

索引 index:

切片 slice:

(1)索引

python语言中,可以用索引来访问序列中的对象,有正向索引,反向索引

a)正向索引

   正向索引的范围:从左至右,0------->(length-1)

b)反向索引

   负向索引的范围:从右之左,(-1)------->(-length

(2) 切片 slice

 s[[开始索引]:[终止索引]  [:步长]]

说明:开始索引,终止索引,步长均可省略

a)默认值

   开始索引默认值为0

   终止索引默认值为序列的length

   步长默认值为 1

b)示例:

   s =“ABCDEFG”

  

操作

结果

a=s[:]

 a= “ABCDEFG”

b=s[::]

 b= “ABCDEFG”

c=s[1:]

c=” BCDEFG”

d=s[1::2]

d=”BDF”

e=s[1:5:2]

e=”BD”

f=s[1:5]

f=”BCDE”(不包含下标是5的)

g=[::-1]

g=”GFEDCBA”;解释:下标有正有负,开始索引默认值为0,终止索引默认值是len(seq),则从0下标开始,步长为(-1),第一次截取出G(因为G的下标为(-1)或7)

c)步长:

步长是每次切片获取完,当前元素后移动的方向偏移量

1:没有步长,当前取值完成后,方向向右偏移一个位置

2:正数步长去正向切片

3:负数步长,取反向切片,默认开始位置为-1,结束索引为(-len(seq)-1)

16字符串常用的方法:

字符串属性的方法

对象.属性

对象.方法

以下s为字符串对象

方法

说明

s.lower()

返回全小写字母

s.upper()

返回全大写字母

s.title()

返回因为每个词首字母大写

s.isdigit()

判断是否是数字

s.isalpha()

判断是否是英文

s.islower()

判断是否全是小写字母

s.isupper()

判断是否全是大写字母

s.strip()

去掉左右两边的空格

s.lstrip()

去掉左边的空格

s.rstrip()

去掉右边的空格

s.count(sub[,start[,end]])

返回sub的个数,start是开始计数的起始位置,end为计数的终止位置(不包含)

s.find(sub[,start[,end]])

返回sub第一次出现的位置,start是开始查找的开始位置,end是结束查找的位置(不包含)

s.replace(old,new[,count])

返回替换后的字符串,old为被替换的字符串,new是替换字符串,count是要替换的个数

s.center(width[,fillchar])

把字符串放在width中间,并可以用fillchar填充

s.startswith(sub, beg=0,end=len(string));

判断字符串在beg到end之间是否以sub开头

s.endswith(suffix[, start[, end]])

suffix -- 该参数可以是一个字符串或者是一个元素。

start -- 字符串中的开始位置。

end -- 字符中结束位置。

判断字符串在start和end之间是否以suffix结尾

format

补充知识

字符串只能存储字符

字符串的文本解析方法:

S.split(sep=None)

split()参数可以为空,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等

# split("?", 1)第一个参数是分隔符,第二个参数是分割次数

将字符串S分割为字符串列表

s = 'welcome to tarena'

  words = s.split(' ')

# ['welcome', 'to', 'tarena']

 

S.join(iterable) 可迭代对象

将可迭代对象进行拼接,中间用字符串进行分隔

>>> s = 'hello'

>>> '-'.join(s)

'h-e-l-l-o'

 

17 字符串格式化表达式
1)作用

   生成一定格式的字符串

2)语法:

   格式化字符串 %参数值

   格式化字符串 %(参数值1,参数值2,·······)

3)示例:

   age=18

   “heihei is %d  years  old” %age

 # “heihei  is 18 years  old”

示例2

格式化的格式

>>> name = 'wmz'

>>> age=32

>>> s = 'name:%s,age:%d'%(name,age)

>>> s

'name:wmz,age:32'

 

name = 'amu'

age = 78

s='姓名,%s,年龄,%d'%(name,age)

print(s)

结果   年龄,amu,年龄,78

这个格式比较随意,只要前后的格式参数形同类型,相同个数就行

 

4)注意:

格式化字符串中的占位符的数量要等于参数的个数,否则会报错

5) 格式化字符串中的占位符

  

占位符

描述

%s

字符串

%r

机器读懂的字符串

%c

整数转为单个字符(unicode编码)

%d

十进制

%o

八进制

%x

十六进制

%X

十六进制大写

%e

小写e指数型浮点数

%E

大写E指数型浮点数

%f,%F

浮点数十进制形式

%%

等于%

 %g

   根据值的大小决定使用%f或者%e

 %G

   作用同%g,根据值的大小决定使用%F或者%E

 

 

6) 占位符(%)与类型码(如d)之间的格式语法

width 宽度

格式

说明

示例

-

左对齐

“%-10d”%123

# “123         ”

+

右对齐

“%10d” %”ABC”

# “         ABC”

0

补零

“%010d” %123

#” 0000000000123”

width

宽度

 

precision

精度

“%7.2d” %12356,987

“12356,99”

7) 基于字典的字符串格式化:

第一种方式

“%(name)s 今年 %(age)d 岁了” %{‘name’:‘wmz’,‘age’:35)

“wmz 今年 35岁了”

第二种格式

d = {“a”:”nihao”,”b”:”hello”}

print(“%(a)s”,”%(b)s”%d)

结果:nihao,hello

 

18 补充知识
18.0 format的基础知识

format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。

1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型

2.单个参数可以多次输出,参数顺序可以不相同

3.填充方式十分灵活,对齐方式十分强大

4.官方推荐用的方式,%方式将会在后面的版本被淘汰

18.1  format方法    

"{a} love {b}.{c}".format(a="I",b="FishC", c="com")

'I love FishC.com'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值