11 2019 档案
摘要:```python'''1、什么是property? 是一个python内置的装饰器,可以装饰在“类的内部的方法”上 可以将改方法由————>obj.method()的调用方式转换为obj.method2、为什么用property? 可以让外部像获取属性一样去调用一个方法。3、如何用?'''``````pythonclass Person: def __init__(sel...
阅读全文
摘要:```python'''1、什么是访问限制机制? 凡是在类内部定义的舒辛格或方法, 其中以__开头的属性和方法名,都会被限制,外部不能“直接访问” python特有的:只是一种语法的变形。_类__变量名2、为什么要有访问限制? 一些数据不应该被外部直接访问或修改,外部应该通过接口来调用或修改数据。3、如何实现'''class User: __name = 'yyh' ...
阅读全文
摘要:```python'''1、什么是封装? 封装指的是将一堆属性和方法,封装到对象中。 ps:存不是目的,目的是为了取。封装是为了更好的获取。 ps:对象就相当于一个封装的容器2、为什么要封装? 可以通过“对象”来“存放或获取”属性和方法 方便数据的存取 好比:一个铅笔盒里,存放着与写字有关的工具,而不会存放其他东西。 当我们需要写字时会优先考虑到铅笔盒里选...
阅读全文
摘要:```python'''classmethod与staticmetho都是python内置的装饰器.classmethod: 类的绑定方法,在类内部定义的方法中装饰. 会将类作为第一个参数传入,由对象或类调用.staticmethod: 静态方法,在类内部定义的方法中装饰. 被staticmethod装饰的方法就是一个普通的函数,不会传入任何默认参数, 按照函数的调用...
阅读全文
摘要:```python'''反射: 反射指的是通过字符串对 对象的属性进行操作 - hasattr: 通过"字符串"判断对象的属性或方法是否存在 - getattr: 通过"字符串"来获取对象的属性或方法 - setattr: 通过"字符串"来设置对象的属性或方法 # 设置的方法需要手动传参. - delattr: 通过"字符串"来设置对象的属性或方法'''````...
阅读全文
摘要:```python ''' 1.什么是多态? 多态指的是同一类型的事物,不同的表现形式。 2.多态的目的: 多态 也称为多态性,目的是为了在不知道对象的具体类型的情况下,同一调用属性或方法的规范。 继承是实现多态的方法之一。 - 先抽象,再继承 父类:定制一套统一的规范 子类:遵循父类统一的规范。 注意:再python中不会强制限制子类必须遵循父类的规范。(要引入抽象类) ''' ``` ```p
阅读全文
摘要:```python ''' isinstance和issubclass是python的内置方法: - isinstance:判断一个对象是否是另一个类的实例 - issubclass:判断是一个类是否是另一个类的子类 ''' class Dog: pass dog1 = Dog() print(issubclass(Dog, object)) print(isinstance(dog1, Dog)
阅读全文
摘要:1.什么是继承 继承是一种新建类的方式,新建的类称之为子类或者派生类,继承的弗雷称之为基类或超类。 2.继承的作用 3.如何实现继承 1.如何寻找继承关系? 2.在继承背景下,对象属性的查找顺序 3.类的派生 4.子类继承父类,派生出自己的属性和方法,并且重用父类的属性与方法 解决方法: 5.经
阅读全文
摘要:一、什么是面向对象 二、如何产生对象 1、类和对象的关系 2、定义类的语法 三、类的实例化 四、查看类与对象的命名空间 五、类或对象的属性操作 六、类中数据属性(类中的变量):类中属性是给对象使用的,对象引用类中的属性,指向的都是类的内存地址 七、类中的方法 八、对象属性的查找顺序
阅读全文
摘要:subprocess模块 re模块 log模块
阅读全文
摘要:json模块 1、为什么要使用json模块 2、使用方式 pickle模块 1、使用方法: collections模块 openpyxl模块
阅读全文
摘要:time模块 datetime模块 random模块 os模块(与操作系统交互) sys模块(与python解释器交互) hashlib模块
阅读全文
摘要:python中的包 python中的模块 模块的四种表现形式 使用模块可以帮我们更好地管理功能代码。 可以将项目拆分成一个个的功能,分别存在不同的py文件。 模块在导入时
阅读全文
摘要:三元表达式 列表生成式 匿名函数
阅读全文
摘要:1.什么是生成器 生成的工具 生成器可以理解为一个”自定义“的迭代器。 2.如何实现生成器 yield: 每次执行到yield都会往生成器对象中添加一个值。 只能在函数内部定义。 yield可以保存函数的暂停状态。 return: 函数遇到return将直接结束并返回。 自定义迭代器: 上述例子可发
阅读全文
摘要:python中的序列对象 str、list、tuple、set、dict都是可迭代对象。 要注意,这些可迭代对象本身不是迭代器对象。 可迭代对象通过调用.__iter__可返回一个迭代器对象。 迭代器通过调用.__next__方法返回迭代器对象中的一个元素。 注意: 1、迭代器对象一定是可迭代对象
阅读全文
摘要:def wrapper(func): @wraps(func) # 修改名称空间: inner 》 func def inner(*args, **kwargs): ''' 此处是装饰器的注释 :param func: :return: ''' res = func(*args, **kwargs)
阅读全文
摘要:无参装饰器: 在调用无参装饰器时,不需要在外层传递参数。 适用于例如: - 为某个函数增加统计运行时间功能 - 为某个函数运行前增加登录认证功能 有参装饰器: 在调用有参装饰器时,对其传入一个或多个参数。 适用于例如: - 验证用户类型 def user_auth(user_group): def
阅读全文
摘要:叠加装饰器 当一个函数叠加了多个装饰器后,程序会如何运行呢? 叠加装饰器: 在同一个被装饰对象中,添加多个装饰器,并执行。 @装饰1 @装饰2 @装饰3 def 被装饰对象(): pass 注意: 装饰器在调用被装饰对象时才会执行添加的功能。 装饰的顺序:由下到上(被包裹) 执行的顺序:由上倒下(贯
阅读全文
摘要:闭包函数 ''' 闭包函数: 1、闭包函数必须在函数内部定义 2、闭包函数可以引用外层函数的名字 闭包函数是函数对象、函数嵌套、名称空间与作用域的结合体 ''' # 直接传参 def func(x): print(x) # 通过闭包函数传参 def wrapper(x): def inner():
阅读全文
摘要:一、什么是命名空间 命名空间就是存放变量名和函数名的空间。 如果你想访问一个变量值,必须先访问对应的命名空间,拿到名字和对应内存地址的绑定关系。 二、名称空间的分类 1、内置命名空间 python提前定义好的名字,就是存在于内置命名空间 2、全局命名空间 存放于文件级别的名字,就叫做全局命名空间 (
阅读全文
摘要:函数的嵌套 # 函数嵌套 def index(): print('from index') def home(): print('from home-1') index() print('from home-2') home() def compare(x, y): if x > y: return
阅读全文
摘要:函数是第一类对象 1、函数名可以被引用 # 1、函数名可以被引用 def add(x, y): print(x + y) a = add a() 2、函数名可以当作参数传递 # 2、函数名可以当作参数传递 def add(x, y): print(x + y) def index(x, y, ope
阅读全文
摘要:''' 1、什么是函数? 函数是一种工具,封装一个可重复调用的代码块 2、为什么要用函数? ①如果不使用函数,代码将变得冗余。 ②可读性差 3、怎么用函数? 定义函数 调用函数 ''' 函数分为:有参函数、无参函数、空函数 # 有参函数 def add(x, y): return x + y # 无
阅读全文
摘要:''' 1、什么是函数? 函数是一种工具,封装一个可重复调用的代码块 2、为什么要用函数? ①如果不使用函数,代码将变得冗余。 ②可读性差 3、怎么用函数? 定义函数 调用函数 ''' 函数分为:有参函数、无参函数、空函数 # 有参函数 def add(x, y): return x + y # 无
阅读全文
摘要:open(file_name,mode,encoding)输出参数: file_name = 'a.txt' # 以相对路径打开(优先使用,可移植性强) ''' a.txt # 与当前py程序在同一级目录下 r'dir\a.txt' # 在当前路径的子目录dir下的a.txt ''' file_na
阅读全文
摘要:知识储备 2.1三大核心硬件 # cpu、内存、硬盘是计算机的三大核心硬件。 # 1.任何软件在运行之前,都是以二进制的格式储存在硬盘当中的。 # 2.当软件被打开时,硬盘将数据加载到内存中,cpu再从内存中读取数据被执行。 # 3.软件在运行过程中产生的数据都是存放于内存中,若想永久保存数据,则得
阅读全文
摘要:进制转换 # 二进制转十进制 print(int('110', 2)) # 八进制转十进制 print(int('123', 8)) # 十六进制转十进制 print(int('a', 16)) # 十进制转二进制 print(bin(123)) # 十进制转八进制 print(oct(10)) #
阅读全文
摘要:'''strip()''' # inp_name = input("enter your name:") # print(str(len(inp_name)), "your name is %s" % inp_name.strip()) '''strip()''' '''split()''' # m
阅读全文
摘要:定义 定义:在{}中用逗号隔开,集合具备以下3个特点: 1.每个元素必须是不可变类型 2.集合内没有重复元素 3.集合内元素无序 <class 'dict'><class 'set'> 类型转换 但凡能被for循环遍历输出的值(输出的值不能为可变数据类型) 关系运算 去重 练习
阅读全文
摘要:# 字典(dict)基本方法 # 用途: # 定义方式:通过大括号来存储数据,通过key:value来定义键值对数据,每个键值对中间通过逗号分隔 # key:一定是一个不可变类型 # value:可以是任意类型 定义方式 定义:在{}内用各元素用逗号隔开,每个元素都是 key:value的形式,其中
阅读全文
摘要:一、if 1.语法 if 条件1: 满足条件1,所执行的代码 elif 条件2: 满足条件2 ,所执行的代码 elif 条件3: 满足条件3,所执行的代码 else: 以上条件均不满足所执行的代码。 PS:if、elif、elif、else中的代码只有其中之一会被执行。例如:当不满足条件1而满足条件
阅读全文
摘要:# 元组基本方法 # 用途:存储多个不同类型的值(不能存可变类型) # 定义方式:用过小括号存储数据,数据与数据之间通过逗号分隔,(值不能被改变) # 定义容器类型的时候,如果里面只有一个值,在值的后面加上一个逗号***** # 在元组中如果不加,就是字符串不可变类型例如元组不允许元素的内存地址发生
阅读全文
摘要:定义 python中在[ ]内,用逗号隔开的任意数据类型 l1 = [1, 'a', [2, 2, 3]] 类型转换 PS:但凡能被for循环遍历的数据类型,均可传递list()转换为列表类型,list()将会像for一样遍历数据类型的每一个元素然后放到列表中 print(list('str'))
阅读全文
摘要:一、编程语言的发展史 1.机器语言 计算机是基于电子电路元器件工作的。最早时由类似01010010101的机器码来操作和表示数据。 2.汇编语言 汇编语言由机器语言演变而来,提升了代码的可读性,并继承了机器语言执行速度快的特点,但相较于高级语言,开发效率极低。 如用MOV 表示数据操作符,A1表示某
阅读全文

浙公网安备 33010602011771号