@property装饰器
@property可以将一个方法的调用方式变成属性调用
@property装饰器
@property可以将一个方法的调用方式变成属性调用
私有属性和私有方法(实现封装):
python没有严格的访问控制限制
1.通常约定两个下划线开头的属性是私有的。其他的为公共的。
2.类内部可以访问私有属性(方法)
3.类外部不能直接访问私有属性(方法)
4.类外部可以通过“_类名__私有属性(方法)名“访问私有属性(方法)
方法本质也是属性
python中方法没有重载,只有最后一个有效。
python是动态语言,可以为类添加新得方法,或者修改类得已有方法。
__call__方法和可调用对象:
__del__析构方法和垃圾回收机制:
实现对象被销毁时所需得操作
类方法:
类方法通过装饰器@classmethod来定义
@classmethod
def 类方法名(cls 【,形参列表】)
静态方法:
@staticmethod
类方法和静态方法不能调用实例对象
类对象:
1.定义实例方法时,第一个参数必须为self。和前面一样,self指当前的实例对象
2.调用实例方法时,不需要也不能给self传参。self由解释器自动传参。
dir(obj)可以获得对象的所以属性、方法
obj.__dict__对象的属性字典
pass 空语句
isinstance(对象,类型)判断“对象”是不是“指定类型”
第八章文件操作(IO技术)
文本文件--字符文件--记事本
二进制文件--字节文件--图片,word,音频等
f=open("a.txt","a")
实例属性:
构造函数__init__():
第一个参数必须为self
def__init__(self,name,age)
self.name = name
self.age = age
类的定义:
将不同的数字、方法放在一起就是对象
面向过程:
“怎么按步骤实现”,适合小规模程序
面向对象:
“怎么设计这个事物”
LEGB规则:
Python在查找“名称”时,是按照LEGB规则查找的:
local 指的是函数或类的方法内部
Enclosed 指的是嵌套函数(一个函数包裹另一个函数,闭包)
Global 指的是模块中的全局变量
Built in 指的是Python为自己保留的特殊名称
nonlocal关键字:
用来声明外层局部变量(修改值)
global用来声明全局变量(修改值)
嵌套函数:
在函数内部定义的函数
递归函数:
1.终止条件
2.递归步骤n步的值和n-1步关联
eval()函数:
功能:将字符串str当成有效表达式来求值并返回计算结果。
语法:eval(source[, globals[,locals]])->value
参数:
source:一个Python表达式或函数compile()返回的代码对象
globb:als:可选。必须是dictionary
locals:可选。任意映射对象
递归函数:
这个老师的逻辑能力和语言组织能力真的是匮乏 前言不搭后语 自己把自己绕进去了