zoukankan      html  css  js  c++  java
  • python基础-06

    is 和 == 的区别

    is 比较的是内存地址

    == 比较的是值

    id(变量)  返回给你这个变量的内存地址

    例子:s="周杰伦"

         s1=s

         print(id(s),id(s1))

         

    特殊的: lst1=[1,4,7]

           lst2=[1,4,7]

           lst1.append("小白")

           print(lst1,lst2)

           print(id(lst1),id(lst2))  #内存地址不同

       

    小数据池(常量池): 把我们使用过的值存储在小数据池中.供其他的变量使用.

    小数据池给数字和字符串使用, 其他数据类型不存在.

    对于数字: -5~256是会被加到小数据池中的. 每次使用都是同一个对象.

    对于字符串:

    1. 如果是纯文字信息和下划线. 那么这个对象会被添加到小数据池.

    2. 如果是带有特殊字符的. 那么不会被添加到小数据池. 每次都是新的.

    3. 如果是单一字母*n的情况. 'a'*20, 在20个单位内是可以的. 超过20个单位就不会添加到小数据池中.

    注意(一般情况下): 在py文件中. 如果你只是单纯的定义一个字符串. 那么一般情况下都是会

    被添加到小数据池中的. 我们可以这样认为: 在使用字符串的时候, python会帮我们把字符串

    进行缓存, 在下次使用的时候直接指向这个字符串即可. 可以节省很多内存.

          

    编码

    ASCII    8bit 1byte  英文小写大写字母,特殊字符,数字

    GBK       16bit 2byte  中文  兼容ASCII

    UNICODE    32bit 4byte   万国码  占空间

    UTF-8         UNICODE升级版   英文 1byte  中文 3byte

    1. python2中默认使用的是ASCII码. 所以不支持中文. 如果需要在Python2中更改编码,需要在文件的开始编写:# -*- encoding:utf-8 -*-

    2. python3中:内存中使用的是unicode码

    传输过程中用UTF-8或者GBK.  

    内存中,程序运行的过程中,编码是UNICODE.

    在程序中,字符串可以编码成bytes类型的数据.

    编码encode

    编码之后的结果和原来的结果其实是一样的,只是看着不一样.

  • 相关阅读:
    函数length属性
    vue面试题
    ES6引进新的原始数据类型symbol使用及特性
    jq动画
    防抖和节流
    this指向
    前端:性能优化之回流和重绘
    react生命周期
    vue生命周期
    react-redux的实现原理
  • 原文地址:https://www.cnblogs.com/Bu-Bu/p/9145961.html
Copyright © 2011-2022 走看看