关于python的相关知识总结

一、python的数据类型
1、list 有序、可变,可用的函数有append()、extend()、insert()、remove()、del、pop()、reverse()、sort()、max()、min()
详见菜鸟教程list的操作

2、tuple 有序、不可变,可用的函数有del

3、dict 无序,可变,key唯一,常用的函数有items()、keys()、values()、pop()

4、set 无序,{,}定义

二、python类的3大特性
1、继承
继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类。
子类会“遗传”父类的属性,从而解决代码重用的问题。

class Animal(object):
    def run(self):
        print('Animal is running...')

class Dog(Animal):
    pass

class Cat(Animal):
    pass

dog = Dog()
dog.run()

cat = Cat()
cat.run()

2、多态
多态指的是一类事物有多种形态,动物有多种形态:人、狗、猪

3、封装
封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式。

好处:

  1. 将变化隔离;
  2. 便于使用;
  3. 提高复用性;
  4. 提高安全性;

在python中用双下划线开头的方式将属性隐藏起来(设置成私有的)

三、python的垃圾回收机制

1、引用计数:
在Python中,使用了引用计数这一技术实现内存管理。一个对象被创建完成后就有一个变量指向他,那么就说明他的引用计数为1,以后如果有其他变量指向他,引用计数也会相应增加,如果将一个变量不再执行这个对象,那么这个对象的引用计数减1。如果一个对象没有任何变量指向他,也即引用计数为0,那么这个对象会被Python回收。

2、循环引用:
引用计数这一技术虽然可以在一定程度上解决内存管理的问题。但是还是有不能解决的问题,即循环引用。比如现在有两个对象分别为a和b,a指向了b,b又指向了a,那么他们两的引用计数永远都不会为0。也即永远得不到回收。

3、标记清除和分代回收:
在Python程序中,每次你新创建了一个对象,那么就会将这个对象挂到一个叫做零代链表中(当然这个链表是Python内部的,Python开发者是没法访问到的)。比如现在你在程序中创建四个Person对象,分别叫做p1、p2、p3以及p4,然后p1与p2之间互相引用,并且让p3和p4的引用计数为2。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值