python基础小知识,is和==的区别,编码和解码
1、is和==的区别
1)id() 通过id()我们可以查看到一个变量表示的值在内存中的地址
- >>> s1 = "Tanxu"
- >>> s2 = "Tanxu"
- >>> id(s1)
- 49754608
- >>> id(s2)
- 49754608
- >>> lst1 = [1,2,3]
- >>> lst2 = [1,2,3]
- >>> id(lst1)
- 49806088
- >>> id(lst2)
- 49807112
- >>> tu1 = (1,2)
- >>> tu2 = (1,2)
- >>> id(tu1)
- 49840328
- >>> id(tu2)
- 49097800
- >>> id(("哈哈哈哈哈哈"*10))
- 48426160
- >>> id(("哈哈哈哈哈哈"*10))
- 48426160
- #我们发现 字符串的地址是相同的,而列表和元组的地址是不同的
小数据池(常量池):把我们使用过得值存储在小数据池中,供其他的变量使用。小数据池给数字和字符串使用,其他数据类型不存在。
对于数字:-5~256是会被加到小数据池中的,每次使用都是同一个对象
对于字符串:A、如果是纯文字信息和下划线,那么这个对象会被添加到小数据池
B、如果是带有特殊字符的,那么不会被添加到小数据池中,每次都是新的
C、如果是单一字母*n的情况,'a'*20 ,在20个单位是可以的,超过20个单位就不会添加到小数据池中
注意:(在一般情况下),在py文件中,如果你只是单纯的定义一个字符串,那么一般情况下都是会被添加到小数据池中的。我们可以这样认为:在使用
字符串的时候,python会帮我们把字符串进行缓存,在下次使用的时候直接指向这个字符串即可,可以节省很多内存。
2)is 和 == 的区别:
==:判断左右是否相等和一致,比较的是内容
is:判断的是内存地址,id()的值来判断,判断的是内存地址
- >>> print(s1 == s2)
- True
- >>> print(lst1 == lst2)
- True
- >>> print(s1 is s2)
- True
- >>> print(lst1 is lst2)
- False
2、编码和解码encode()和decode()
1)encode() 编码 获取到的是编码之后的结果,bytes
2)decode() 解码 把bytes编程我们熟悉的字符串【用什么编码的,需要用什么解码】
1、encode()编码之后的内容是bytes类型的数据
1) 默认把字符串编码成utf-8的形式
2) 英文:编码之后结果还是英文
3) 中文:编码之后utf-8,一个中文占3个字节
4) encode(“GBK”)编码成GBK的形式,一个中文占2个字节
2、decode(“GBK”) 从别人那里读取到的是GBK编码格式,需要在括号中注明,解码之后是字符串
3、各种编码格式之间相互转化
python基础小知识,is和==的区别,编码和解码的更多相关文章
- 简述Python入门小知识
如今的Python开发工程师很受企业和朋友们的青睐,现在学习Python开发的小伙伴也很多,本篇文章就和大家探讨一下Python入门小知识都有哪些. 扣丁学堂简述Python入门小知识Python培训 ...
- 【python学习小知识】求绝对值和numpy和tensor的相互转换
一.python求绝对值的三种方法 1.条件判断 2.内置函数abs() 3.内置模块 math.fabs 1.条件判段,判断大于0还是小于0,小于0则输出相反数即可 # 法1:使用条件判断求绝对值 ...
- python 基础-文件读写'r' 和 'rb'区别
原文链接: python基础-文件读写'r' 和 'rb'区别 一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r ...
- 一、python基础相关知识体系
python基础 a. Python(解释型语言.弱类型语言)和其他语言的区别? 一.编译型语言:一次性,将全部的程序编译成二进制文件,然后在运行.(c,c++ ,go) 运行速度快.开发效率低 二. ...
- python全栈开发 随笔 'is' 和 == 的比较知识与区别 编码和解码的内容及转换
python 一. is 和 == 的区别; == 比较的是两边的值. a = 'alex' b = 'alex' print(a = b) #True a = 10 b = 10 print(a = ...
- Python基础-语法知识
——编程语言的发展史 机器语言 优点:执行速度够快 缺点:开发效率非常低 汇编语言 优点:执行效率相较于机器语言略低 缺点:开发效率相较于机器语言略高 高级语言 C.C++.C#.java.PHP.p ...
- python字典小知识
字典的小知识dic = {"name": "tom", "age": 23, "price": 110}# 01:提取键 ...
- Java基础小知识(一)
序言:“不积跬步,无以至千里.不积小流,无以成江海.”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累. 今天就和大家分享一些我在学习J ...
- python之is 和 == 的区别//编码和解码
一.is 和 == 的区别: 1 .id() 内存地址 2. == 比较 #比较两边的值 3. is 比较 #比较的是内存地址 数字,字符串,有小数据池 #数字小 ...
随机推荐
- (阿里巴巴)数据库连接池——Druid (未完持续更新)
Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,有不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色的性能,也 ...
- Service Broker完成实例之间的会话详细解读
首先了解service broker是什么东西: Service Broker 是数据库引擎的组成部分,因此管理这些应用程序就成为数据库日常管理的一部分. Service Broker 为 SQL S ...
- The content of element type "bean" must match "(description?,(constructor-arg|property|lookup-method|replaced-method)*)".
开发中,总有一下奇奇怪怪的问题 完整的错误就不贴了,异常提示: hibernate.xml] is invalid; nested exception is org.xml.sax.SAXParseE ...
- 长大Tips
队名:CW 队员: B20150304403 王香辉 B20150304408 李孟君 B20150304411 曾翡 B20150304414 吴海波 B20150304430 文淼 B201503 ...
- CRM中间件里的发布-订阅者模式
从事务码SMW01里能观察到一个BDOC可能被发送往不止一个目的site去,比如下图所示的5个site都会收到该site,而高亮显示的SMOF_ERPSITE代表ERP系统QI3的client 504 ...
- ACM-百度之星资格赛之Energy Conversion——hdu4823
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/lx417147512/article/details/26400079 Energy Convers ...
- HDU 2647 拓扑排序
题意:每个人的工资至少888,然后有m个条件,前者比后者要多.求最少工资. 分析: 最开始的开邻接矩阵的肯定超时,如果dfs,会出现由于刚开始不是从入度为0的点出发,后期修改不了.比较麻烦. 正确方式 ...
- PowerShell批量创建文件夹
效果如下: 实现关键: mkdir (1..10|%{"hwllo$_"}) 过程概述:
- 字符ASCII转换
实现效果: 关键知识: 实现代码: private void button1_Click(object sender, EventArgs e) { if (textBox1.Text != stri ...
- div可编辑框,去除粘贴文字样式😄
上个月做了个聊天的需求(网页版的).说到聊天都想到输入框,说到输入框都会想到input,但是input标签是不支持插入图片的(包括areatext标签).查阅了一些资料就看到div标签有一个属性con ...