美文网首页python
03 python基础二--字符串与编码

03 python基础二--字符串与编码

作者: 祐吢房_2c9a | 来源:发表于2018-01-09 20:32 被阅读0次

    1 字符串和编码

    捋一捋ASCII编码和Unicode编码的区别
    A 用ASCII编码是十进制的 65,二进制的01000001
    O 用ASCII编码是十进制的48,二进制的00110000


    image.png
    image.png
    image.png

    2 python的字符串

    • python的字符串是以Unicode编码的,所以支持多语言
    • 单字符与编码之间的转换函数
    >>> ord('A')
    65
    >>> ord('中')
    20013
    >>> chr(65)
    A
    
    • 字符串用于网络传输或者保存到硬盘,需转换为字节bytes,python对字节类型的数据用b加引号表示
    x = b'ABC'
    
    # 区分'ABC' 与 b'ABC'的区别
    # 'ABC' 是一个 str,b'ABC'虽然显示和前者一样,但事实上bytes的每个字符都只占用一个字节,而python中str每个字符占用3个字节,3*8比特(bit)。
    
    • encode( ) 与 decode( )
    # decode()用于将bytes转换为str,errors='ignore'可以忽略错误的字节
    >>>b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
    '中'
    # 计算字符串长度 len()
    >>> len(b'ABC')
    3
    >>> len(b'\xe4\xb8\xad\xe6\x96\x87')
    6
    >>> len('中文'.encoding('utf-8'))
    6
    # encode()恰好相反,将str进行编码
    
    ##注意:由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行
    
        #!/usr/bin/env python3
        # -*- coding: utf-8 -*-
    
    • python 字符串格式化 ,%与format()
      在Python中,采用的格式化方式和c语言是一致的,用%实现,例:
    >>> 'Hello, %s' % 'world'
    'Hello world'
    >>> 'Hi , %s , you should eating %s' % ('girl', 'food')  #多个变量必须用小括号
    'Hi , girl , you should eating food'
    
    - %d      整数
    - %f       浮点数
    - %s      字符串, %s永远起作用,可把任何数据类型转换为字符串
    - %x      十六进制整数
    
    # 格式化整数和浮点数可以指定是否补0和整数与小数的位数
    # -*- coding: utf-8 -*-
    print('%2d-%2d' % (3,1))
    print('%.2f' % 3.141592653)
    
    #打印结果
     3 - 1
     3.14
    

    另一种格式化的方法是format(),它会用传入的参数依次替换字符串内的占位符{0}、{1}......,不过比较麻烦

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

    ps: 今日问题
    解决终端 pyhton 不能输入中文的问题
    原来是终端配置搞的鬼,打开偏好设置,然后按图设置即可解决~


    image.png

    相关文章

      网友评论

        本文标题:03 python基础二--字符串与编码

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