- 博客(30)
- 收藏
- 关注
原创 堆排序
堆 Heap堆是一个完全二叉树大顶堆每个非叶子结点都要大于或者等于其左右孩子结点 ,称为大顶堆根节点一定是大顶堆中的最大值小顶堆每个非叶子结点都要小于或者等于其左右孩子结点 ,称为小顶堆根节点一定是小顶堆中的最小值堆排序Heap Sort构建完全二叉树将待排序的数据,构建成一个完全二叉树并根据性质5对元素进行编号,放入顺序的数据结构中构造一个列表,在原有数据的...
2019-11-06 17:36:42
178
原创 知识补充
tracemalloc标准库tracemalloc,可以统计内存使用情况import tracemalloc # from 3.4tracemalloc.start() # 开始跟踪内存分配d = [dict(zip('xy', (5, 6))) for i in range(1000000)] # 237Mt = [tuple(zip('xy', (5, 6))) for ...
2019-10-29 17:14:11
245
原创 异常处理
异常处理异常 Exception错误 Error逻辑错误:算法写错了,例如加法写成了减法笔误:例如变量名写错了,语法错误函数或 类使用错误,其实也属于逻辑错误总之,错误是可以避免的异常 Exception本意就是意外情况这有个前提,没有出现上面说的错误,也就是说程序写的没有问题,但是在某些情况下,会出现一些意外,导致程序无法正常的执行例如open函数操作一个文件,文件打不开,或...
2019-10-29 17:13:40
221
原创 魔术方法3 --- 反射
反射定义:一个对象能够在运行时,像照镜子一样,反射出其类型信息。(简单说,在Python中,能够通过一个对象,找出其type,class,attribute或method的能力)具有反射能力的函数有type(),isinstance(),callable(),dir(),getattr()等。class Point: def __init__(self, x, y): ...
2019-10-29 17:13:22
194
原创 魔术方法2--上下文管理
魔术方法2上下文管理对象当一个对象同时实现了__enter__()和__exit__()方法,它就属于上下文管理对象import timeclass Point: def __init__(self): print('init ~~~~~~~~~~~~~~~') time.sleep(1) print('init over') ...
2019-10-29 17:11:32
124
原创 魔术方法1
特殊属性属性含义_name_类、函数、方法等的名字_module_类定义所在的模块名_class_对象或类所属的类_bases_类的基类的元组,顺序为它们在基类列表中出现的顺序_doc_类、函数的文档字符串,如果没有定义则为None_mro_类的mro,class.mro()返回的结果保存在__mro__中_dict_类或实例...
2019-10-29 17:10:56
171
原创 模块化和git
模块化一般来说,编程语言中,库、包、模块是同一概念,是代码组织方式。Python中只有一种模块对象类型,但是为了模块化组织模块的便利,提供了‘包’的概念。模块module,指的是Python的源代码文件。包package,指的是模块组织在一起的和包名同名的目录及相关文件。导入语句语句含义import 模块1[,模块2,…]完全导入import … as …...
2019-10-29 17:10:24
224
原创 描述器
描述器 Descriptors描述器的表现用到3个魔术方法:__get__(),__set__(),__delete__()方法签名如下:object.__get__(self, instance, owner)object.__set__(self, instance, value)object.__delete__(self, instance)self 指代当前实例,调...
2019-10-29 17:09:50
194
原创 正则表达式
概述正则表达式,RegularExpression,缩写为regex、regexp、RE正则表达式是文本处理极其重要的技术,用它可以对字符串按照某种规则进行检索、替换1970年代,Unix之父Ken Thompson将正则表达式引入到Unix中文本编辑器ed和grep命令中,由此正则表达式普及开来1980年代,perl语言对Herry Spencer 编写的库,扩展了很多新的特性。199...
2019-10-24 16:54:21
162
原创 文件操作
文件IO常用操作columncolumnopen打开read读取write写入close关闭readline行读取reaslines多行读取seek文件指针操作tell指针位置打开操作open(file,mode='r',buffering=-1,encoding=None,errors=None,neewli...
2019-10-24 16:53:25
198
原创 文本处理
文本命令grep支持BRE,EREman grep 有BRE,ERE说明-E 等价于egrep命令-v 反转结果sed 文本处理工具sed替换 ,也可以不用/ ,可以替换为#、@等符号sed 's/原/新' 文件名 临时修改,实质未变``sed -i 's/原/新’文件名` 就地修改,生效sort排序 cat 文件 | sort...
2019-10-24 16:52:55
147
原创 面向对象
typora-copy-images-to: ./语言的分类面向机器代表:汇编语言面向过程代表:C语言面向对象代表:C++、java、Python等面向对象一种认识世界,分析世界的方法论。将万事万物抽象为各种对象类class类是抽象的概念,是万事万物的抽象,是一类事物的共同特征的集合用计算机语言来描述类,是属性 和方法的集合对象 insta...
2019-10-24 16:52:23
324
原创 路径操作
路径操作模块3.4版本之前os.path模块# os 模块常用函数from os import pathp = path.join('/etc','sysconfig','network')print(1,type(p),p) #<class 'str'> \etc\sysconfig\networkprint(2,path.exists(p)) #判断是否存...
2019-10-24 16:51:40
519
原创 shutil模块
shutil 模块文件拷贝:使用打开2个文件对象,源文件读取内容,写入目标文件中来完成拷贝过程。但是这样会丢失stat数据信息(权限等),因为根本没有复制这些信息过去。python提供一个方便的库shutil(高级文件操作)copy复制copyfileobjcopyfileobj(fsrc,fdst[ , length])文件对象的复制,fsrc和fdst 是open打开的文件对象,复...
2019-10-24 16:49:55
154
原创 Python的正则表达式
Python使用re模块提供了正则表达式处理的能力常量常量说明flagsre.M re.MULTLINE多行模式1re.Sre.DOTALL单行模式10re.Ire.IGNORECASE忽略大小写100re.Xre.VERBPSE忽略表达式中的空白字符1000使用| 位或 运算开启多种选项 re.M | re.S方法正...
2019-10-24 16:49:21
209
原创 Linux权限信息
用户和组*nix是多用户系统用户管理员root用户是必须有的管路员账户,特权用户,无所不能。慎用uid 为0家目录在 /root系统用户普通授权用户,不用登陆,一般不需要家目录uid 1-499 CentOS7 : 1-999普通用户普通授权用户,交互式登录,需要家目录在/home/<username>uid 500+ ...
2019-10-24 16:48:46
244
原创 Linux
文件系统 File System Hierarchy (FSH)Linux文件系统目录说明/根目录/boot启动相关文件/bin二进制命令/sbin系统二进制命令/etc系统配置/lib共享库、内核模块/usr用户数据/usr/local第三方软件/usr/bin用户的命令/usr/sbin用户的命...
2019-10-24 16:48:14
238
原创 CSV 和 ini
CSV 文件是纯文本文件用途:交换文件、跨平台使用逗号分隔值:Comma-Separated ValuesCSV是一个呗行分隔符,列分隔符划分成行和列的文本文件CSV不指定字符编码行分隔符是\r\n,最后一行可以没有换行符列分隔符常为逗号或者制表符每一行称为一条记录record字段(filed)可以使用双引号括起来,也可以不使用。如果字段中出现了双引号、逗号、换行符 必须使用...
2019-10-24 16:47:41
424
原创 装饰器
装饰器装饰顺序 先近后远调用顺序,先远后近装饰器(无参)它是一个函数函数作为它的形参。无参装饰器实际上就是一个单行参函数返回值是一个函数可以使用@functionname 方式,简单调用注:此处装饰器的定义只是就目前所学的总结,并不准确,只是方便理解装饰器和高阶函数装饰器可以是高阶函数,但是装饰器是对传入函数的功能的装饰(功能增强)装饰...
2019-09-10 09:38:30
166
原创 functions模块
reduce 方法reduce方法,顾名思义就是减少reduce(function,sequence[,initial]) -->value可迭代对象不能为空;初始值没提供就在可迭代对象中取一个元素from functools import reducenums = [6,9,4,2,10,5,9,6,9]print(nums) #[6, 9, 4, 2, 10...
2019-09-02 08:46:30
193
原创 正则表达式
概述正则表达式,RegularExpression,缩写为regex、regexp、RE正则表达式是文本处理极其重要的技术,用它可以对字符串按照某种规则进行检索、替换1970年代,Unix之父Ken Thompson将正则表达式引入到Unix中文本编辑器ed和grep命令中,由此正则表达式普及开来1980年代,perl语言对Herry Spencer 编写的库,扩展了很多新的特性。199...
2019-09-02 08:43:56
100
原创 排序算法
1 ,选择排序简单选择排序import random l1 = []for i in range(10): l1.append(random.choice(range(40)))length = len(l1)print(l1)print("----------------------")counter_iter = 0counter_swap = 0for i in...
2019-08-26 11:15:11
123
原创 函数
函数python函数由若干语句组成的语句块、函数名称、参数列表构成,它是组织代码的最小单元完成一定的功能可调用函数 callable函数的作用结构化编程对代码的最基本的封装,一般按照功能组织一段代码封装的目的 为了复用 ,减少冗余代码代码更加简洁美观,可读易懂函数的分类内建函数 : 如max(), reversed()库函数 : 如math自定义函数:...
2019-08-19 08:31:45
157
原创 字符串
typora-copy-images-to: ./typora-root-url: …\图片字符串定义一个个字符组成的有序的序列,是字符的集合是不可变对象,一旦定义,不可修改使用单引号,双引号,三引号 引住的字符序列是Unicode类型有序的,可索引,可迭代,可遍历,不可修改字符串元素访问——下标字符串支持使用索引访问有序的字符集合,字符序列sql = ";a...
2019-08-10 16:52:14
149
原创 时间库datetime 和 内建函数
标准库datetimedatetime 模块对日期,时间,时间戳的处理1. datetime类类方法today ()返回本地时区当前的时间的datetime对象now(tz = None) 返回当前时间的datetime对象,时间到微妙,如果tz 为None,返回和today() 一样utcnow() 一样fromtimestamp( timesstamp , tz = ...
2019-08-10 16:47:43
550
原创 解析式和生成器
列表解析举例生成一个列表,元素0~9,对每一个元素自增1后求平方 返回新的列表l1 = list(range(10))l2 = []for i in l1: l2.append((i+1)**2)print(l2)[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]#列表解析式l1 = list(range(10))l2 = [(i...
2019-08-10 16:44:59
366
原创 封装和解构
封装将多个值使用逗号分隔,组合在一起本质上,返回一个元组,只是省掉了小括号t1 = (1,2) #定义为元组t2 = 1,2 #将1,2 封装成元组print(type(t1),type(t2))<class 'tuple'> <class 'tuple'>封装和结构交换(封装,解构) a = 4 b = 5 temp = a ...
2019-08-10 16:43:07
166
原创 set 和 dict
集set约定set翻译为集合collection翻译为集合类型或容器,是一个大概念set可变的,无序的,不重复,不可索引,可迭代的元素集合set定义,初始化s1 = set() # 空集合s1 = set(iterable)s1 = set( “可hash对象” )s2 = {} #空字典dicthash可hash(不可变类型)不可has...
2019-08-10 16:41:20
260
原创 第二周
typora-copy-images-to: ./字符串定义一个个字符组成的有序的序列,是字符的集合是不可变对象,一旦定义,不可修改使用单引号,双引号,三引号 引住的字符序列是Unicode类型有序的,可索引,可迭代,可遍历,不可修改join拼接l1 = ['1','2','3']"#".join(l1)'1#2#3'"#".join(['1',['a','b']...
2019-08-05 10:42:35
129
原创 第一周
第一周计算机五大组件(冯诺依曼体系)输入设备:键盘,鼠标,磁盘输出设备:显示器,打印机,磁盘存储器:用于记忆程序和数据,如内存CPU运算器:核心计算部件,完成各种运算控制器:控制程序的运行CPU中还有寄存器和多级缓存功能:预读,大大提高CPU运行效率只认识机器语言,二进制语言低级语言面向机器的语言,包括机器语言、汇编语言不同的机器...
2019-07-29 08:30:03
238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人