Python基础入门

Python基础入门_概念

python是一门解释型,强类型,动态型,汇编语言

机器语言
#优点是最底层,执行速度最快
#缺点是最复杂,开发效率最低

汇编语言
#优点是比较底层,执行速度最快
#缺点是复杂,开发效率最低

高级语言
#编译型语言执行速度快,不依赖语言环境运行,跨平台差
#解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行


强弱语言
#强类型语言特点:不同类型不可以计算,必须类型进行转换
#弱类型语言特定:不同类型可以互相计算

动态语言
#静态语言:指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型
#动态语言: 在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型

队列与栈

队列(Queue):是限定只能在表的一端进行插入和在另一端进行删除操作的线性表;
栈(Stack):是限定只能在表的一端进行插入和删除操作的线性表。
区别如下:
一、规则不同
1. 队列:先进先出(First In First Out)FIFO
2. 栈:先进后出(First In Last Out )FILO
二、对插入和删除操作的限定不同
1. 队列:只能在表的一端进行插入,并在表的另一端进行删除;
2. 栈:只能在表的一端插入和删除。
三、遍历数据速度不同
1. 队列:基于地址指针进行遍历,而且可以从头部或者尾部进行遍历,但不能同时遍历,无需开辟空间,因为在遍历的过程中不影响数据结构,所以遍历速度要快;
2. 栈:只能从顶部取数据,也就是说最先进入栈底的,需要遍历整个栈才能取出来,而且在遍历数据的同时需要为数据开辟临时空间,保持数据在遍历前的一致性

Python垃圾回收

GC回收机制:主要使用引用计数(reference counting)来跟踪和回收垃圾
    	1.引用变量:               
          x=100  #引用计数为1
          y=x    #引用计数为2
          x=200  #引用计数为1
        2. 循环引用带来的内存泄漏;在引用计数的基础上,使用“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用问题;
        3. 分代回收(使用“分代回收”(generation collection)以空间换时间的方法提高垃圾回收效率;分代回收是建立在标记清除技术基础之上)
    小整数池优化机制:常驻内存(整数:-5~256;字母;)

深浅拷贝

说明:
直接赋值:其实就是对象的引用(别名)。
浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象
例:
# 浅拷贝
l1 = [1, 2, [1, 2]]
l2 = l1.copy()
print("浅拷贝1:%s" % l1)  >>>浅拷贝1:[1, 2, [1, 2]]
print("浅拷贝2:%s" % l2)  >>>浅拷贝2:[1, 2, [1, 2]]
print(id(l1[2]))  >>>2495907112960
print(id(l2[2]))  >>>2495907112960
l1[2].append(4)
print("浅拷贝1:%s" % l1)  >>>浅拷贝1:[1, 2, [1, 2, 4]]
print("浅拷贝2:%s" % l2)  >>>浅拷贝2:[1, 2, [1, 2, 4]]
print(id(l1[2]))  >>>2495907112960
print(id(l2[2]))  >>>2495907112960
#深拷贝
l1 = [1, 2, ["a", 2]]
l2 = copy.deepcopy(l1)
print(l1)          >>>[1, 2, ['a', 2]]
print(l2)          >>>[1, 2, ['a', 2]]
print(id(l1[2]))   >>>1936380864640
print(id(l2[2]))   >>>1936380781504
l2[2].append(3)
print(l1)          >>>[1, 2, ['a', 2]]
print(l2)          >>>[1, 2, ['a', 2, 3]]
print(id(l1[2]))   >>>1936380864640
print(id(l2[2]))   >>>1936380781504
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值