Python:一些小知识
2024-09-24 08:20:47
小知识点总结
一、Python2与Python3 的区别
1、Python2中可以加括号输出,也可不加输出
Python3中必须加
2、python2 中有xrange(生成器)也有range
python3中只有range
3、python2中的input为raw_input
python3 中为input
二、‘=’与is的区别
1、'='为赋值
'=='比较值是否相等
'is'比较的是内存地址
'id(内容)'--->内存地址,对于赋值运算来说 指向同一个地址
li1 = [1,2,3]
li2 = li1
print(li1 is li2)---->True
print(id(li1),id(li2))
2、数字,字符串 小数据池
int的小数据池:数字的范围-5---256数字在这个范围之内,会共用一个内存地址
字符串的小数据池:不能含有特殊字符。有特殊字符不能共用一个内存地址。s*2o还是同一个地址,s*21以后都是两个地址。只能是一个字符
4,剩下的 list dict tuple set没有小数据池的概念
5,python3中的编码
ascii一个字符用一个字节,8位表示
unicode A:用32位来表示。4个字节。中:4个字节
uft-8:英文是8位1个字节,中文用24位3个字节来表示
gbk : 英文用1个字节8位来表示,中文用16位,2个字节来表示。
(1)各个编码之间的二进制是不能互相识别的,会产生乱码
(2)文件的储存,传输,不能是Unicode(只能是utf-8,utf-16,gbk,gb2312,ascii等)
py3:
str 在内存中使用Unicode编码。
bytes类型一种特殊的数据类型,和str很像,但不是以unicode编码。
对于英文:
str的表现形式---》s = 'alex'
编码方式:0101010010 Unicode
bytes: 表现形式: s =b'alex'
编码方式:utf-8
对于中文:
str的表现形式---》s = '中国'
编码方式:0101010010 Unicode
bytes: 表现形式: s =b'x\e91\e91\e01\e21\e31\e32'(16进制)
怎么转换
#encode如何将str--》bytes类型
s1 ='alex' s11 = s1.encode('utf-8')' print(s11)------>b'alex' #utf-8 s2 ='中国' s2 = s2.encode('utf-8') print(s22) # 编码方式:utf-8
最新文章
- RunLoop(基本操作)
- Java Enumeration接口
- yourphp基本语句
- listview某一项不可点击
- c# 可以设置透明度的 Panel 组件
- ASP.Net WebForm学习笔记:一、aspx与服务器控件探秘
- javascript 弹框提示选择
- 再探java基础——零碎基础知识整理
- c - 字符串的拼接.
- NOPI导出Excel 自定义列名
- 学习Sass(二)
- python3网络编程之socketserver
- .NET程序集引用COM组件MSScriptControl所遇到的问题
- Java 非线程安全的HashMap如何在多线程中使用
- Linux安装ffmpeg
- 新浪微博注册(elenium Python 自动化)
- CF444E. DZY Loves Planting
- asp.net core结合docker实现自动化获取源码、部署、更新
- git 分支branch
- 【mybatis基础】mybatis开发dao两种方法
热门文章
- PIE SDK K-Means分类
- 完全原生javascript简约日历插件,js、html
- RBAC基于角色的权限访问控制
- nyoj 1239——引水工程——————【最小生成树 prim】
- CF 305C ——Ivan and Powers of Two——————【数学】
- windows下openssl config failed
- django中自定义表名及字段名称
- js之箭头函数
- Spring课程 Spring入门篇 4-7 Spring bean装配之基于java的容器注解说明--@Scope 控制bean的单例和多例
- iOS instruments之ui automation的简单使用(高手绕道)