美文网首页
Python---基本知识11之常用数据类型字符串

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

作者: hello_我的哥 | 来源:发表于2018-01-05 11:49 被阅读19次

    在讲字符串之前,插一下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'))

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/igkknxtx.html