python基础知识巩固(一)——字符串

python基础知识巩固(一)——字符串

一、概念:

    字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等,分别表示abc,xyz.而'a','b','c'表示单个字符a,b,c。

二、转义字符:

    1、如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:print('I\'m Jay.)  会输出:I'm Jay.
    转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\.
    2、如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义,可以自己在命令行试试:
    >>> print('\\\n\\')
    输出:
    \
    \
    >>> print(r'\\\n\\')
    输出:
    \\\n\\
    >>>
    3、如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容,比如:

    >>> print('''行1
    ... 行2
    ... 行3''')
    输出:
    行1
    行2
    行3

三、字符编码

    由于Python源代码是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
    #!/usr/bin/env python3
    # -*— coding: utf-8 -*-
    第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
    第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

四、格式化输出

    我们经常会输出类似'亲爱的xxx用户,您好!很抱歉的通知您,您已欠费xx元!'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。

    1、在python中可以采用跟C语言一样的格式化输出,即利用%输出。例如:
    >>> print('Wow,that\'s %dcm!' %18)
    输出:
        Wow,that's 18cm!


常见的占位符有:
            占位符        替换内容
             %d            整数
             %f           浮点数
             %s           字符串
             %u         无符号整型
             %o        无符号八进制数
             %x         十六进制整数
             %c      格式化字符及其ASCII码

    其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
    >>> print('%2d-%02d' % (3, 1))
    输出: 3-01
    >>> print('%.2f' % 3.1415926)
    输出:3.14
    如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:
    >>> 'Age: %s. Gender: %s' % (25, True)
    输出:'Age: 25. Gender: True'


格式化操作符辅助指令:
            符号                  功能
             *            定义宽度或者小数点精度
             -                 用做左对齐
             +            在正数前面显示加号( + )
           <sp>            在正数前面显示空格
             0        显示的数字前面填充'0'而不是默认的空格
             %            '%%'输出一个单一的'%'
            m.n.      m 是显示的最小总宽度,n 是小数点后的位数

    2、format()形式

    另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:

    >>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
    输出:'Hello, 小明, 成绩提升了 17.1%'

猜你喜欢

转载自blog.csdn.net/Jay5311/article/details/78797558