
Python
python知识
zjb5599
这个作者很懒,什么都没留下…
展开
-
Python元类及迭代器⽣成器
1.__getattr__和__getattribute__魔法函数__getattr__是当类调⽤⼀个不存在的属性时才会调⽤getattr魔法函数,他传⼊的值item就 是你这个调⽤的不存在的值。 __getattribute__则是⽆条件的优先执⾏,所以如果不是特殊情况最好不要⽤ getattribute。lass User(object): def __init__(self,name): self.name=name def __getattr__(self, i原创 2020-07-15 21:57:25 · 365 阅读 · 0 评论 -
Python垃圾回收及性能分析
1.通过实例⽅法名字的字符串调⽤⽅法我们有三个图形类 Circle,Triangle,Rectangle 他们都有⼀个获取图形⾯积的⽅法,但是⽅法名字不同,我们可以实现⼀个统⼀的获取⾯积的函 数,使⽤每种⽅法名进⾏尝试,调⽤相应类的接⼝。class Triangle: def __init__(self,a,b,c): self.a,self.b,self.c = a,b,c def get_area(self): a,b,c = self.a,self.b,self.c原创 2020-07-11 09:50:41 · 279 阅读 · 0 评论 -
python-类与对象深度问题及解决技巧
1.如何派生内置不可变类型并修改其实例化行为练习需求我们想自定义一种新类型的元组,对于传入的可迭代对象,我们只保留其中int类型且值大于0的元素需求,定义IntTuple类。回顾__new__以下代码,执行结果为:__A.new,initB.init,newC.newD.initclass Demo(object): def __new__(cls, *args, **kwargs): print("__new__") def __init__(self)原创 2020-06-20 16:19:32 · 209 阅读 · 0 评论 -
python-深入类和对象
1.鸭子类型与多态鸭子类型多态的概念是应用于Java和C#这一类强类型语言中,而Python崇尚"鸭子类型"。动态语言调用实例方法时不检查类型,只要方法存在,参数正确,就可以调用。这就是动态语言的“鸭子类型”,它并不要求严格的继承体系,一个对象只要“看起来像鸭子,走起路来像鸭子”,那它就可以被看做是鸭子。#鸭子类型 在运行之前 Cat,Dog都是在列表里面,当作变量#当运行时,加上()调用info() 才明确Cat是一个类class Cat(object): def info(self)原创 2020-06-20 09:37:43 · 411 阅读 · 0 评论 -
Python-异常&文件
1. 异常简介程序在运⾏过程中可能会出现⼀些错误。⽐如: 使⽤了不存在的索引,两个不同类型的数据相加… 这些错误我们称之为异常。 print(a) # NameError: name 'a' is not defined print(10/0) # ZeroDivisionError: division by zero处理异常 程序运⾏时出现异常,⽬的并不是让我们的程序直接终⽌!Python 是希望在出现异常时,我们可以编写代码来对异常进⾏处理。例如:try: print(10 / 2原创 2020-05-17 10:11:33 · 292 阅读 · 0 评论 -
Python-模块
1. 模块模块化指将一个完整的程序分解成一个个的小模块。通过将模块组合,来搭建出一个完整的程序。模块化的优点:方便开发方便维护模块可以复用2. 模块的创建在Python当中一个py文件就是一个模块。在一个模块中引入外部模块语法: import 模块名(模块名就是py文件)可以引入同一个模块多次,但是模块的实例只会创建一次。import 模块名 as 模块别名在一个模块内部都有一个__name__,通过它我们可以获取模块的名字。如果py文件直接运行时,那么__name__默认等于字原创 2020-05-12 06:46:54 · 181 阅读 · 0 评论 -
Python-面向对象(三)
1. 继承简介继承是面向对象三大特性之一。通过继承我们可以使一个类获取到其他类中的属性和方法。在定义类时,可以在类名后面的括号中指定当前类的父类(超类、基类)。继承提高了类的复用性,让类与类之间产生了关系,有了这个关系,才有了多态的特性。‘’’‘’’2. 方法重写如果在子类中有和父类同名的方法,则通过子类实例去调用方法时,会调用子类的方法而不是父类的方法,这个特点我们称之为方法的重写(覆盖)。当我们调用一个对象的方法时:会优先去当前对象中寻找是否具有该方法,如果有则直接调用;如果没有则去原创 2020-05-10 18:49:11 · 196 阅读 · 0 评论 -
Python-面向对象(二)
1.特殊方法在类中可以定义一些特殊方法也称为魔术方法。特殊方法都是形如 _xxx_()这种形式特殊方法不需要我们调用,特殊方法会在特定时候自动调用。 # 特殊方法形如 __开头 __结尾 # 特殊方法不需要我们自己调用 # 特殊方法会在特殊时刻自己调用 # 在实例对象创建以后执行...原创 2020-05-07 07:57:50 · 201 阅读 · 0 评论 -
Python-面向对象(一)
1. 面向对象简介• Python是一门面向对象的编程语言• 所谓面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的。• 面向过程:• 面向过程指将我们的程序分解为一个一个步骤,通过对每个步骤的抽象来完成程序。• 这种编写方式往往只适用于一个功能,如果要实现别的功能,往往复用性比较低。• 这种编程方式符合人类的思维,编写起来比较容易。• 1.妈妈穿衣服穿鞋出门• 2....原创 2020-05-04 09:26:45 · 142 阅读 · 0 评论 -
Python-函数(二)
1. 函数的返回值.返回值就是函数执行以后返回的结果.通过return来指定函数的返回值.return后面可以跟任意对象,返回值甚至可以是一个函数2.文档字符串help()是Python中内置函数,通过help()函数可以查询Python中函数的用法。在定义函数时,可以在函数内部编写文档字符串,文档字符串就是对函数的说明。3.函数的作用域作用域(scope):作用域指的是变量生效的...原创 2020-04-25 08:55:41 · 292 阅读 · 0 评论 -
Python-函数(三)
1. 高阶函数接收函数作为参数,或者将函数作为返回值返回的函数就是高阶函数。2.闭包将函数作为返回值也是高阶函数我们也称为闭包。闭包的好处:通过闭包可以创建一些只有当前函数能访问的变量,可以将一些私有数据藏到闭包中。形成闭包的条件:1.函数嵌套2.将内部函数作为返回值3.返回内部函数必须要使用到外部函数的变量3. 装饰器的引入我们可以直接通过修改函数中的代码来完成需求,但是会...原创 2020-04-28 06:15:35 · 314 阅读 · 0 评论 -
Python-函数(一)
1. 函数简介函数也是一个对象函数用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次调用语法def 函数名([形参1,形参2,形参3…]):代码块注意:函数名必须符合标识符的规范(可以包含字母、数字、下划线但是不能以数字开头)。函数中保存的代码不会立即执行,需要调用函数代码才会执行。print是函数对象 print()是调用函数。2. 函数的参数2.1 形参和实参形...原创 2020-04-23 21:20:45 · 397 阅读 · 0 评论 -
Python-元组&字典&集合
1. 元组简介元组基本介绍元组表现形式tuple元组是⼀个不可变序列(⼀般当我们希望数据不改变时,我们使⽤元组,其他情况下基本都⽤列表)。使⽤()创建元素元组不是空元组⾄少有⼀个 逗号(,) 当元组不是空元组时,括号可以省略。元组解包指将元组当中的每⼀个元素都赋值给⼀个变量 。在元组解包时 变量的数量必须和元组中元素要一一对应如果出现变量和元素没有对等的情况下,我们可以在变量前面加个...原创 2020-04-21 21:27:26 · 285 阅读 · 0 评论 -
Python-序列
1. 序列(sequence)1.1基本概念.序列是Python中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)并且序列中的数据会按照添加的顺序来分配索引。数据结构指计算机中数据存储的方式。1.2序列的分类.可变序列(序列中的元素可以改变):例如 列表(list)字典(dict).不可变序列(序列中的元素不能改变):例如 字符串(str...原创 2020-04-19 11:46:38 · 265 阅读 · 0 评论 -
Python-条件控制语句
1. 条件判断语句(if语句)执行的流程:if语句在执行时,会先对条件表达式进行求值判断,如果为True,则执行if后的语句;如果为False,则不执行。什么是代码块?代码块当中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行。代码块以缩进开始,直到代码恢复到之前的缩进级别时结束;简单来说代码块就是一种为代码分组的机制语法:if 条件表达式 :代码块2. inp...原创 2020-04-14 19:19:26 · 572 阅读 · 0 评论 -
Python-运算符
1.运算符1.1运算符的概念运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。1.2运算符的分类.算术运算符.赋值运算符.比较运算符(关系运算符).逻辑运算符.条件运算符(三元运算符)2.算术运算符.加法运算符 表现形式 + 如:3+5.减法运算符 表现形式 - 如:8-7.乘法运算符 表现形式 * ...原创 2020-04-11 18:47:45 · 410 阅读 · 0 评论 -
Python-基本数据类型
1.基本概念1.1 表达式.表达式:是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。.表达式特点:表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响。如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出。1.2 语句一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成。语句的执行一般会对程序产生一定的...原创 2020-04-09 20:42:00 · 161 阅读 · 0 评论 -
Python-概念及环境搭建
Python要点1.Python语言1.1 Python语言的基本概念 Python 是一种极少数能兼具 简单 与 功能强大 的编程语言,这门语言专注于如何解决问题,而非拘泥于语法与结构。 官方对 Python 的介绍如下:Python 是一款易于学习且功能强大的编程语言。 它具有高效率的数据结构,能够简单又有效地实现面向对象编程。Python 简洁的语法与动态输入之特性,加之...原创 2020-04-05 22:56:01 · 215 阅读 · 0 评论