码迷,mamicode.com
首页 > 编程语言 > 详细

python基础-06

时间:2018-06-06 18:10:23      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:编写   ==   ascii   文件中   下划线   文件的   情况下   小数   存储   

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

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

python基础-06

标签:编写   ==   ascii   文件中   下划线   文件的   情况下   小数   存储   

原文地址:https://www.cnblogs.com/Bu-Bu/p/9145961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!