自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 访问控制,私有属性-方法

访问控制私有属性(Private):用双下划线开头的属性名,就是私有属性class Person: def __init__(self,name,age=18): self name = name self.__age = age def growup(self,i=1): if i > 0 and i < 150:#控制逻辑 self.__age += i...

2019-02-25 19:22:42 254

原创 装饰一个类,类方法和静态方法

如何装饰一个类#增加类变量def add_name(name, cls): cls.NAME = name #动态增加类属性### 改进成装饰器版本def add_name(name): def wrapper(cls): cls.NAME = name return cls return wrapper@add_nameclass Person: # 装饰类...

2019-02-25 17:46:19 342

原创 Python的类定义,实例化

定义:必须使用class关键字类名必须是用大驼峰命名类定义完成后,就会产生一个类对象,绑定到了标识符ClassName上class ClassName: 语句块举例:class MyClass: """A example class""" x = 'abc'#类属性 def foo(self):#类属性foo,也是方法 return 'My Class'print(M...

2019-02-25 17:36:16 7018

原创 面向对象****

面向对象******语言的分类:面向机器语言:抽象成机器指令,机器容易理解,代表语言:汇编语言面向过程语言:做一件事情,排出一个步骤,每一步都分清楚 第一步做什么第二做什么,如果出现情况a做什么处理,出现b做什么处理,适用于问题规模小,可以步骤化,按部就班的处理。代表语言:C语言面向对象语言 00P(面向对象编程):适用于情况很复杂需要很多人很多部门协左 代表语言:C++, JAVA, ...

2019-02-25 17:08:23 111

原创 第一个小项目:日志分析处理

日志分析:概述生产中会出现大量的系统日志,生成中会生成大量的系统日志、应用程序日志、安全日志等等日志,通过对日志的分析可以了解服务器的负载、健康状况,可以分析客户的分布情况、客户的行为,甚至基于这些分析可以做出预测。一般采集流程 日志产出->采集(Logstash、Flume、Scribe)->存储->分析->存储数据库、NoSQL)->可视化开源实时日志分...

2019-02-17 22:05:43 447

原创 堆排序实现

堆排序代码origin = [0,9,8,7,6,5,4,3,2,1,32,42,23,42,32] #在前面加一个前导零 让索引位置对齐# 调整的结点起点在n//2的位置,保证所有调整的结点(就是起点)都有孩子结点# :param n: 待比较数的个数# :param i: 当前结点的下标# :param array: 待排序的数据# """def heap_adju...

2019-02-09 10:29:45 63

原创 python笔记第一节:基础知识

一:python解释器:CPython : c语言开发,最广泛的Python解释器IPython: 一个交互式,功能增强的CpythonPyPy : python语言写的Python解释器,JIT技术,动态编译Python代码Jython: python的源代码编译成java的字节码,跑在JVM上IronPython: 与Jyhon类似,运行在.Net平台的解释器。Python代...

2019-01-29 17:58:03 109

原创 作业练习

#求圆的半径跟周长 圆周率3.14r = int(input('Please enter the radius>>>'))c = 1while c: arce = 3.14*r*r perimeter = 2*3.14*r c -= 1 print('The area is:', arce) print('The perimete

2019-01-29 17:57:58 203

原创 Python:Ipython高级用法

Ipython支持一些简单的命令pwd:查看当前在那个工作目录ls :查看当前盘信息cd …:cd到其他目录 切换目录-dh:历史目录-oh:跟dh差不多 好像是标号-代表特殊意义帮助!ls感叹号ls 表示调用shell命令 但是会乱码 应该用**!dir** 就跟ls一样了!touch a.txt 创建一个文件魔术方法:一个%只影响一行%timei...

2019-01-29 17:57:51 158

原创 Python笔记第四节:字符串及其操作

