2521-肖小俊-算法方向-数据挖掘-就业:否 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

列表排序 修改原列表,不建立新列表

list.sort()默认升序排列

list.sort(reverse=True)降序排列

import random

random.shuffle(list)

列表排序,建立新列表

new_list=sorted(list),升序

new_list=sorted(list,reverse=True),降序

c=reversed(list)返回逆序排列的迭代器对象,只能用一次

max(list), min(list)

sum(list),数值型列表可用

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

列表元素提取

list[起始位置:终点位置:step], 从起始位置到终点-1位置,step为-1时反向提取

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

列表元素删除

del a[位置],有数组拷贝,地址不变

list.pop(位置),删除位置上的元素并返回元素值

list.remove(值),删除第一个指定值,不存在就报错。

[展开全文]
1553_N_GX · 2021-05-17 · 解锁式学习 0

列表增加,删除

append(),

尽量减少在列表中间修改,涉及大量复制会消耗内存,尽量在尾部删,增。

a=a+[],非尾部添加,实际是创建新列表,耗内存

expend(),

原地址尾部添加

expend([50,60]),不改变地址,适合两个列表对接

insert(索引,值) 元素插入指定位置,设计大量拷贝,地址不变

列表乘法 a=a*3

[展开全文]
1553_N_GX · 2021-05-17 · 解锁式学习 0

mro()函数

python支持多继承,如果多个父类有相同名字的方法,在没有指定父类的时候,解释器将“从左到右”按顺序搜索

mro():方法解析顺序。我们可以通过mro()方法来获得“类的层次结构”,方法解析顺序也是按照这个累的层次结构寻找的

 

[展开全文]

多重继承

一个子类可以有多个直接父类

好处:可以使我们类具备多个“父类”的特点

坏处:类的整体层次异常复杂,尽量避免使用

 

 

[展开全文]

重写__str__()方法

object有一个__str__()方法,用于的返回一个对于“对象的描述”,对应于内置函数str()经常用于print()方法,帮助我们查看到对象的信息

 

 

[展开全文]

object根类__dir__()

通过类的方法mro()或者类的属性_mor_可以输出这个类的继承层次结构

 

object类是所有类的父类,所有的类都有object类的属性和方法

 

 

 

[展开全文]

类成员的继承和重写

1、成员继承:子类继承了父类除构造方法之外的所有成员

2、方法重写:子类可以重新定义父类的方法, 这样就覆盖父类的方法,也称为“重写”

[展开全文]

1、继承

是代码复用的重要手段

一个子类可以继承多个父类

语法格式:

class 子类(父类):

      类体

如果没有指定父类,默认父类是object类

object类是python里的一个类,object是所有类的父类,里面定义了一些多有类共有的默认属性,例如__new__()

 

[展开全文]

面向对象的三大特征介绍

1、封装(隐藏)

隐藏对象的属性和实现细节,只对外提供必要的方法。通过“私有属性和私有方法”等方式来实现封装,没有严格的语法级别的“访问控制”,更多的是靠程序员的自觉实现

2、继承

让子类继承父类的特性,提高了代码的重用性,是一种增量进化

3、多态

同一个 方法调用由于对象不同会产生不同的行为。

 

 

[展开全文]

@property装饰器

1、将一个方法的调用方式变成“属性调用”;

2、一般用来给我们的属性设置get和set方法;

 

当我们的属性可以直接被外部调用的时候,很容易出现录入错误数据并输出错误数据的现象

这个时候,为了解决这个问题,我们可以先将属性私有化

 

[展开全文]

私有方法

在类内部调用自己的属性或方法,直接用self.__属性。

 

[展开全文]

私有属性和私有方法(实现方法)

1、通常我们约定,两个下划线开头的属性是私有的,其他为公共属性;

2、类内部可以直接访问私有属性(方法);

3、类外部不能直接访问私有属性(方法);

4、类外部可以通过“__类名__私有属性(方法)名”访问私有属性(方法)

 

[展开全文]

方法没有重载

在其他语言,可以定义多个重名的方法,只要保证方法签名——形参列表,唯一即可。但在python里面,方法的参数没有声明类型,参数的数量也可以由可变参数控制

所以,不要使用重名的方法,定义了多个同名函数之后,只有最后一个函数可以被识别调用。

方法的动态性

python是动态语言,我们可以动态得为类添加新方法,或者动态修改类已有的方法

 

[展开全文]

__call__方法和可调用对象:
定义了__call__方法的对象,称为“可调用对象”,即该对象可以像函数一样被调用

 

 

[展开全文]

__del__方法(析构对象)和垃圾回收机制

用于实现对象被销毁时所需的操作,比如:释放对象占用的空间——打开的文件资源、网络链接

python实自动的垃圾回收,当对象没有被引用时(引用计数为0),由垃圾回收期调用__del__方法

系统会自动提供__del__方法,一般不需要自定义析构方法

 

[展开全文]

类方法:

类方法是从属于“类对象”的方法,类方法通过装饰器@classmethod来定义,格式如下:
 @calssmethod

 def 类方法名(cls [,形参列表]):

       函数体

 

要点如下:

(1) @calssmethod必须位于方法第上面一行;

(2)第一个cls必须有,cls指的就是“类对象”本身;

(3)调用类方法格式有:“类名.类方法名(参数列表)”,参数列表里,不需要也不能给cls传值

(4)类方法中访问实例属性和实例方法会导致错误

(5)子类继承父类方法时,传入cls是子类对象,为非父类对象

 

静态方法:

要通过@staticmethod来定义,格式如下:
 

@staticmethod

def  静态方法名[形参列表]:
       函数体


将静态方法放到了类里面,需要通过类调用。

 

 

[展开全文]

类属性和类方法

类属性:从属于类对象的属性,也成为类变量,可以被所有的实例对象共享

类属性的测试

 

 

[展开全文]

类对象

class 类名:  

[展开全文]