随笔 - 86
文章 - 5
评论 - 11
阅读 -
10万
随笔分类 - Python
可变类型和不可变类型
摘要:可变类型: 即可以对该类型对象中保存的元素值做修改,如列表、字典都是可变类型。 不可变类型: 即该类型对象所保存的元素值不允许修改,只能通过给对象整体赋值来修改对象所保存的数据。但此时实际上就是创建了一个新的不可变类型的对象、而不是修改原对象的值,如数字、字符串、元组都是不可变类型。 例:可变类型对
阅读全文
@property装饰器
摘要:一、概述 类中的属性可以直接访问和赋值,这为类的使用者提供了方便,但也带来了问题:类的使用者可能会给一个属性赋上超出有效范围的值。 为了解决这个问题,Python提供了@property装饰器,可以将类中属性的访问和赋值操作自动转为方法调用,这样可以在方法中对属性值的取值范围做一些条件限定。 直接使
阅读全文
动态扩展类与实例和__slots__变量
摘要:一、动态扩展类与实例 python作为一种动态语言,除了可以在定义类时定义属性和方法外,还可以动态的为已经创建的对象绑定新的属性和方法。 在给对象绑定方法时,需要使用types模块中的MethodType方法,其第一个参数是要绑定的参数名,第二个参数是绑定的对象名。 例:绑定新方法实例。 from
阅读全文
类方法和静态方法
摘要:一、类方法 1、什么是类方法? 类方法是指使用@classmethod修饰的方法,其第一个参数是类本身(而不是类的实例对象)。 2、特点是什么? 类方法的特点是既可以通过类名直接调用,也可以通过类的实例对象调用。 3、类方法示例 1 class Complex: #定义Complex类 2 def
阅读全文
内置函数isinstance、 issubclass和type
摘要:isinstance:用于判断一个对象所属的类是否是指定类或指定类的子类; issubclass:用于判断一个类是否是另一个类的子类; type:用于获取一个对象所属的类。 例:isinstance、issubclass和type使用示例。 1 class Person: #定义Person类 2
阅读全文
super方法
摘要:super方法 用于获取父类的代理对象,以执行已在子类中被重写的父类方法,其语法格式为: super([类名[, 对象名或类名]]) super方法有两个参数: 第一个参数是要获取父类代理对象的类名。 第二个参数如果传入对象名,则该对象所属的类必须是第一个参数指定的类或该类的子类,找到的父类对象的s
阅读全文
方法重写和鸭子类型
摘要:一、方法重写 是指子类可以对从父类中继承过来的方法进行重新定义,从而使得子类对象可以表现出与父类对象不同的行为。 方法重写示例。 1 class Person: #定义Person类 2 def __init__(self, name): #定义构造方法 3 self.name=name #将sel
阅读全文
继承和子类的定义
摘要:一、继承 继承允许开发者基于已有的类创建新的类。 如果一个类C1通过继承已有类C而创建,则将C1称作子类(subclass),将C称做基类、父类或超类(base class、super class)。子类会继承父类中定义的所有属性和方法,另外也能够在子类中增加新的属性和方法。 如果一个子类只有一个父
阅读全文
构造方法和析构方法
摘要:一、构造方法 1、构造方法是Python类中的内置方法之一,它的方法名为__init__,在创建一个类对象时会自动执行,负责完成新创建对象的初始化工作。 2、只有一个参数的构造方法示例 class Student: #定义Student类 def __init__(self): #定义构造方法 pr
阅读全文
私有属性
摘要:1、什么是私有属性,特点是什么? 私有属性,是指在类内可以直接访问、而在类外无法直接访问的属性。 Python中规定,在定义类时,如果一个类属性名是以__(两个下划线)开头,则该类属性为私有属性。 2、私有属性示例。 class Student: #定义Student类 name='未知' #定义S
阅读全文
常用内置方法
摘要:1、__str__ 调用str函数对类对象进行处理时或者调用Python内置函数format()和print()时自动执行,__str__方法的返回值必须是字符串。 2、__str__方法使用示例 class Complex: #定义复数类Complex def __init__(self,real
阅读全文
类中普通方法定义及调用
摘要:一、概述 类中的方法实际上就是执行某种数据处理功能的函数。 与普通函数定义一样,类中的方法在定义时也需要使用def 关键字。 类中的方法分为两类:普通方法和内置方法。 • 普通方法需要通过类的实例对象根据方法名调用; • 内置方法是在特定情况下由系统自动执行。 普通方法的定义和调用 在定义类的普通方
阅读全文
类和类属性的定义、访问
摘要:一、类的定义: 在一个类中,除了可以包含前面所说的属性,还可以包含各种方法。 属性对应一个类可以用来保存哪些数据,而方法对应一个类可以支持哪些操作(即数据处理)。 小提示: 类中的属性对应前面所学习的变量,而类中的方法对应前面所学习的函数。通过类,可以把数据和操作封装在一起,从而使得程序结构更加清晰
阅读全文
装饰器
摘要:1、作用 利用装饰器,可以在不修改已有函数的情况下向已有函数中注入代码,使其具备新的功能。 2、特点 一个装饰器可以为多个函数注入代码,一个函数也可以注入多个装饰器的代码。 3、优点 利用装饰器可以将日志处理、执行时间计算等较为通用的代码注入到不同的函数中,从而使得代码更加简洁 4、Demo1 1
阅读全文
闭包
摘要:1、如何构成闭包? 如果内层函数使用了外层函数中定义的局部变量,并且外层函数的返回值是内层函数的引用,就构成了闭包。 2、什么是自由变量? 定义在外层函数中但由内层函数使用的变量被称为自由变量。 3、概述、什么是闭包。 闭包是一种特殊情况,外层函数在结束时会发现其定义的局部变量将来会在内层函数中使用
阅读全文
高阶函数和lambda函数
摘要:一、高阶函数 1.高阶函数是指把函数作为参数的一种函数。 2.高阶函数示例 1 def FunAdd(f,x,y): #定义函数FunAdd 2 return f(x)+f(y) #用传给f的函数先对x和y分别处理后,再求和并 #返回 3 def Square(x): #定义函数Square 4 r
阅读全文
递归函数
摘要:1、什么是递归函数? 递归函数是指在一个函数内部通过调用自己来完成一个问题的求解。 2、如何使用递归函数以及什么情况下使用它? 当我们在进行问题分解时,发现分解之后待解决的子问题与原问题有着相同的特性和解法,只是在问题规模上与原问题相比 有所减小,此时,就可以设计递归函数进行求解。 原理分析: 比如
阅读全文
nonlocal关键字
摘要:1、nonlocal的作用是什么?是基于python的什么特点? 通过nonlocal关键字,可以使内层的函数直接使用外层函数中定义的变量。 在Python中,函数的定义可以嵌套,即在一个函数的函数体中可以包含另一个函数的定义。 2、Demo 不使用nonlocal关键字案例 def outer()
阅读全文
函数(二)
摘要:一、import语句 1、模块概述:Python提供了交互式和脚本式两种运行方式。当要执行的代码比较长、且需要重复使用时,我们通常将代码放在扩展名为.py的Python脚本文件中。当我们要编写一个规模比较大的程序时,如果将所有代码都放在一个脚本文件中,则不方便维护和多人协同开发。对于可以在多个程序中
阅读全文
函数(一)
摘要:一、函数概述 Python语言中使用函数分为两个步骤:定义函数和调用函数。 例:函数定义和调用示例 1 def CalCircleArea(): #定义名字为CalCircleArea的函数 2 s=3.14*3*3 #计算半径为3的圆的面积 3 print('半径为3的圆的面积为:%.2f'%s)
阅读全文