随笔分类 - python基础
摘要:一、classmethod装饰器函数 class Goods: __discount = 0.8 def __init__(self): self.__price = 5 self.price = self.__price * self.__discount @classmethod # 把一个对象
阅读全文
摘要:一、super 方法 super 是按照mro顺序来寻找当前类的下一个类的 在python3中不需要传参数,自动就帮我们寻找当前类的mro顺序的下一个类中的同名方法 在python2中的新式类中,需要我们主动传递参数super(子类的名字, 子类的对象).函数名(),这样才能够帮我们调用到这个子类的
阅读全文
摘要:一、多继承顺序问题 python2 中有新式类和经典类的区别,python3中全部都是新式类,区别在于python3的所有类默认继承object类 在python3中 广度优先 而在python2中 深度优先 广度优先的继承顺序 广度优先遵循C3算法: 如果是单继承,那么总是按照从子类 父类的顺序来
阅读全文
摘要:父类和子类方法的选择: 子类的对象,如果去调用方法,永远优先调用自己的,自己有就调用自己的,自己没有就调用父类的 如果自己有,还想调用父类的,直接在子类方法中 父类名.方法名(self)
阅读全文
摘要:python中一切皆对象,对象的类型就是类 一、类的成员和命名空间 类中的变量是静态变量 对象中的变量只属于对象本身,每个对象有属于自己的空间来存储对象的变量 当使用对象名去调用某一个属性的时候会优先在自己的空间中寻找,找不到再去对应的类中寻找 如果自己没有就引用类的,如果类也没有就报错 对于类来说
阅读全文
摘要:面向对象介绍: 面向过程开发:想要一个结果 写代码 实现计算结果 面向对象开发:一种新的开发思路 面向对象基础语法 先来定义模子,用来描述一类事物 具有相同的属性和动作 例如:下面是定义的猫类 类和对象的关系? 类 是一个大范围,是一个模子,它约束了事物有哪些属性,但是不能约束具体的值 对象 是一个
阅读全文
摘要:一、递归函数 递归的最大深度:1000层 设置递归的最大深度 递归函数如何停下来 练习 二、shutil模块
阅读全文
摘要:一、re模块 findall search 为什么要用分组?findall的分组优先有什么好处? 把想要的内容放分组里 split、sub、subn、match、compile、finditer 方法 分组命名 二、带参数的装饰器
阅读全文
摘要:Day19 笔记 正则表达式 re模块 regex (正则表达式) 有了re模块就可以在python语言中操作正则表达式 什么是正则表达式 一套规则 匹配字符串 正则表达式能做什么 1.检测一个输入的字符串是否合法 —— 应用场景:web开发项目 表单验证 用户输入一个内容时提前做检测 能够提高程序
阅读全文
摘要:import os login_status = {'user': '', 'status': False} def get_userdic(): user_dic = dict() with open('user.txt', 'r', encoding='utf-8') as f1: for li
阅读全文
摘要:常用模块 time datetime os sys hashlib 1. 文件加密 2. 文件校验 json 最常用的序列化模块 序列化模块就是将一个常见的数据结构转化成一个特殊的序列,并且这个特殊的序列还可以反解回去。它的主要用途:文件读写数据,网络传输数据。 json序列化只支持部分Python
阅读全文
摘要:一、自定义模块 什么是模块? 在python中封装语句的最小单位就是模块。一个.py文件就是一个模块 什么是自定义模块? 实际上就是定义一个.py文件 包含:变量定义、可执行语句、for循环、函数定义。。。统称模块的成员 模块的运行方式 脚本方式:直接用解释器执行,或者在pycharm中运行。。。
阅读全文
摘要:一、装饰器的认识 在不改变原被装饰的函数的源代码以及调用方式情况下,为其添加新的功能。 完全遵循开放封闭原则 装饰器的本质就是闭包 装饰器实现功能的分析 1.我们给这个测试函数加一个装饰器,计算执行这个函数需要的时间 2.使用闭包,实现开放封闭原则 3.python 进行了优化,这里可以这样写 4.
阅读全文
摘要:一、匿名函数 一句话函数,比较简单的函数 构建匿名函数 二、内置函数 python 提供了68个内置函数 重要:abs() enumerate() filter() map() max() min() open() range() print() len() list() dict() str()
阅读全文
摘要:一、生成器 生成器的本质就是迭代器 唯一的区别是:生成器我们自己用python代码构建的数据结构,而迭代器是python提供的,或者转化得来的。 获取生成器的三种方式 1.生成器函数 2.生成器表达式 3.python内部提供 生成器函数获取生成器 return 和yield的区别: return是
阅读全文
摘要:一、默认参数的陷阱 陷阱只针对于默认参数时可变的数据类型 由结果可知,如果默认参数是一个可变的数据类型,无论调用多少次这个默认函数,这个默认参数在内存中地址不变的。 练习1 练习2 二、局部作用域的坑 在函数中,如果定义了一个变量,但是在定义这个变量之前对其引用,python解释器会认为这是语法问题
阅读全文
摘要:一、函数的参数 3.万能参数 args 函数定义时, 代表聚合,它将所有的位置参数聚合成一个元组,赋值给了args 练习:写一个函数,计算出传入函数的所有数字的乘积 kwargse 函数定义时, 代表聚合,它将所有的关键字参数聚合成一个字典,赋值给了kwargs 形参的顺序: 在函数调用时, 代表打
阅读全文
摘要:一、函数的结构 在python中定义函数时,关键字是def, 函数名需要符合标识符命名规范。 多个参数列表之间可以用逗号分隔,函数也可以没有参数。 如果函数有返回值,就需要在函数体最后使用return语句将数据返回; 如果没有返回数据,则可以使用return None 或者省略renturn 语句。
阅读全文
摘要:文件操作 open 是python的内置函数,open底层调用的是操作系统的接口 f1:就是个变量,专业名词:文件句柄。一般命名f1,fh,file_handler,f_h等等,对文件进行任何操作,都要通过文件句柄。 encoding='' 可以不写,如果不写的话,默认编码本就是操作系统的默认编码
阅读全文
摘要:一、基础数据类型的补充 字符串str 元组tuple 列表list 字典dict 二、编码的进一步认识 1.不同编码之间不能互相识别 2.数据在内存中全部都是以Unicode编码的,但是数据在网络传输或者存储在硬盘,必须是非Unicode编码 内存中的Unicode编码数据必须先转化成bytes(特
阅读全文

浙公网安备 33010602011771号