随笔分类 - python
今夜州月,仅见独处。 -杜甫《月夜》
摘要:1、attr 一个效能工具,意思是,并不能提供不可取代的功能,但是却能提高我们的编码效率,将一些本来该造轮子操作扔给它,黑箱操作即可。 2、遇到什么问题,我们可以使用这个库? (1) 打印美观 step1:打印输出的问题用__repr__解决。 比如 print 打印一个对象的所有属性,直接prin
阅读全文
摘要:__getatrr__(self,para):在查找对象的某个属性时,如果没有这个属性,就会去调用__getatrr__方法 测试一下: class test_getattr(): sex = "male" def getName(self): print self.name def __getat
阅读全文
摘要:1、__version__ 2、用来干嘛:获取pytest版本 (1)终端 pytest version (2)写串代码查查。 import pytest print(pytest.__version__) 可以看, pytest包 中只import了属性version。pytest 的versio
阅读全文
摘要:1、这个包下面有哪些东西? 2、为什么说 pytest是一个包? 这个文件夹下有一个文件,叫__init__.py,这是一个包标识文件。即有这个文件的文件夹,python中不叫文件夹,叫包或者模块。 这个模块__init__.py的作用(简单说一下结论) (1)做包标识工具。防止不同包中存在相同的.
阅读全文
摘要:1、随便看了一个脚本setup.py。 出于好奇,了解一下。 以前很少见 ,原来它是个打包工具。 对比 pip install 包,是在线安装的意思,安装的时候会把这个“包”的依赖一块儿安装了。 python setup.py install 包,是把源码下下来,本地安装的意思,但是这个包的其他依赖
阅读全文
摘要:1、走读目的 主要目的是学习源码走读的过程,之后可以走读自己喜欢的任意代码。 稍次要的目的是学习pytest框架。毕竟,在上一份工作中,一直用这个框架,也尝试走读了,希望以后面试会更加明白这个框架。 2、走读时间20210226 3、走读模式。随意点开看看,找个入口或者自己感兴趣的看看,或者见到啥好
阅读全文
摘要:一、什么是装饰器? import time def decorator(func): def wapper(): print(time.time()) func() return wapper @decorator def f1(): print("This is a function named"
阅读全文
摘要:1、匿名函数是什么? def add(x,y): return x+y print(add(1,2)) #普通函数的定义和调用 f = lambda x,y:x+y print(f(1,2)) #匿名函数的定义,并将这个函数赋值给变量,使用变量调用函数 print(f(1,2)) # [Runnin
阅读全文
摘要:1、基础知识保证我们写出业务代码,而且我们不考虑太多的封装性;高阶知识保证,可以去更好的封装包,类库,提供给其他人使用 2、高阶知识 函数式编程 闭包 什么是函数式编程? 什么是闭包? 3、python中一切结皆对象。所以函数也是对象。 函数可以赋值给一个变量,变量的类型是个函数function d
阅读全文
摘要:1、枚举 可读性更强 from enum import Enum class VIP(Enum): YELLOW = 1 GREEN = 2 BALCK = 3 RED = 4 print(VIP.BALCK) print(type(VIP.BALCK)) # [Running] python -u
阅读全文
摘要:1、json 是一种轻量级的跨语言数据交换格式。 轻量的意思是 比起xml来说,更加轻量。比xml传输的数据更易读,更易于极细,传输的效率要高。 2、怎么检查,一个字符串是个json字符串? json 的key 和字符串value 都是用双引号扩起来 不能是单引号 能解析:解析成dict,读取时按照
阅读全文
摘要:1、findall:类似于个grep,比较主流。偏门的两个函数match 和 search也可以看看 #coding=utf-8 import re s = "A83C7D1D8E67" r1 = re.match('\d',s) r2 = re.search('\d',s) print(r1) p
阅读全文
摘要:1、边界匹配 eg.判断一个账号是不是qq号。原则是,数字是4位到8位的,都认为是qq号。 #coding=utf-8 import re #qq号长度范围是4到8位 qq = "100000001" r = re.findall("^\d{4,8}",qq) print(r) # [Running
阅读全文
摘要:1、正则表达式:目的是为了爬虫,是爬虫利器。 正则表达式是用来做字符串匹配的,比如检测是不是电话、是不是email、是不是ip地址之类的 2、JSON:外部数据交流的主流格式。 3、正则表达式的使用 re python 内置的模块,可以进行正则匹配 re.findall(pattern,source
阅读全文
摘要:1、面向对象的三大特性: 继承、封装和多态 2、继承 语法:class Student(父类): 变量可以被继承 #coding=utf-8 import test9 class Student(test9.Person): sum = 0 def __init__(self,name,age):
阅读全文
摘要:1、访问权限修饰符可以用来修饰变量和方法 2、内部调用和外部调用: 比如在类的内部调用实例方法,叫内部调用;在类的外部调用实例化方法,叫外部调用 当然,类变量以及实例变脸也是有内部调用和外部调用 #coding=utf-8 class Student(): name = "" age = 0 sum
阅读全文
摘要:需要搞清楚的是, 实例方法与类方法是什么?类变量和实例变量又是什么? 类方法中如何访问类变量、类方法要如何调用?当然 实例方法中如何访问类变量?能 实例方法访问实例变量,实例方法如何被调用?当然 类方法中能否访问实例变量?不能 对象调用类方法?能 静态方法是什么?装饰器:@staticmethod
阅读全文
摘要:1、构造函数 __init__() #coding=utf-8 class Student(): name = "" age = 0 def __init__(self): #构造函数 pass def do_homework(self): print(self.name +"do homework
阅读全文
摘要:目标: 1、写出有意义的面向对象 2、面向对象的核心(类+对象) 基础1: 与变量名不同,建议类名首字母大写,且有意义的单词之间不要用下划线链接,用驼峰表示。 类名后面是小括号(这一点和Java 很不一项),但是类的小括号里的参数与函数值的参数是截然不同,这个参数与进程相关。 class Stude
阅读全文
摘要:1、关于返回值 def funcname(parameter_list) pass return value 返回的是函数处理后的结果;如果没有return 语句,python 默认返回的是None 2、python是解释性语言 先调用再定义,会报错 得先定义再调用才行,这就是解释性语言的特点 3、
阅读全文