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

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

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

时间: 2024-10-05 05:49:53

python基础-06的相关文章

Python基础06 循环

Python基础06 循环 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系.循环也会用到类似的写法. for循环 for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次. 基本构造是 for 元素 in 序列: statement 举例来说,我们编辑一个叫forDemo.py的文件 for a in [3,4.4,

python基础06

Python基础学习06 实现装饰器知识储备 装饰器 生成器 迭代器 目录结构 一.实现装饰器知识储备 1.函数即"变量" 1 x = 1 2 y = 2 3 print(x,y) 4 5 y = 2 6 x = 1 7 print(x,y) 8 9 def bar(): 10 print("in the bar") 11 def foo(): 12 print("in the foo") 13 bar() 14 foo() 15 16 def

Python基础06 - 生成器、迭代器

@@@文章内容参照老男孩教育 Alex金角大王,武Sir银角大王@@@ 一.生成器 列表生成式 1 a = [i * 2 for i in range(10)] 2 print(a) 3 # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] 生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的,而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大数元素占用的空间都是浪费的. 所以,

Python基础课:一起学习python基础题

python最近老火了,万能开发语言,很多小伙伴们要么初学,要么从别的开发语言转过来的,如果你能把下面几道基础题不费劲的写出来,基础应该可以打80分,可以进行进阶的学习了,如果下面的题目如果做不出来,拜托不要耽误时间,赶快打好基础,勿在浮沙筑高台. 题目出给新鸟打基础的,实现答案的方法千千万,如果老鸟有更厉害的答案就不要喷了,先谢谢了. 还有新鸟先不要看答案,不要看答案,不要看答案,(重要的事情说三遍)自己先去解,用自己最简单的想法去实现,能用python自带的方法就不要自己造轮子. 好啦,开始

python基础教程_学习笔记14:标准库:一些最爱——re

标准库:一些最爱 re re模块包含对正则表达式的支持,因为曾经系统学习过正则表达式,所以基础内容略过,直接看python对于正则表达式的支持. 正则表达式的学习,见<Mastering Regular Expressions>(精通正则表达式) re模块的内容 最重要的一些函数 函数 描述 compile(pattern[,flags]) 根据包含正则表达式的字符串创建模式对象 search(pattern,string[,flags]) 在字符串中寻找模式 match(pattern,st

python 基础(一)

一.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 1.1.Python应用领域: l 云计算: 云计算最火的语言, 典型应用OpenStack l WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣..., 典型WEB框架有Django l 科学运算.人工智能: 典型库N

python基础学习(一)

一,Python介绍 1,python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. (龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展的核心方向,被称为仁慈的独裁者). 2018年10月的TIOBE排行榜,Python已经占据第四的位置, Python崇尚优美.清

linux+jmeter+python基础+抓包拦截

LINUX 一 配置jdk 环境 *需要获取root权限,或者切换为root用户 1.windows下载好,去 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 官方网站下载jdk(linux相应版本) 2.在usr目录下创建java路径文件夹 [root bin]cd /usr mkdir java 3.将jdk-8u60-linux-x64.tar.gz放到刚才创建的文件夹下

Python基础教程(第九章 魔法方法、属性和迭代器)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5437223.html______ Created on Marlowes 在Python中,有的名称会在前面和后面都加上两个下划线,这种写法很特别.前面几章中已经出现过一些这样的名称(如__future__),这种拼写表示名字有特殊含义,所以绝不要在自己的程序中使用这样的名字.在Python中,由这些名字组成的集合所包含的方法称