集合

用括号表示{ },可以包含多个元素,用逗号分割

用途

用于关系运算

集合特点

1.每个元素是不可变类型2.没有重复的元素3.无序

应用

1.set去重

set(names)的功能是将列表转换成集合,并去除重复值

但是因为集合里面的元素时不可变的,所以set在去重时对象所包含的值不能有不可变类型,例如不能有 [ ]{ }

names=['zhangsan','lisi','wangwu','zhangsan','zhaoliu']

s=set(names)print(s)

E:\PycharmProjects\untitled\venv\Scripts\python.exe E:/PycharmProjects/untitled/平时问题积累.py

{'zhangsan', 'lisi', 'zhaoliu', 'wangwu'}

2.合集功能

pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}

linuxs={'wupeiqi','oldboy''gangdan',}#1.长度

print(len(pythons))#2.成员运算 True False

print('alex' inpythons)#3.并集(2个变量合并,重复元素只取一个)

print(pythons |linuxs)#4.交集( 取出同值)

print(pythons &linuxs)#5.对称差集(剔除共同值,合并其他值)

print(pythons ^linuxs)#5.差集(左-右 剔除右边元素里面和左相同值 ,最后打印左边剩余的)

print(pythons -linuxs)

E:\PycharmProjects\untitled\venv\Scripts\python.exe E:/PycharmProjects/untitled/平时问题积累.py6True

{'yuanhao', 'oldboygangdan', 'alex', 'gangdan', 'wupeiqi', 'egon', 'biubiu'}

{'wupeiqi'}

{'yuanhao', 'oldboygangdan', 'egon', 'alex', 'biubiu', 'gangdan'}

{'yuanhao', 'egon', 'biubiu', 'alex', 'gangdan'}

s1={1,2,3,4,5}

s2={1,2,3,}#6.相等

print(s1 ==s2)#7.父集(包含关系)

print(s1 >=s2)#8.父集(被包含关系)

print(s2 <=s1)

E:\PycharmProjects\untitled\venv\Scripts\python.exe E:/PycharmProjects/untitled/平时问题积累.py

False

True

True

字符编码

如何理解字符编码:将人类的字符编码/转换成计算机能识别的数字,这种转换必须遵循一套固定的标准,

该标准无非是,人类字符与数字的对应关系,称之为字符编码表。

A---->0000 0000bit:是二进制位 byte:字节

B---->0000 0001c---->0000 0002d---->0000 0003

unicode与utf-8理解

1个英文字母=8bit=1bytes

英文字符:ASCII码表:用1Bytes表示一个英文字符

1英文字符=8bit=1Bytes

中文字符:GBK:用2Bytes表示一个中文字符,1Bytes去表示英文字符

unicode:内存中使用的是unicode编码,unicode把全世界的字符都建立好对应关系

用2Bytes去表示一个字符

utf-8 #unicode tranform format-8

utf-8 用1Bytes表示英文,用3Bytes表示中文

字符编码需要记住的概念:

01:内存中固定使用unicode编码,我们唯一可以改变的存储到硬盘时使用的编码02: 要想保证存取文件不乱乱码,应该保证文档当初是以什么编码格式存的,就应该以什么编码格式去读取

字符编码应用:

1)pyhton2

在python2中有两种字符串编码格式1、unicode:

x=u'上'x为unicod类型2、unicode编码后的结果

x='上' #如果文件头为coding:utf-8,那么"上"被存成utf-8格式的二进制 x为str类型

在python3只有一种字符串编码格式:1、unicode

x='上’ x为str类型

书写

#***#coding:gbk

x='上’

x.decode('gbk')#coding:gbk

x=u'上'x.encode('gbk')

x.encode('utf-8')

理解编码与解码

unicode-------编码encode-------->gbk

unicode

2)Python3

在python3中(*****)

x='上'x只能进行编码

x.encode('gbk')

3)Pyhton2与Python3使用总结

总结python2与python3:

(***)

在python2中的字符粗类型str都是unicode按照文件头的指定的编码,编码之后的结果

在python2中也可以制造unicode编码的字符串。需要在字符串前加u

(*****)

在python3中的字符串类型str都是unicode编码的

所以python3中的字符串类型可以编码成其他字符编码格式,编码的结果

是bytes类型

Bytes类型与二进制的演变:

#看“中”bytes—二级制之间的转换

res='中'.encode('utf-8')print(res) #b'\xe4\xb8\xad'

#循环取出这个bytes

for i in b'\xe4\xb8\xad':print(i)'''228

184

173'''

#发现字符“中”由三个3位数据构成,即228 184 173,#将其转化成二进制格式

print(bin(228)) #0b11100100

print(bin(184)) #0b10111000

print(bin(173)) #0b10101101

#二进制,即在计算机中的存储方式#发现字符“中”的utf-8编码方式为:11100100 10111000 10101101,这也是它在计算机中存储的方式。

#ASCII码能够表示的字符(0-9a-zA-Z及一些标点符号转义字符等)转化成utf-8码不发生改变,因为utf-8编码是ASCII编码的超集。

res1='afAFA!@#'.encode('utf-8') #b'afAFA!@#'

