![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python基础(三)
旅立の涯秸
这个作者很懒,什么都没留下…
展开
-
python基础(面向对象(对象魔法三大特征)、多态)
1.对象魔法在面向对象编程中,术语对象大致意味着一系列数据(属性)以及一套访问和操作这些数据的方法。使用对象而非全局变量和函数的原因有多个,下面列出了使用对象的最重要的好处。多态:多态指的是能够同样地对待不同类型和类的对象,即无需知道对象属于哪个类就可调用其方法。 封装:对象可能隐藏(封装)其内部状态。在有些语言中,这意味着对象的状态(属性)只能通过其方法来访问。在Python中,所有的属...原创 2019-02-28 20:23:12 · 236 阅读 · 0 评论 -
python基础(__slots__属性、timeit模块、__call__方法)
__slots__1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性)2.引子:使用点来访问属性本质就是在访问类或者对象的__dict__属性字典(类的字典是共享的,而每个实例的是独立的)3.为何使用__slots__:字典会占用大量内存,如果你有一个属性很少的类,但是有很多实例,为了节...原创 2019-03-04 14:58:11 · 145 阅读 · 0 评论 -
python基础(面向对象设计(静态方法、类方法))
面向对象设计类方法类属性就是针对类对象定义的属性使用赋值语句在class关键字下方可以定义类属性类属性用于记录与这个类相关的特征在程序运行时,类同样会被加载到内存,在python中,类是一个特殊的对象--类对象类对象在内存中只有一份除了封装实例的属性和方法外,类对象还可以拥有自己的属性和方法类方法就是针对类对象定义的方法在类方法内部可以直接访问类属性或者调用其他...原创 2019-03-04 10:50:05 · 217 阅读 · 0 评论 -
python基础(函数式编程(高阶函数)map、filter、reduce、lambda匿名函数)
函数式编程可能习惯了像使用其他对象(字符串、数、序列等)一样使用函数:将其赋给变量,将其作为参数进行传递,以及从函数返回它们。在 Python 中,通常不会如此倚重函数(而是创建自定义对象),但完全可以这样做。Python提供了一些有助于进行这种函数式编程的函数:map、filter和reduce。在较新的Python版本中,函数map和filter的用途并不大,应该使用列表推导来替代它们。...原创 2019-03-06 18:37:07 · 493 阅读 · 0 评论 -
python基础(生成器)
生成器是一种使用普通函数语法定义的迭代器。生成器创建起来与函数一样简单。下面创建一个将嵌套列表展开的函数。这个函数将一个类似于下面的列表作为参数:nested = [[1, 2], [3, 4], [5]]换而言之,这是一个列表的列表。函数应按顺序提供这些数字,下面是一种解决方案:def flatten(nested): for sublist in nested: ...原创 2019-03-04 08:54:15 · 168 阅读 · 0 评论 -
python基础(json模块)
序列化我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling....原创 2019-03-06 15:53:48 · 248 阅读 · 0 评论 -
python基础(文件操作)
文件操作文件和流,能够永久存储数据以及处理来自其他程序的数据。打开文件open()功能:打开或者创建一个文件格式:open('文件路径','打开模式')返回值:文件io对象要打开文件,可使用函数open,它位于自动导入的模块io中。函数open将文件名作为唯一必不可少的参数,并返回一个文件对象。如果当前目录中有一个名为somefile.txt的文本文件(可能是使用文本...原创 2019-03-06 12:21:11 · 639 阅读 · 0 评论 -
python基础(re模块(正则表达式))
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。 模块re中一些重...原创 2019-03-06 10:15:32 · 3499 阅读 · 0 评论 -
python基础(三)字典方法
字典的删除、判断、遍历1. pop方法pop可用于获取与指定键相关联的值,并将该键-值对从字典中删除。>>> d = {'x': 1, 'y': 2}>>> d.pop('x')1>>> d{'y': 2}2. popitem方法popitem类似于list.pop,但list.pop弹出列表...原创 2019-02-26 09:54:21 · 395 阅读 · 0 评论 -
python基础(三)字典
可通过名称来访问其各个值的数据结构,这种数据结构称为映射(mapping)。字典是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下。键可能是数、字符串或元组。 1.字典的用途字典的名称指出了这种数据结构的用途。普通图书适合按从头到尾的顺序阅读,如果你愿意,可快速翻到任何一页,这有点像Python中的列表。字典(日常生活中的字典和Python字典)旨在让你能够轻松地...原创 2019-02-26 08:52:05 · 168 阅读 · 0 评论 -
python基础(基本的序列和映射协议(容器类型相关魔术方法))
元素访问在Python中,协议通常指的是规范行为的规则,类似于接口。协议指定应实现哪些方法以及这些方法应做什么。在Python中,多态仅仅基于对象的行为(而不基于祖先,如属于哪个类或其超类等),因此这个概念很重要:其他的语言可能要求对象属于特定的类或实现了特定的接口,而Python通常只要求对象遵循特定的协议。因此,要成为序列,只需遵循序列协议即可。基本的序列和映射协议序列和映射基...原创 2019-03-01 16:39:49 · 864 阅读 · 0 评论 -
python基础(魔法方法(构造、析构函数)、重写继承父类的方法、super函数)
1.魔法方法在Python中,有些名称很特别,开头和结尾都是两个下划线。如__future__。这样的拼写表示名称有特殊意义,因此绝不要在程序中创建这样的名称。在这样的名称中,很大一部分都是魔法(特殊)方法的名称。如果你的对象实现了这些方法,它们将在特定情况下(具体是哪种情况取决于方法的名称)被Python调用,而几乎不需要直接调用。这里讨论几个重要的魔法方法,其中最重要的是__init__...原创 2019-03-01 14:50:07 · 1148 阅读 · 0 评论 -
python基础(面向对象(封装、私有化封装))
封装封装(encapsulation)指的是向外部隐藏不必要的细节。这听起来有点像多态(无需知道对象的内部细节就可使用它)。这两个概念很像,因为它们都是抽象的原则。它们都像函数一样,可帮助你处理程序的组成部分,让你无需关心不必要的细节。但封装不同于多态。多态让你无需知道对象所属的类(对象的类型)就能调用其方法,而封装让你无需知道对象的构造就能使用它。听起来还是有点像?下面来看一个使用了多态但没...原创 2019-02-28 23:41:34 · 1943 阅读 · 0 评论 -
python基础(面向对象(超(父)类、子类继承)、继承判断、MRO方法解析顺序)
为啥要继承说明能够提升代码的重用率,即开发一个类,可以在多个子功能中直接使用 继承能够有效的进行代码的管理,当某个类有问题只要修改这个类就行,而其继承这个类的子类往往不需要就修改继承程序员总是想避免多次输入同样的代码。这通过创建函数来达成这个目标,但现在要解决一个更微妙的问题。如果你已经有了一个类,并要创建一个与之很像的类(可能只是新增了几个方法),该如何办呢?创建这个新...原创 2019-02-28 22:48:00 · 988 阅读 · 0 评论 -
python基础(面向对象(类)、新式类与旧式类)
1.类到底是什么提到类,将其用作类型的同义词。从很多方面来说,这正是类的定义——一种对象。每个对象都属于特定的类,并被称为该类的实例。类:类表示一组(或一类)对象,而每个对象都属于特定的类。类的主要任务是定义其实例将包含的方法。对象:对象由属性和方法组成。属性不过是属于对象的变量,而方法是存储在属性中的函数。相比于其他函数,(关联的)方法有一个不同之处,那就是它总是将其所属的对象作为第...原创 2019-02-28 21:47:03 · 220 阅读 · 0 评论 -
python基础(单例模式)
单例设计模式设计模式:设计模式是前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对某一特定问题的成熟的解决方案使用设计模式是为了可重用代码、让代码更容易被他人理解,保证代码可靠性单例设计模式:目的--让类创建的对象,在系统中只有唯一的一个实例每一次执行类名()返回的对象,内存地址是相同的单例设计模式的应用场景:音乐播放对象回收站对象打印机对象...原创 2019-03-04 20:43:53 · 168 阅读 · 0 评论