
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 · 225 阅读 · 0 评论 -
归档和压缩 - zip
归档和压缩 归档:把多个文件或者文件夹合并到一个文件当中 压缩:用算法把多个文件或者文件夹无损或者有损的合并到一个一个文件当中 # make_archive() 归档操作 # 格式: shutil.make_archive(归档之后的目录和文件名,后缀,需要归档的文件夹) # 返回值:归档之后的地址 # 是想得到一个叫做python.zip的归档文件 rst = shutil.make_ar...原创 2019-11-11 18:33:09 · 940 阅读 · 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 · 230 阅读 · 0 评论 -
os模块
os - 操作系统相关 跟操作系统相关,主要是文件操作 与系统相关的操作,主要包含在三个模块里 os,操作系统目录相关 os.path,系统路径相关操作 shutil,高级文件操作,目录树的操作,文件值,删除,移动 路径 绝对路径:总是从跟,目录上开始 相对路径:基本以当前环境为开始的一个相对的地方 os模块 import os # getcwd() 获取当前的工作目录 # 格式...原创 2019-11-11 18:30:18 · 1030 阅读 · 0 评论 -
log
LOG logging logging模块提供模块级别的函数记录日志 包括四大组件 1.日志相关概念 日志 日志的级别(level) 不同的用户关注不同的程序信息 DEBUG INFO NOTICE WARNING ERROR CRITICAL ALERT EMERGENCY IO操作 ==> 不要频繁操作 LOG的作用 调试 了解软件的运行情况 分析定位问题 日志信息 ...原创 2019-11-09 15:45:29 · 131 阅读 · 0 评论 -
dequeue、defaultdict、Counter
dequeue 比较方便的解决了频繁删除插入带来的效率问题 from collections import deque q = 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 · 184 阅读 · 0 评论 -
collections模块
collections模块 namedtuple deque namedtuple tuple类型 是一个可命名的tuple import collections Point = 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 · 130 阅读 · 0 评论 -
enumerate
enumerate 跟zip功能比较像 对可迭代对象里的每一元素,配上一个索引,然后所有和内容构成tuple元组类型 # enumerate 案例1 l1 = [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 · 190 阅读 · 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 · 174 阅读 · 0 评论 -
装饰器
装饰器 def hello(): print("Hello world") hello() Hello world f = hello f() Hello world # f和hello是一个函数 print(id(f)) print(id(hello)) print(f.__name__) print(hello.__name__) 2550992906848 25...原创 2019-11-07 10:33:52 · 98 阅读 · 0 评论 -
闭包(closure)
闭包(closure) 当一个函数在内部定义函数,并且内部的函数应用外部函数的参数或者局部变量,党内部函数被当做返回值的时候,相关参数和变量保存在返回的函数中,这种结果,叫闭包 上面定义的myF4是一个标准的闭包结构 # 闭包常见坑 def count(): # 定义列表,列表里存放的是定义的函数 fs = [] for i in range(1,4): ...原创 2019-11-07 10:30:00 · 161 阅读 · 0 评论 -
返回函数
返回函数 函数也可以返回具体的值 也可以返回一个函数作为结果 # 定义一个普通函数 def myF(a): print('In myF') return None a = myF(8) print(a) In myF None # 函数作为返回值返回,被返回的函数在函数体内定义 def myF2(): def myF3(): prin...原创 2019-11-07 10:29:03 · 241 阅读 · 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 · 676 阅读 · 0 评论 -
filter函数
filter函数 过滤函数:对一组数据进行过滤,符合条件的数据会生成一个新的列表并返回 跟map相比较: 相同点:都对列表的每一个元素逐一进行操作 不同点: map会生成一个跟原来数据相对应的新队列 filter不一定,只要符合条件的才会进入新的数据集合 filter函数怎么写: 利用给定函数进行判断 返回值一定是个布尔值 调用格式filter(f,data),f是过滤函数,data是...原创 2019-11-07 10:26:21 · 725 阅读 · 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 · 108 阅读 · 0 评论 -
高阶函数
高阶函数 把函数作为参数使用的函数,叫高阶函数 # 变量可以赋值 a = 100 b = a # 函数名称就是一个变量 def funA(): print("In funA") funB = funA funB() funA 以上代码得出的结论: 函数名称是变量 funB 和 funA只是名称不一样而已 既然函数名称是变量,则应该可以被当作参数传入另一个函数 # ...原创 2019-11-07 10:23:15 · 131 阅读 · 0 评论 -
高级函数 - lambda
Python语言的高级特性 函数式编程(FunctionalProgramming) 基于lambda演算的一种编程方式 程序中只有函数 函数可以作为参数,同样可以作为返回值 纯函数式编程语言:LISP,Haskell Python函数编程只是借鉴函数式编程的一些特点,可以理解成一半函数式一半Python 需要讲述 高阶函数 返回函数 匿名函数 装饰器 偏函数 lambda表达式 ...原创 2019-11-07 10:22:05 · 200 阅读 · 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 · 145 阅读 · 0 评论 -
常用模块 - time
time模块 时间戳 - 一个时间表示,根据不同语言,可以是整数或者浮点数 - 是从1970年1月1日0时0分0秒到现在经历的秒数 - 如果表述的时间是1970年以前或者太遥远的未来,可能出现异常 - 32位操作系统能够支持到2038年 UTC时间 - UTC又称世界协调时间,以英国的格林尼治天文所在地区的时间作为参考时间,也叫做时间标准时间。 - 中国时间是 UTC+8 东八区 夏令时 - ...原创 2019-11-05 15:55:05 · 203 阅读 · 0 评论 -
常用模块 - calendar
calendar 跟日历相关的模块 # 使用需要导入 import calendar help(calendar) # calendar: 获取一年的日历字符串 # 参数: # w = 每个日期之间的间隔数字符 # l = 每周所占用的行数 # c = 每个月之间的间隔字符数 cal = calendar.calendar(2019) print(type(cal)) print(cal) ...原创 2019-11-05 15:53:35 · 171 阅读 · 0 评论 -
异常
异常 广义上的错误分为错误和异常 错误指的是可以人为避免 异常是指,在语法和逻辑正确的前提下,出现的问题 在python里,异常是一个类,可以处理和使用 异常的分类 AssertError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性 EOFError ...原创 2019-11-04 18:10:04 · 173 阅读 · 0 评论 -
抽象类
抽象类 抽象方法:没有具体内容的方法称为抽象方法 抽象方法的吧主要意义是规范了子类的行为和接口 抽象类的使用需要借助abc模块 import abc 抽象类:包含抽象方法的类叫抽象类,同城称为ABC类 抽象类的使用 抽象类可以包含抽象方法,也可以包含具体方法 抽象类中可以有方法也可以有属性 抽象类不允许直接实例化 必须继承才可以使用,且继承的子类必须实现所有继承来的抽象方法 假定子类没有实现所...原创 2019-11-04 18:09:12 · 931 阅读 · 0 评论 -
包(package)、模块(module)
1.模块 一个模块就是一个包含python代码的文件,后缀名称是.py就可以,模块就是个python文件 为什么我们用模块 程序太大,编程维护非常不方便,需要拆分 模块可以增加代码重复利用的方式 当作命名空间使用,避免命名冲突 如何定义模块 模块就是一个普通文件,所以任何代码可以直接书写 不过根据模块的规范,最好在模块中编写以下内容 函数(单一功能) 类(相似功能的组合,或者类...原创 2019-11-01 16:10:57 · 243 阅读 · 0 评论