字符串一个个字符组成的有序序列字符的集合 使用单引号,双引号,三引号引住的字符序列字符串是不可变对象Python3起 字符串就是Unicode类型字符串定义 初始化s1 = 'string's2 = "string"s3 = """ this is a &amp

2019-01-29 17:57:44 117

原创 Python笔记第五节:集合定义与操作 运算

肾是

2019-01-29 17:57:37 209

原创 Python时间模块使用

标准使用库 datetimedatetime使用先导入模块 :import datetime时间戳:时间戳是格林威治时间1970年1月1日0点到现在的秒数time:time.sleep(secs) 将调用线程挂起指定的秒数创建一个时间 : d1 = datetime.datetime.now() #这是当前时间 datetime.datetime.utcnow() #格...

2019-01-29 17:57:29 83

原创 Python列表解析式和生成器表达式

列表解析生成一个列表.对每一个元素自增1后平方返回新列表lst = list(range(10))newlist = [][ (i+1) ** 2 for i in range(1,11)]print(newlist)列表解析式语法:【返回值 for 元素 in 可迭代对象 if 条件】使用中括号【】,内部是for循环,if条件语句可选 但是不能出现else elif ...

2019-01-29 17:57:15 221

原创 Python笔记第六节:字典的定义,访问,增删

字典(dict)的定义key - value键值对的数据集合字典是可变的,无序的,key不能重复,key只能是不可变类型 可hash的字典(dict)的定义 初始化d = dict() 或者d = {} #定义空字典d1 = dict{a = 3,b = 4}d2 = {'a':10}dict(**kwargs) 使用可迭代对象和name= value键值对构造字典,不过可迭...

2019-01-29 17:57:08 216

原创 Python之内建函数

内建函数id():返回某个对象在内存中的地址id(id) id(a) 哈希 hash:返回一个对象的哈希值 hash字面常量int返回int本身 ,因为hash空间很大, %取模本身就是hashhash(a) hash(1) hash('1')type():返回对象的类型 type(type)返回自己本身type('a') #返回str类型type(1)...

2019-01-29 17:57:02 115

原创 python笔记第二节:内存管理 程序控制 循环

一:内存管理 :变量无需事先声明,也不用指定类型,这就是动态语言的特性python不同关心变量的存亡,也不用关系内存的管理python使用引用计数 引用数为0 GC就会来回收它 (计数增加 x=3 记作一次 x=4时 3就被忘记 然后GC清理)import sys 引入sys sys.getrefcount(变量名) :(查看变量引用计数的次数) 二:程序控...

2019-01-29 17:56:55 130

原创 python笔记第三节:基本数据类型操作

分类数值型:基本数据类型有int(整形),float(浮点),complex,bool(布尔) int,float,complex,bool都是class(类),1,2.0,2+3j都是对象即实例int:在python3中都是长整型没有大小限制,只受内存区域大小限制float:有整数部分和小数部分,支持十进制科学计数法complex:由实数和虚数部分组成,实数和虚数部分都是浮点数...

2019-01-29 17:56:48 212

原创 选择排序及其二元优化

#交换排序 简单版本# nums = [1,9,7,4,5,7,21,6,8,655,4]# length = len(nums)# count_swap = 0# count_iter = 0# for i in range(length):# maxindex = i# for j in range(i+1, length):# count_i...

2019-01-29 17:56:06 154

原创 Python笔记第七节:函数传参,默认值,返回值

函数:数学定义:y = f(x),y是x的函数,x是自变量。y = f(x0,x1…xn)Python函数:有若干个语句组成的语句块,函数名称,参数列表构成,它是组织代码最小的单元完成一定的功能。函数的作用:结构化编程对代码的最基本的封装,一般按照功能组织一段代码,封装的目的为了复用,减少冗余代码,让代码更加的简洁美观,可读易懂函数的分类:内建函数,如max(),reversed()等。库...

2019-01-29 17:55:58 778

原创 Python函数之:递归函数

函数执行流程:压栈 一层压一层递归Recursion:函数直接或者间接调用自身就是递归,递归需要有边界条件,递归前进段,递归返回段,递归一定一定要有边界条件,不然很容易崩溃 #递归函数举例 计算斐波那契数列‘ def fib(n): if n < 3: #这里就是递归的边界 当n小于5就return退出 return 1 return fib(...

2019-01-29 17:55:52 281

原创 Python笔记第八节:函数作用域

函数作用域函数嵌套:在一个函数中定义了另外一个函数,函数有可见范围,这就是《作用域》的概念,内部函数不能再外部使用,不然会抛出NameError异常,因为外部不能看见内部变量 称为不可见 #嵌套函数举例: def outer(): def inner(): print('inner') #打印inner print('outer') #打印puter ...

2019-01-29 17:55:45 124

原创 Python笔记第九节:匿名函数,生成器***

匿名函数 lambda什么是匿名函数呢:匿名函数即是没有名字的函数。匿名函数的定义:使用lambda关键字来定义匿名函数,参数列表不需要小括号,冒号是用来分割参数列表和表达式的,不需要再使用return语句,冒号右边就是函数的返回值,lambda表达式(匿名函数)只能写在一行上。被称为单行函数,lambda的主要用途在于高阶函数传参数时,使用lambda可以写出更简单的代码,简化代码lamb...

2019-01-29 17:55:38 136

原创 Python之:插入排序

num = [4,5,1,3,5,235,42,35,2,624,6]num = [0] + numlength = len(num)for i in range(2,length): num[0] = num[i] #放置哨兵 把num索引为2的放上去 j = i-1 #这里定义一个跟i有关系的变量j 每一次都把...

2019-01-29 17:55:32 84

原创 Python笔记第十节:高阶函数

First Class Object:函数在Python中是一等公民 可以自由出入。函数也是对象,是个可调用对象,函数也可以作为返回值,普通变量、参数等传给其他函数高阶函数:数学概念就是y = g(f(x))。那么 在计算机科学和数学中,高阶函数只要满足以下两点任意一个条件,那么这个函数就是高阶函数:1 接受一个或者多个函数作为参数 2:输出、 返回是一个函数高阶函数举例:def coun...

2019-01-29 17:55:24 121

原创 Python之:柯里化和装饰器*****

柯里化Currying:柯里化指的是将原本接受两个参数的函数变成新的接受一个参数的函数过程,新的函数返回一个以原有第二参数为参数的函数 如:z = f(x, y) 转换成 z = f(x)(y)柯里化举例: def add(x,y): return x+y柯里化之后为:把两个参数的函数变为一个参数的函数def add(x): #通过嵌套函数就可以柯里化了 def _add(y)...

2019-01-29 17:55:14 168

原创 Python笔记第十一节:参数注解,functools模块使用

函数定义的弊端:因为python不是静态编译型语言,变量类型是在运行期觉得的。python是动态语言,变量随时可以被赋值,且能赋值为不同的类型,动态语言很灵活,但是这种特性也是弊端,要是不做类型检查很难发现是什么类型,只有到运行期间问题才显现出来,或者线上运行时才暴露出问题。 难使用:函数的使用者不知道你的函数设计,不知道该传入什么类型的数据 容易出错那怎么解决这种动态语言的弊端呢 ,这时候就...

2019-01-29 17:55:03 135

原创 Python笔记之:树

树:树时非线性解构,每个元素可以有多个前驱和后继树是n(n>=0)个元素的集合:当n等于0时,称为空树,树只有一个特殊的没有前驱的元素,称为树的根Root。。。树中除了根节点外,其余元素只能有一个前驱,可以有零个或者多个后继递归定义:树(Tree)是n(n>=0)个元素的集合,n=0是空树,有且只有一个特殊元素根,剩余元素都可以被划分为m个互不相交的集合T1,T2,T3…Tm,而每...

2019-01-29 17:54:44 120

原创 Python第一次考试

1.对下面集合中随机取数字,要求取出的数字是3的倍数但不能是4的倍数,成功取到10个数字并对取到的所有数字求和输出import random# nums = list({5,10,3,8,6,10,9,15,24,30,27,48,24})# count = 0# total = 0# while True:# num = random.choice(nums)# i...

2019-01-29 17:54:33 899

原创 文件IO:文件操作

冯诺依曼体系解构冯诺依曼体系5大部件:CPU由运算器和控制器组成运算器:完成各种算数运算,逻辑运算,数据传输等数据加工处理控制器:控制程序的执行存储器:用于记忆程序和数据,列如内存输入设备:将数据或者程序输入到计算机中,列如键盘,鼠标输出设备:将数据或程序的处理结果展示给用户,列如显示器,打印机等文件IO的常见操作 1. columm() #column 2. open...

2019-01-29 17:54:13 205

原创 Python函数相关作业

把一个字典扁平化source = {'a':{'b':1,'c':2},'d':{'e':3,'f':{'g':4}}}def flatmap(src,dest=None): if dest is None: #如果是None就给dest一个新字典 dest = {} def _flatmap(src, prefix=''): ...

2019-01-29 17:53:56 279

原创 Python之封装解构用法

封装 结构 定义及其用法创建:元素必须依次对应 个数得一致 不然结构失败 返回都是元组 元组元组t1 = (1, 2) #定义就是元组 id(t1) id(t2) #这两个id号可不一样t2 = 1, 2 #将1和2封装成元组 a , b = (1, 2)a ,b = {1, 2} #这是seta , b = {'a':1, 'b‘:2} ...

2019-01-29 17:53:49 164

原创 装饰器的应用题:命令分发器,缓存

写一个命令分发器# def command_dispatcher():# cmd_table = {} #构造一个全局字典## def reg(cmd): # 写注册函数# def _reg(fn):# cmd_table[cmd] = fn# return fn# ...

2019-01-29 17:53:43 238

原创 StringIO和BytesIO

StringIO:IO模块中的一个类 用from io import StringIO 导入,用处是再内存中开辟一个文本模式的buffer,可以像文件一样操作它,当close方法被调用的时候,这个buffer也会被释放 方法跟文件操作一样这样做的好处:一般来说,磁盘的操作比内存的操作要慢很多,内存足够的情况下,一般的优化思路是少落地(少存储到磁盘),减少磁盘IO的过程,可以大大提高程序的运行...

2019-01-29 17:53:37 168

原创 文件路径操作

路径操作模块: os.path模块p = path.join('/etc', 'sysconfig', 'network')#创建目录 拼接一个路径print(type(p),p)print(path.dirname(p)) #拿到目录名print(path.basename(p)) #拿到基名 就是最好一部分print(path.join(path.dirname(p...

2019-01-29 17:53:28 255

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除