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 比较 #比较的是内存地址 数字,字符串,有小数据池 #数字小 ...
随机推荐
- Flask入门 flask结构 url_for 重定向(一)
Flask入门(一) 1 安装虚拟环境Mac,linux sudo pip install virtualenv ubuntu系统 sudo apt-get install python-virt ...
- DevExpress控件水印文字提示 z
ButtonEdit.Properties.NullValuePrompt = "提示"; ButtonEdit.Properties.NullValuePromptShowFor ...
- Twitter Typeahead plugin Example
原文网址: http://dhtmlexamples.com/2012/02/27/using-the-typeahead-plugin-with-twitter-bootstrap-2-and-jq ...
- python25 python的三目运算符
其他语言的三目运算符大类似: 条件 ? 条件为真返回值: 条件为假返回值 python不一样: 条件为真的返回值 if 条件 else 条件为假的返回值 或者 ...
- Jmeter入门13 jmeter发送application/octet-stream二进制流数据
http接口请求header里面 content-type: application/octet-stream (二进制流数据),如何用jmeter发送请求? 1 添加http请求头 2 http请 ...
- 因子和&&因子数
给定一数n,求n的因子数目和因子之和 上述求因子和式子等于 ∏{(piei+1 - 1) / (pi - 1)} (∏就是连乘) 模板: +; int prime[maxn]; bool is_pr ...
- ACM-ICPC (10/20)
B. Bakery time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...
- CF578C Weakness and Poorness
嘟嘟嘟 题面:给一个序列中的,每一个数都减去一个实数x,使得到的新序列的max(最大连续和,|最小连续和|)最小.(|ai| <= 10000) 感性的想想,会发现最大连续和随x变大而变小,最小 ...
- 给自己的网站加上robots.txt
今天给自己的网站加了一个robots.txt,在网上收集整理了一些资料,给自己网站也加上了robots.txt ! 顺便给大家分享一下! 一.robots.txt是什么? robots.txt是一个纯 ...
- 运行出现Server Tomcat v8.5 Server at localhost failed to start.和A child container failed during start
出现问题: 解决方法: 1.看servlet文件中的@WebServlet“()”,里面是否少了/字符,如图: 加上即可,有问题随时留言,欢迎您的咨询!