Python菜鸟之路:Python基础(三)
2016-05-25 18:00
393 查看
一、编码
推荐阅读《字符编码的前世今生》:http://tgideas.qq.com/webplat/info/news_version3/804/808/811/m579/201307/218730.shtml1. 常见编码介绍
GB2312编码:适用于汉字处理、汉字通信等系统之间的信息交换GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码,即每个汉子占2byte。
ASCII编码:是对英语字符和二进制之间的关系做的统一规定
Unicode编码:这是一种世界上所有字符的编码。当然了它没有规定的存储方式。
UTF-8编码:是 Unicode Transformation Format - 8 bit 的缩写, UTF-8 是 Unicode 的一种实现方式。它是可变长的编码方式,可以使用 1~4 个字节表示一个字符,可根据不同的符号而变化字节长度。每个汉子占3byte。
2. 编码转换
Python内部的字符串一般都是 Unicode编码。代码中字符串的默认编码与代码文件本身的编码是一致的。所以要做一些编码转换通常是要以Unicode作为中间编码进行转换的,即先将其他编码的字符串解码(decode)成 Unicode,再从 Unicode编码(encode)成另一种编码。decode 的作用是将其他编码的字符串转换成 Unicode 编码,eg name.decode(“GB2312”),表示将GB2312编码的字符串name转换成Unicode编码
encode 的作用是将Unicode编码转换成其他编码的字符串,eg name.encode(”GB2312“),表示将GB2312编码的字符串name转换成GB2312编码
所以在进行编码转换的时候必须先知道 name 是那种编码,然后 decode 成 Unicode 编码,最后才 encode 成需要编码的编码。当然了,如果 name 已经就是 Unicode 编码了,那么就不需要进行 decode 进行解码转换了,直接用 encode 就可以编码成你所需要的编码。值得注意的是:对 Unicode 进行编码和对 str 进行编码都是错误的。
要在同一个文本中进行两种编码的输出等操作就必须进行编码的转换,先用decode将文本原来的编码转换成Unicode,再用encode将编码转换成需要转换成的编码。
二、Set集合
Set集合是一个无序不重复的。源码中对他的诸多方法进行了说明s1 = {1,2,3,4} s1.add(2) s1.add(5) print(s1) out: {1, 2, 3, 4, 5}
add
2.7 update
更新集合中的元素,已存在的更新,不存在的新增,更新对象可以是tuple 或者dictUpdate a set with the union of itself and others.
2.8 其他(非set必备特性)
li=[1,2,3] # 会执行list的 __init__方法li() # 会执行li的 __call__方法
list(tuple) 的原理:执行list.__init__ 构造函数,for循环tuple中的元素,然后添加到一个列表中
三、三元运算(或叫三目运算)
三元运算就是对简单的条件语句的缩写。# 书写格式 result = 值1 if 条件 else 值2 # 如果条件成立,那么将 “值1” 赋值给result变量,否则,将“值2”赋值给result变量
相关文章推荐
- 【转载】python 模块 - random生成随机数模块
- python3 reqeuests给OSC全站用户刷积分
- 【pandas】[4] 数据清洗(数据合并,重塑,转换,离散化,过滤,采样)
- 根据本地文件,生成百度云文件列表
- 人脸验证算法Joint Bayesian详解及实现(Python版)
- 0603 python 基础02
- 用Python+Django1.9在Eclipse环境下开发web网站
- python scrapy环境搭建总结
- 【python】django-celery 实现django项目定时任务
- 0527 python 基础01
- Python模块探秘之EasyGui
- Python模块探秘之EasyGui
- Python-文件对象常用的API
- Python基础学习笔记5 tuple,set
- python递归小疑惑
- second test
- python爬取当前汇率,jython的应用,实时汇率兑换
- Python中几个以“__”开头的方法介绍总结
- Python学习路程day17
- Python 多线程