python学习Day06--编码
【主要内容】
1. is 和 == 区别
id()函数
== 判断两边的值
is 判断内存地址
回顾编码:
1. ASCII: 英文, 特殊字符, 数字, 8bit, 1byte
2. GBK: 中文 16bit, 2byte. 兼容ASCII
3. unicode: 万国码, 32bit 4byte. 兼容ASCII
4. UTF-8: 长度可变的unicode. 英文:8bit, 欧洲:16bit, 中文:24bit 3byte python2 只能用ASCII
python3 有unicode, 默认的编码就是unicode
内存里用的是unicode. 硬盘和网络传输用的是utf-8或者GBK 2. encode() 编码. 获取到的是编码之后的结果. bytes
3. decode() 解码. 把bytes编程我们熟悉的字符串
【代码】
1、is和==
# s = "alex 是 大 xx"
# abc = id(s) # 得到内存地址
# print(abc) # lst = ["大阳哥", "佳琪哥", "小花生", "燃哥"]
# print(id(lst)) # 就是一个内存地址. 毫无意义 # lst = ["周杰伦", "燃哥"]
# lst1 = ["周杰伦", "燃哥"]
# print(id(lst))
# print(id(lst1)) # s = "燃哥"
# s1 = "燃哥"
# # 小数据池. 会对字符串进行缓存, 为了节省内存
# print(id(s))
# print(id(s1)) # tu = ("燃哥", "周杰伦")
# tu1 = ("燃哥", "周杰伦")
# print(id(tu), id(tu1)) # dic = {"a": "b", "c":"d"}
# dic1 = {"a": "b", "c":"d"}
# print(id(dic), id(dic1)) # a = 10
# b = 10
# print(id(a), id(b)) # 布尔也有,
# a = True
# b = True
# print(id(a), id(b)) # -5
# a = 257
# b = 257
# print(id(a), id(b)) # a = "小威"
# b = "小威"
# print(id(a), id(b)) # 1. id() 查看内存地址
# 2. str 有小数据池的 # == is id
# == 判断. 左右两端是否相等和一致, 比较的是内容
# is 判断. 判断的是内存地址 id()的值来判断 内存地址 # lst = ["马化腾", "小威"]
# lst2 = ["马化腾", "小威"]
# print(lst == lst2) # True
# print(lst is lst2) # False # s = "alex"
# print("1111111111")
# print("1111111111")
# print("1111111111")
# print("1111111111")
# print("1111111111")
# print("1111111111")
# print("1111111111")
# print("1111111111")
# print("1111111111")
#
# s2 = "alex"
# print(s == s2) # True
# print(s is s2) # True. 小数据池 # s1 = "@akljflkasdjklfjkasdlfjklsdajfklsdajfklasdjkflasdjklfjsdaklfjsdakljfklasdjfklsdajfklsdajfklsdajklfsjadklfjsadklfjasdkljfklsdjfklsdjfklsdjfklsdjfklasdjfklasdjklfjasdklakljflkasdjklfjkasdlfjklsdajfklsdajfklasdjkflasdjklfjsdaklfjsdakljfklasdjfklsdajfklsdajfklsdajklfsjadklfjsadklfjasdkljfklsdjfklsdjfklsdjfklsdjfklasdjfklasdjklfjasdkl"
# s2 = "@akljflkasdjklfjkasdlfjklsdajfklsdajfklasdjkflasdjklfjsdaklfjsdakljfklasdjfklsdajfklsdajfklsdajklfsjadklfjsadklfjasdkljfklsdjfklsdjfklsdjfklsdjfklasdjfklasdjklfjasdklakljflkasdjklfjkasdlfjklsdajfklsdajfklasdjkflasdjklfjsdaklfjsdakljfklasdjfklsdajfklsdajfklsdajklfsjadklfjsadklfjasdkljfklsdjfklsdjfklsdjfklsdjfklasdjfklasdjklfjasdkl"
# print(id(s1), id(s2))
#
# s = "abc中def"
# print(s.title())
2、编码
# s = "alex马"
# 想要存储.必须进行编码 # encode() 编码之后的内容是bytes类型的数据 # 30个字节 10个字. 每个字3个字节
# b'\xe6\x9d\x8e\xe5\x98\x89\xe8\xaf\x9a\xe7\x9a\x84\xe5\x84\xbf\xe5\xad\x90\xe8\xa2\xab\xe7\xbb\x91\xe6\x9e\xb6\xe4\xba\x86'
# bs = s.encode("UTF-8") # 把字符串编码成UTF-8的形式
# print(bs) # 英文:编码之后的结果是英文本身
# 中文:编码之后UTF-8 下. 一个中文3个字节 # s = "饿了么"
# bs = s.encode("GBK") # b'\xb6\xf6\xc1\xcb\xc3\xb4' GBK 一个中文:2个字节
# print(bs) # s = "中"
# print(s.encode("utf-8"))
# print(s.encode("GBK")) # decode()解码 # bs = b'\xb6\xf6\xc1\xcb\xc3\xb4' # 从别人那里读到的 GBK
#
# # 编程人认识的东西
# s = bs.decode("GBK") # 解码之后是字符串, 用什么编码就用什么解码
# print(s) # GBK => utf-8
bs = b'\xb6\xf6\xc1\xcb\xc3\xb4'
# 先解码成unicode字符串
s = bs.decode("GBK")
# 在把字符串编码成UTF-8
bss = s.encode("UTF-8")
print(bss)
3、作业与练习
''' s = "k:1|k1:2|k2:3|k3:4"
lst=s.split("|")
dic={}
for i in lst:
k,v = i.split(":")
dic[k]=int(v)
print(dic) # 有如下值li=[11,22,33,44,55,66,77,88,99,90]
# 将所有大于66的值保存至字典的第一个key中,将小于66的所有值保存到第二个key值中
li=[11,22,33,44,55,66,77,88,99,90]
#法一
# dic={"k1":[],"k2":[]}
# for el in li:
# if el > 66:
# dic["k1"].append(el)
# elif el < 66:
# dic["k2"].append(el)
# else:
# pass
# print(dic)
dic={}
for el in li:
if el > 66:
dic.setdefault("k1",[]).append(el)
elif el < 66:
dic.setdefault("k2",[]).append(el)
print(dic)
'''
python学习Day06--编码的更多相关文章
- python学习 day06打卡
今天学习的主要内容是: 一,小数据池 代码块的概念 python程序是由代码块构成的,一个代码块的文本作为python程序执行的单元. 代码块:一个模块,一个函数,一个类,甚至每一个command命令 ...
- Python学习-字符编码, 数据类型
本篇主要内容: 字符编码 Python中的数据类型有哪些 类型的一些常用操作及方法 一.字符编码 编码解释的大部分内容摘自廖雪峰老师教程中的讲解,点击跳转. 简单介绍: 我们知道计算机只能处理数字,如 ...
- python 学习笔记-----编码问题
1.python 最早支持的是ASCII编码. 所以对于普通的字符串"ABC"为ASCII编码的形式.字母和数字之间的转换函数为ord('字母')和chr(‘数字’)函数. ord ...
- Python学习-字符编码浅析
1.什么是字符编码 既然是简述那肯定是简单明了.字符编码,看名字就是一种字符的编码格式,由于计算机内部采用二进制,想要将人类的语言字符输入到计算机就需要一种编码格式,这就是字符编码.字符------- ...
- Python学习---深入编码学习1225
1.1. Python2 Py2中只有2中数据类型,Str和Unicode,而且str中保存的是bytes,Unicode中保存的是unicode 一切我们能看到的明文都是unicode数据类型, b ...
- Python学习 day06
一.== 和 is == 比较的是值 is 比较的是地址 id() -- 返回对象的内存地址 例: 赋值操作是将地址赋给变量 Python 中会实现创建一个小型的整形池,范围为 [-5,25 ...
- Python学习(2)——编码
今天写了个程序但是在DOS窗口和IDEL窗口调试的结果不一样,有些郁闷~ #!/usr/bin/env python #coding=utf-8 #python version:2.7.3 #syst ...
- Python学习之——编码方式
1.各种编码方式 ASCII:http://zh.wikipedia.org/zh-hans/ASCII Unicode:http://zh.wikipedia.org/zh-hans/Unicode ...
- Python学习之编码
Python2默认解释器的编码:ascii: Python3默认解释器的编码:UTF-8 ascii码:只会识别英文字母.数字和标点.8位表示一个英文字符,1个字节 万国码Uicode:目前的所有语言 ...
- 字符编码——python学习
python学习—字符编码 例如汉字“中” 十进制:20013 二进制:01001110 00101101(unicode)/11100100 10111000 10101101(utf-8) 十六进 ...
随机推荐
- Analysis of Two-Channel Generalized Sidelobe Canceller (GSC) With Post-Filtering
作者:凌逆战 地址:https://www.cnblogs.com/LXP-Never/p/12071748.html 题目:带后置滤波的双通道广义旁瓣相消器(GSC)的分析 作者:Israel Co ...
- Python学习3月10号【python编程 从入门到实践】---》笔记
第11章 测试代码 11.1.2 可通过的测试 name_function.py ###创建一个简单的函数,他接受名和性并返回整洁的姓名 def get_formatted_name(first,la ...
- 选题Scrum立会报告+燃尽图 03
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8680 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶,徐丽君 组名:组长 第 ...
- 【题解】BZOJ4241: 历史研究(魔改莫队)
[题解]BZOJ4241: 历史研究(魔改莫队) 真的是好题啊 题意 给你一个序列和很多组询问(可以离线),问你这个区间中\(\max\){元素出现个数\(\times\)元素权值} IOI国历史研究 ...
- 洛谷$P$3327 约数个数和 $[SDOI2015]$ 莫比乌斯反演
正解:莫比乌斯反演 解题报告: 传送门! 先考虑证明一个结论,$d_{i\cdot j}=\sum_{p|i}\sum_{q|j}[gcd(p,q)==1]$ 看起来就很对的样子,但还是证下趴$QwQ ...
- Google 开源的 Python 命令行库:深入 fire(二)
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...
- oracle中使用pl/sql进行的文件读写操作
第一次知道,可以使用pl/sql来进行文件的读写操作,嘿嘿,简单的试了下可行. 基本步骤如下: SQL> conn sys/sys@orcl as sysdba 已连接. SQL> cre ...
- 二、Spring Cloud之注册中心 Eureka
前言 算是正式开始学习 spring cloud 的项目知识了,大概的知道Springcloud 是由众多的微服务组成的,所以我们现在一个一个的来学习吧. 注册中心,在微服务中算是核心了.所有的服务都 ...
- 天梯 L2 链表去重
L2-002 链表去重 (25 分) 给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉.即对每个键值 K,只有第一个绝对值等于 K 的结点被保留.同时,所有被删除的结点须被保存在另一 ...
- matlab读取excel文件中的数据
1.读取sheet1中的所有数据 1.1首先我们建立一个sheet表,表名为‘111’ 1.2 默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤), 选入当前工作 ...