python高级
Guton-2019
这个作者很懒,什么都没留下…
展开
-
random
random随机数所有的随机模块都是伪随机import random# random() 获取0 - 1之间的随即小数# 格式:random.random()# 返回值:随机0 - 1之间的小数print(random.random())0.03539160320473711# 利用random函数,生成0 - 100之间的整数# choice() 随机返回序列中的...原创 2019-11-11 18:33:51 · 141 阅读 · 0 评论 -
归档和压缩 - zip
归档和压缩归档:把多个文件或者文件夹合并到一个文件当中压缩:用算法把多个文件或者文件夹无损或者有损的合并到一个一个文件当中# make_archive() 归档操作# 格式: shutil.make_archive(归档之后的目录和文件名,后缀,需要归档的文件夹)# 返回值:归档之后的地址# 是想得到一个叫做python.zip的归档文件rst = shutil.make_ar...原创 2019-11-11 18:33:09 · 877 阅读 · 0 评论 -
shutil
shutil 模块import shutil# copy() 复制文件# 格式:shutil.copy(来源路径,目标路径)# 返回值:返回目标路径# 拷贝的同时,可以给文件重命名# 注意:源路径文件一定得存在,否则会报错rst = shutil.copy("D:\\PyCode\Python.txt","D:\\PyCode\Py.txt")print(rst)D:\PyC...原创 2019-11-11 18:32:36 · 204 阅读 · 0 评论 -
os模块
os - 操作系统相关跟操作系统相关,主要是文件操作与系统相关的操作,主要包含在三个模块里os,操作系统目录相关os.path,系统路径相关操作shutil,高级文件操作,目录树的操作,文件值,删除,移动路径绝对路径:总是从跟,目录上开始相对路径:基本以当前环境为开始的一个相对的地方os模块import os# getcwd() 获取当前的工作目录# 格式...原创 2019-11-11 18:30:18 · 892 阅读 · 0 评论 -
log
LOGlogginglogging模块提供模块级别的函数记录日志包括四大组件1.日志相关概念日志日志的级别(level)不同的用户关注不同的程序信息DEBUGINFONOTICEWARNINGERRORCRITICALALERTEMERGENCYIO操作 ==> 不要频繁操作LOG的作用调试了解软件的运行情况分析定位问题日志信息...原创 2019-11-09 15:45:29 · 103 阅读 · 0 评论 -
dequeue、defaultdict、Counter
dequeue比较方便的解决了频繁删除插入带来的效率问题from collections import dequeq = deque(['a','b','c'])print(q)q.append("d")print(q)q.appendleft("x")print(q)deque(['a', 'b', 'c'])deque(['a', 'b', 'c', 'd'])...原创 2019-11-08 16:05:30 · 154 阅读 · 0 评论 -
collections模块
collections模块namedtupledequenamedtupletuple类型是一个可命名的tupleimport collectionsPoint = collections.namedtuple("Point",['x','y','z'])p = Point(11,22,33)print(p.x)print(p[1])print(p[2])11...原创 2019-11-08 16:04:27 · 92 阅读 · 0 评论 -
enumerate
enumerate跟zip功能比较像对可迭代对象里的每一元素,配上一个索引,然后所有和内容构成tuple元组类型# enumerate 案例1l1 = [11,22,33,44,55]em = enumerate(l1)l2 = [i for i in em]print(l2)[(0, 11), (1, 22), (2, 33), (3, 44), (4, 55)]...原创 2019-11-08 16:00:20 · 153 阅读 · 0 评论 -
偏函数
偏函数# 把字符串转化成十进制数字int("12345")# 求八进制的字符串12345,表示成十进制的数字是多少int("12345",base=8)5349# 新建一个函数,此函数是默认输入的字符串是16进制数字# 把此字符串返回十进制的数字def int16(x,base=16): return int(x,base)int16("12345")7456...原创 2019-11-07 10:35:18 · 144 阅读 · 0 评论 -
装饰器
装饰器def hello(): print("Hello world") hello()Hello worldf = hellof()Hello world# f和hello是一个函数print(id(f))print(id(hello))print(f.__name__)print(hello.__name__)255099290684825...原创 2019-11-07 10:33:52 · 71 阅读 · 0 评论 -
闭包(closure)
闭包(closure)当一个函数在内部定义函数,并且内部的函数应用外部函数的参数或者局部变量,党内部函数被当做返回值的时候,相关参数和变量保存在返回的函数中,这种结果,叫闭包上面定义的myF4是一个标准的闭包结构# 闭包常见坑def count(): # 定义列表,列表里存放的是定义的函数 fs = [] for i in range(1,4): ...原创 2019-11-07 10:30:00 · 133 阅读 · 0 评论 -
返回函数
返回函数函数也可以返回具体的值也可以返回一个函数作为结果# 定义一个普通函数def myF(a): print('In myF') return Nonea = myF(8)print(a)In myFNone# 函数作为返回值返回,被返回的函数在函数体内定义def myF2(): def myF3(): prin...原创 2019-11-07 10:29:03 · 189 阅读 · 0 评论 -
高阶函数-排序
高阶函数-排序把一个序列按照给定算法进行排序key:在排序前对每个元素进行key函数运算,可以理解成按照key函数定义的逻辑进行排序python2和python3相差巨大help(sorted)Help on built-in function sorted in module builtins:sorted(iterable, /, *, key=None, reverse=...原创 2019-11-07 10:28:23 · 595 阅读 · 0 评论 -
filter函数
filter函数过滤函数:对一组数据进行过滤,符合条件的数据会生成一个新的列表并返回跟map相比较:相同点:都对列表的每一个元素逐一进行操作不同点:map会生成一个跟原来数据相对应的新队列filter不一定,只要符合条件的才会进入新的数据集合filter函数怎么写:利用给定函数进行判断返回值一定是个布尔值调用格式filter(f,data),f是过滤函数,data是...原创 2019-11-07 10:26:21 · 640 阅读 · 0 评论 -
reduce
reduce原意是归并,缩减把一个可迭代对象最后归并成一个结果对于作为参数的函数要求:必须有两个参数,必须有返回结果reduce([1,2,3,4,5]) == f(f(f(f(f(1,2)),3),4),5)reduce 需要导入functools包from functools import reduce# 定义一个操作函数# 加入操作函数只是想加def myAdd(x,...原创 2019-11-07 10:25:36 · 79 阅读 · 0 评论 -
高阶函数
高阶函数把函数作为参数使用的函数,叫高阶函数# 变量可以赋值a = 100b = a # 函数名称就是一个变量def funA(): print("In funA") funB = funAfunB()funA以上代码得出的结论:函数名称是变量funB 和 funA只是名称不一样而已既然函数名称是变量,则应该可以被当作参数传入另一个函数# ...原创 2019-11-07 10:23:15 · 101 阅读 · 0 评论 -
高级函数 - lambda
Python语言的高级特性函数式编程(FunctionalProgramming)基于lambda演算的一种编程方式程序中只有函数函数可以作为参数,同样可以作为返回值纯函数式编程语言:LISP,HaskellPython函数编程只是借鉴函数式编程的一些特点,可以理解成一半函数式一半Python需要讲述高阶函数返回函数匿名函数装饰器偏函数lambda表达式...原创 2019-11-07 10:22:05 · 173 阅读 · 0 评论 -
常用模块 - datetime
datetime模块datetime提供日期和时间的运算和表达import datetime# datetime常见属性# datetime.date: 一个理想的日期,提供year,month,day属性dt = datetime.date(2019,11,4)print(dt)print(dt.day)print(dt.month)print(dt.year)# d...原创 2019-11-05 15:55:50 · 113 阅读 · 0 评论 -
常用模块 - time
time模块时间戳- 一个时间表示,根据不同语言,可以是整数或者浮点数- 是从1970年1月1日0时0分0秒到现在经历的秒数- 如果表述的时间是1970年以前或者太遥远的未来,可能出现异常- 32位操作系统能够支持到2038年UTC时间- UTC又称世界协调时间,以英国的格林尼治天文所在地区的时间作为参考时间,也叫做时间标准时间。- 中国时间是 UTC+8 东八区夏令时- ...原创 2019-11-05 15:55:05 · 164 阅读 · 0 评论 -
常用模块 - calendar
calendar跟日历相关的模块# 使用需要导入import calendarhelp(calendar)# calendar: 获取一年的日历字符串# 参数:# w = 每个日期之间的间隔数字符# l = 每周所占用的行数# c = 每个月之间的间隔字符数cal = calendar.calendar(2019)print(type(cal))print(cal)...原创 2019-11-05 15:53:35 · 141 阅读 · 0 评论 -
异常
异常广义上的错误分为错误和异常错误指的是可以人为避免异常是指,在语法和逻辑正确的前提下,出现的问题在python里,异常是一个类,可以处理和使用异常的分类AssertError 断言语句(assert)失败AttributeError 尝试访问未知的对象属性EOFError ...原创 2019-11-04 18:10:04 · 121 阅读 · 0 评论 -
抽象类
抽象类抽象方法:没有具体内容的方法称为抽象方法抽象方法的吧主要意义是规范了子类的行为和接口抽象类的使用需要借助abc模块import abc抽象类:包含抽象方法的类叫抽象类,同城称为ABC类抽象类的使用抽象类可以包含抽象方法,也可以包含具体方法抽象类中可以有方法也可以有属性抽象类不允许直接实例化必须继承才可以使用,且继承的子类必须实现所有继承来的抽象方法假定子类没有实现所...原创 2019-11-04 18:09:12 · 901 阅读 · 0 评论 -
包(package)、模块(module)
1.模块一个模块就是一个包含python代码的文件,后缀名称是.py就可以,模块就是个python文件为什么我们用模块程序太大,编程维护非常不方便,需要拆分模块可以增加代码重复利用的方式当作命名空间使用,避免命名冲突如何定义模块模块就是一个普通文件,所以任何代码可以直接书写不过根据模块的规范,最好在模块中编写以下内容函数(单一功能)类(相似功能的组合,或者类...原创 2019-11-01 16:10:57 · 202 阅读 · 0 评论