Python---基本知识11之常用数据类型字符串

2018-01-05  本文已影响19人  hello_我的哥

在讲字符串之前,插一下bool类型,对于bool类型,没什么好说的,我觉得应该注意一点的就是bool类型是int型的子类,这点和其他编程语言有点不一样,所以bool类型是可以进行数值计算的,true就是1,false就是0;

字符串:是由单个字符组成的一个集合

'woshizl'    这个就是一个字符串  我们可以把字符串赋值给一个变量 : name='woshizl'

非原始字符串:我们一般使用的都是非原始字符串,即没有任何修饰的字符串,

name = 'zhangsan'   girlname = 'lisi'

print(name,girlname)

原始字符串:意思就是我引号里面是啥,就会输出啥,这又是啥意思呢?和非原始字符串有啥区别呢?介绍这个之前,我们先看看转义符,

转义符:通过转换指定的字符,使得他具备特殊的含义,就可以理解成变异人一样;常见的几个转义符:

续行符:\,

单引号:\'    双引号:\''

换行:\n     横向制表符:\t

我们在字符串里面写上这些字符,就会有特殊的效果;比如输出'my name is zl,age:18'要求age换行,那就这样:

name='my name is zl,\nage :18'

print(name)

这样就实现了换行,那比如就是要求有\n这个字符怎么办呢,那就需要把\这个字符转回去,就需要在加一个\;就会变得更复杂;那原始字符串的意思就是字符串是什么,我们就会输出什么,不管什么转义不转义,非原始字符串的话遇到转义就会去转义:

原始字符串也很简单,只需要在字符串前面加一个r就可以了;

name=r'my name is zl,\nage :18'

print(name)

提供这些什么原始字符串,非原始字符串也是为了我们操作更方便,这种没啥可理解的。

然后我们在看看字符串的表现形式,以及各种形式的特点:形式就多了

name='woshi'   :单引号

name="woshi"   :双引号

name='''woshi'''  :3个单引号

name="""woshi"""  :3个双引号

你说为啥会有这么多存在的形式呢,当然也是为了程序猿大哥些开发更方便;这么多形式,比如单双引号混合使用,可以避免使用转义字符:有时候就是需要输出带有”“这种。就可以混合使用,控制字符的都是成对存在的,向下面这种,第一个是’,那他就会去找下一个‘,里面的全是字符,所以就可以避免使用转义了;

name='my name is "齐天大圣"'

print(name)

那么三个’‘’的作用呢,其实一般写三个'''都是用于注释的,并且可以直接跨行书写:跨行之后输出也是换行的;

name='''我是谁,

我在哪里'''

print(name)

我们可以随便看一下python源码的注释,你会发现都是用三个'''引用的;

字符串的一般操作:

字符串拼接:总共有四种方式

1.直接相加

name='my name is zl' age='年龄是18'

print(name+age)

2.直接放在一起

name = 'my name is zl''年龄是18'

3.通过%拼接

name1='zl' name = 'my name is %s''年龄是18'%name1

print(name)

4.通过*

name='sz'

print(name*10)

字符串切片:获取字符串的某一个片段,说白了就是获取一个字符或者多个字符,通过name[]获取,需要注意一点就是下标从0开始,也可以从-1开始,-1就是最后一个,-2是倒数第二个,以此类推;

name='woshi fengbaobao'

print(name[1])

print(name[-2])

上面的都是获取一个字符的用法,下面讲获取多个字符;也都是大同小异:

name='woshi fengbaobao'

print(name[2:8:2])

这个name[::]里面有三个参数,分别是从哪个位置开始取,取到哪个位置,第三个参数是步长,就是隔多少步取一个;默认值分别是,len(str),1;针对步长,如果步长大于0,那就是从左到右取,步长小于0就是从又到左;需要注意一点就是不能从头部跳到尾部,或者从尾部调到头部;

name='woshi fengbaobao'

print(name[-2:-8:-2])

就一个特殊案例:反转字符串:步长是-1,其他是默认值;

name='woshi fengbaobao'

print(name[::-1])

最后针对字符串还有一点最重要的,就是针对字符串的函数操作,由于函数太多,也不可能全部记住,主要是用的时候会查找,知道用哪些函数就可以了,我这主要列举几个重要的函数:

1.字符串长度:len()

name='woshi fengbaobao'

print(len(name))

2.查找:有的话就返回该值的下标,没有就返回-1 find()

name='woshi fengbaobao '

print(name.find('f'))

3.获取:必须拿到这个字符的下标,不然就报错:index()

name='woshi fengbaobao '

print(name.index('f'))

4.替换:replace()

name='woshi fengbaobao '

print(name.replace('o','='))

5.转换成小写:lower()

name='WOSHISHUI'

print(name.lower())

6.转换成大写:

name='woshi fengbaobao'

print(name.upper())

7.分割:split(),分割之后,就成了一个列表;

name='woshi fengbaobao'

print(name.split('o'))

8.拼接:join(),把可迭代的对象进行拼接在一起;join()的用法稍微有点不同,是把''插入到列表里面去,生成一个字符串;

name=['wo','shi','shui']

print('-'.join(name))

9.判断是否全是字母:isalpha()

name='woshi fengbaobao'

print(name.isalpha())

10.判断是否全是数字:isdigit()

name='woshi fengbaobao'

print(name.isdigit())

11.判断是否是字母和数字:isalnum()

name='woshifengbaobao'

print(name.isalnum())

12.判断是否以什么字符开头:startswith()

name='woshifengbaobao'

print(name.startswith('w'))

13.判断是否以什么字符结尾:endswith()

name='woshifengbaobao'

print(name.endswith('w'))

上一篇下一篇

猜你喜欢

热点阅读