随笔分类 - python基础
摘要:代码 from urllib.parse import quote,unquote,urlencode print(quote('https://www.cnblogs.com/?a=bc&d=f')) print(urlencode({'a':'b','b':'c'}))#https%3A//ww
阅读全文
摘要:实例: with codecs.open(file=源文件,mode='命令',encoding='编(解)码方式') as 命名:
阅读全文
摘要:一.获取目录列表 方式一: 最传统的方式: import os print(os.listdir(os.path.dirname(__file__))) 结果: ['.idea', 'demo.png', 'dn_demo.py', 'file2mongo.py', 'flask_demo.py',
阅读全文
摘要:1.pip 2.压缩包(针对pip安装不上) 1.下载源码解压(压缩包有setup.py) 2.python setup.py install 3.****.whl文件 1.pip install ****.whl
阅读全文
摘要:一,鸭子类型 鸭子类型是对Python中数据类型本质上是由属性和行为来定义的一种解读。 Python是一种动态语言,不像Java和C++这种强类型语言,Python里实际上没有严格的类型检查。 只要某个对象具有鸭子的方法,可以像鸭子那样走路和嘎嘎叫,那么它就可以被其它函数当做鸭子一样调用。 输出结果
阅读全文
摘要:一.需求 原格式: 目标格式: 二.方法 1.sum函数合并 这个看上去很简洁,不过有类似字符串累加的性能陷阱。 2.reduce函数 做序列的累加操作。也是有累加的性能陷阱。 3.列表推导式 列表推导式,看着有些长,而且还要for循环两次,变成一行理解需要费劲一些,没有那么直观 4.itertoo
阅读全文
摘要:import 是 Python 中的天然单例模式,我最先推荐这种方式。 创建两个文件 signletion.py signletion_import.py,文件内容如下 运行结果只输出一次 new instance,代表只生成一个实例,创建单例成功,后续我们都用这种验证方式。 使用 new 方法 直
阅读全文
摘要:一. 什么是装饰器? 二,装饰器的形成过程。 现在我有一个需求,我想让你测试这个函数的执行时间,在不改变这个函数代码的情况下: 如果有n给函数都需要测试时间,并且函数名不尽相同,那一个一个的写是不是很累? python做了优化,给我们一个语法糖使用. 之前的func都是不带参数的,带参数的又怎么设计
阅读全文
摘要:1. 包 包是一种通过 '.模块名'来组织python模块名称空间的形式. 那什么样的东西是包呢? 我们创建的每个文件夹都可以被称之为包. 但是我们要注意, 在python2中规定. 包内必须存在__init__.py文件. 创建包的目的不是为了运行, 而是被导入使用. 包只是一种形式而已. 包的本
阅读全文
摘要:1. 模块 1. 首先,我们先看个老生常谈的问题. 什么是模块. 模块就是一个包含了python定义和声 明的文件, 文件名就是模块的名字加上.py后缀. 换句话说我们目前写的所有的py文件都可以 看成是一个模块但是我们import加载的模块一共分成四个通用类别: 1. 使用pyhton编写的py文
阅读全文
摘要:import os import time def emplog(content): #记录操作的一个函数,在删除,添加,修改都会用到这一操作, f=open("emp.log",mode="a",encoding="utf-8") #所以就提取出来 f.write(content+"\n") f.flush() f.close() def tia...
阅读全文
摘要:import os class Account: def __init__(self, username, password, money=0): self.username = username self.password = password self.money = money class ATM: def __init__...
阅读全文
摘要:2. re模块 re模块是python提供的⼀套关于处理正则表达式的模块. 核心功能有四个 5. 其他操作 ret = re.split('[ab]', 'qwerafjbcd') # 先按'a'分割得到'qwer'和'fjbcd',在对'qwer'和'fjbcd'分别按'b'分割print(ret
阅读全文
摘要:1. 序列化:我们在网络传输的时候,需要我们对对象进行处理,把对象处理成方便存储和传输的格式,这个过程就叫序列化 序列化的方法不一定一样,三十目的都是为了方便储存和传输. 在python中有三种序列化方案: 1. pickle 可以将我们python中任意数据类型转化为bytes写入文件中,同样也可以把文件中写好的bytes 转换回我们的python数据,这个过程成为反序列化...
阅读全文
摘要:values = [11, 22, 33,44,55,66,77,88,99,90] my_dict = {} for value in values: if value>66: if my_dict.has_key('k1'): my_dict['k1'].append(value) else:
阅读全文
摘要:1. MRO(Method Resolution Order):方法解析顺序,主要用于在多继承时判断调的属性的路径(来自于哪个类). 3. C3算法 4.C3算法规则 例 1. 例 2. class A: passclass B(A): passclass C(A): passclass D(B,
阅读全文
摘要:思路: 1.导入logging模块 2.简单配置一下logging模块 3.出现异常的时候,向日志里写错误信息 配置参数 例 logger对象配置 logging库提供了多个组件:Logger、Handler、Filter、Formatter。Logger对象提供应用程序可直接使用的接口,Handl
阅读全文
摘要:总结:其实就是父类对子类的约束,子类必须实现XX方法,有两个方案方案一:使用抽象类和抽象方法,使用频率较低方案二:使用人为的跑出异常,并尽量使用NotImplementedError,这样比较专业,明确
阅读全文
摘要:1. issubclass,type,isinstance 1.issubclass 判断xxx是否yyy的子类 例: class Foo: pass class Bar(Foo): pass class Base(Bar): pass print(issbuclass(Bar,Foo)) #TRUE pr...
阅读全文