print(res1)#而实际上存储的是各字符的ASCII码值:

for j in b'afAFA!@#':print(j)'''97

102

65

70

65

33

64

35'''

pythonutf-8是不是二进制_python集合、字符编码、bytes与二进制相关推荐

  1. python字符编码使用ascii编码储存_python与字符编码问题

    用python2的小伙伴肯定会遇到字符编码的问题.下面对编码问题做个简单的总结,希望对各位有些帮助. 故事零:编码的定义 我们从"SOS"(国际通用求助信号)开始,它的摩斯密码的编 ...

  2. python3默认的字符编码和文件编码_Python的字符编码之三个问题

    看过很多关于Python字符编码的博客,或深或浅,总感觉有点云里雾里,今天这里我尝试用我的方式也来凑个热闹. 首先,我们要弄清楚几个问题,这个对我们后面的理解非常重要. 字节与字符 Python源代码 ...

  3. python转换字符编码_Python常见字符编码间的转换

    学习Python,字符编码间的转换是绕不过去的一只拦路虎,不把编码彻底搞明白,总有一天它会猝不及防坑你一把. Python2.x和Python3.x在字符编码的设置上也有很大区别(Python3未来将 ...

  4. python中字符编码使用_python中字符编码是什么?如何转换字符?

    屏幕前我们看到的文字,在计算机中也是这样表示吗?事实上,我们所有的信息电脑是无法直接理解的,同样我们所要表达的信息,计算机也不能看懂.这就需要架起一个理解的桥梁,也就是编码帮助我们相互之间进行翻译.今 ...

  5. opencv把图片转换成二进制_Python+OpenCV实现将图像转换为二进制格式

    Python+OpenCV实现将图像转换为二进制格式 发布时间:2020-09-20 20:30:58 来源:脚本之家 阅读:68 作者:大蛇王 在学习tensorflow的过程中,有一个问题,ten ...

  6. python中二进制和文本不同_关于Python字符编码与二进制不得不说的一些事

    二进制 核心思想: 冯诺依曼 + 图灵机 电如何表示状态,才能稳定? 计算机开始设计的时候并不是考虑简单,而是考虑能自动完成任务与结果的可靠性, 简单始终是建立再稳定.可靠基础上 经过尝试10进制,但 ...

  7. Python基础知识(二进制与字符编码、Python中的标识符和保留字、变量的定义和使用、变量的多次赋值)

    6.二进制与字符编码 什么叫二进制与字符编码 计算机是由逻辑电路组成的,逻辑电路也有两种状态开和关 可以用0和1表示 如图 :一个位置上你可以写上0或者1,如果还想有更多的状态 可以加位置 可以0或者 ...

  8. jsp未正确拼写字 mysql_JAVA字符编码

    UCS-2, 与unicode的2byte编码基本一样. UCS-4, 4byte编码, 目前是在UCS-2前加上2个全零的byte. UTF:Unicode/UCS Transformation F ...

  9. 深入理解-字符编码ASCII,GB2312,GBK,Unicode,UTF-8

    字符编码 简介 起初再考虑写不写这篇文章,感觉这篇文章比较枯燥乏味,而且自己感觉也没理解的太透彻,就把理解的记录下来,所以这是纪念版的 前方高能,非战斗人员请迅速撤离,我要开始装逼了. Go hard ...

最新文章

  1. makefile中命令的显示
  2. 1.java的基础和数据类型
  3. scrapy爬个小网站
  4. 17 CO配置-控制-产品成本控制-产品成本计划编制-定义成本核算类型
  5. 如何删除pdf中计算机属性,PDF文件做好后怎么修改
  6. centos7 离线安装自签名harbor
  7. commvault xtrabackup全实例备份失败 处于未决状态(下)
  8. Linux内核编程11期:设备树(device tree)
  9. OSChina 周四乱弹 —— 你从小继承了程序员基因
  10. FileSplit cannot be cast Exception
  11. 基于Python爬取天眼查网站的企业信息
  12. 用资源管理器打开ftp站点跳转浏览器解决方法
  13. SylixOS网卡驱动实现篇
  14. Python爬虫之爬取网站图片
  15. 《浊酒一杯忆往昔, 似水流年探追忆》
  16. python换照片底色_详解Python给照片换底色(蓝底换红底)
  17. 基于单片机的贪吃蛇游戏
  18. 3dmax顶点动画导入unity_从3dmax如何导入物体到unity3d
  19. 程序员公众号编辑工具
  20. LeetCode: 173. Binary Search Tree Iterator

热门文章

  1. Vhost dataplane in Qemu | PDF
  2. 如何跟踪发现Linux内核补丁(patch)
  3. 云计算OpenStack:云在身边博客园
  4. OpenStack概念结构与逻辑架构:Conceptual architecture and Logical architecture
  5. OpenVDB:梦工厂的有效存储和处理离散在三维网格上的稀疏体积数据C++库
  6. 傅里叶变换的相关函数(笔记02)
  7. python基础元组和列表区别(六)
  8. android studio安装Kotlin(零)
  9. netty大白话(四)
  10. html的标签位置属性(学习笔记)