Python学习随笔---Python基础二

字符串和编码

1.Python3的字符串使用Unicode,支持多语言。

2.  ord():获取字符的整数表示                                                  chr():把编码转换为对应的字符

       

3.Python的字符串定义类型为str,在内存中以Unicode表示,一个字符对应若干个字节。如果需要在网络上传输,或者保存到磁盘上,就需要转换为以字节为单位的bytes。Python对bytes类型的数据用带b前缀的单引号或双引号表示。

4.以Unicode表示的str通过encode()方法可以编码为指定的bytes。如下图:

纯英文的str可以用ASCII编码为bytes,内容是一样的,但含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错,含有中文的str可以用utf-8编码为bytes。在bytes中,无法显示为ASCII编码的字节,用\x**显示。

5.我们从网络或磁盘上读取的字节流,读到的数据是bytes,可以用decode()将bytes转换为str。

当bytes中包含违法解码的字节,decode()会报错,若只是包含一小段无效的字节,可以用“errors='ignore'”忽略无效的字节。

6.len()函数用来计算str的字符数,或者bytes的字节数(一个中文字符经过utf-8编码后通常会占用3个字节,而一个英文字符会占用1个字节),还可以查询list元素的个数。

7.在python编码中,通常在文件开头添加一下两行语句:

#!/usr/bin/python
# -*- coding: utf-8 -*-

第一行注释是告诉Linux/OSX系统,这是一个Python可执行程序,Windows系统会忽略这行注释;

第二行注释是告诉Python解释器,按照UTF-8编码读取源代码(确保源代码中的中文输出不会乱码),

申明UTF-8编码并不意味着.py文件就是UTF-8编码的,还得确保文本编辑器使用UTF-8 without BOM编码。

8.在Python中采用的格式化方式跟C语言是一样的,用%实现。

格式化整数和浮点数可以指定是否补0以及整数与小数的位数。

字符串中的%用%%来转义。

9.Python还可以用format()来实现格式化,它会用传入的参数依次替换字符串内的占位符{0},{1},{2}......

 

 

 

 

 

(注:本文仅为个人学习笔记)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值