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和==的区别,编码和解码的更多相关文章

  1. 简述Python入门小知识

    如今的Python开发工程师很受企业和朋友们的青睐,现在学习Python开发的小伙伴也很多,本篇文章就和大家探讨一下Python入门小知识都有哪些. 扣丁学堂简述Python入门小知识Python培训 ...

  2. 【python学习小知识】求绝对值和numpy和tensor的相互转换

    一.python求绝对值的三种方法 1.条件判断 2.内置函数abs() 3.内置模块 math.fabs 1.条件判段,判断大于0还是小于0,小于0则输出相反数即可 # 法1:使用条件判断求绝对值 ...

  3. python 基础-文件读写'r' 和 'rb'区别

    原文链接: python基础-文件读写'r' 和 'rb'区别 一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r ...

  4. 一、python基础相关知识体系

    python基础 a. Python(解释型语言.弱类型语言)和其他语言的区别? 一.编译型语言:一次性,将全部的程序编译成二进制文件,然后在运行.(c,c++ ,go) 运行速度快.开发效率低 二. ...

  5. python全栈开发 随笔 'is' 和 == 的比较知识与区别 编码和解码的内容及转换

    python 一. is 和 == 的区别; == 比较的是两边的值. a = 'alex' b = 'alex' print(a = b) #True a = 10 b = 10 print(a = ...

  6. Python基础-语法知识

    ——编程语言的发展史 机器语言 优点:执行速度够快 缺点:开发效率非常低 汇编语言 优点:执行效率相较于机器语言略低 缺点:开发效率相较于机器语言略高 高级语言 C.C++.C#.java.PHP.p ...

  7. python字典小知识

    字典的小知识dic = {"name": "tom", "age": 23, "price": 110}# 01:提取键 ...

  8. Java基础小知识(一)

     序言:“不积跬步,无以至千里.不积小流,无以成江海.”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累. 今天就和大家分享一些我在学习J ...

  9. python之is 和 == 的区别//编码和解码

    一.is  和  ==  的区别: 1  .id()   内存地址 2.  ==   比较    #比较两边的值 3.   is    比较   #比较的是内存地址 数字,字符串,有小数据池 #数字小 ...

随机推荐

  1. Flask入门 flask结构 url_for 重定向(一)

    Flask入门(一) 1 安装虚拟环境Mac,linux sudo pip install virtualenv ​ ubuntu系统 sudo apt-get install python-virt ...

  2. DevExpress控件水印文字提示 z

    ButtonEdit.Properties.NullValuePrompt = "提示"; ButtonEdit.Properties.NullValuePromptShowFor ...

  3. Twitter Typeahead plugin Example

    原文网址: http://dhtmlexamples.com/2012/02/27/using-the-typeahead-plugin-with-twitter-bootstrap-2-and-jq ...

  4. python25 python的三目运算符

    其他语言的三目运算符大类似: 条件 ?  条件为真返回值: 条件为假返回值 python不一样: 条件为真的返回值  if  条件  else  条件为假的返回值                 或者 ...

  5. Jmeter入门13 jmeter发送application/octet-stream二进制流数据

    http接口请求header里面 content-type: application/octet-stream  (二进制流数据),如何用jmeter发送请求? 1 添加http请求头 2 http请 ...

  6. 因子和&&因子数

    给定一数n,求n的因子数目和因子之和 上述求因子和式子等于 ∏{(piei+1 - 1) / (pi - 1)}  (∏就是连乘) 模板: +; int prime[maxn]; bool is_pr ...

  7. ACM-ICPC (10/20)

    B. Bakery time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...

  8. CF578C Weakness and Poorness

    嘟嘟嘟 题面:给一个序列中的,每一个数都减去一个实数x,使得到的新序列的max(最大连续和,|最小连续和|)最小.(|ai| <= 10000) 感性的想想,会发现最大连续和随x变大而变小,最小 ...

  9. 给自己的网站加上robots.txt

    今天给自己的网站加了一个robots.txt,在网上收集整理了一些资料,给自己网站也加上了robots.txt ! 顺便给大家分享一下! 一.robots.txt是什么? robots.txt是一个纯 ...

  10. 运行出现Server Tomcat v8.5 Server at localhost failed to start.和A child container failed during start

    出现问题: 解决方法: 1.看servlet文件中的@WebServlet“()”,里面是否少了/字符,如图: 加上即可,有问题随时留言,欢迎您的咨询!