04 2018 档案
摘要:现在用的kali linux是2018.1的版本,在安装openvas的时候报错,无法通过网络下载和安装openvas。 主要错误是源配置错误,可能现在用的kali很久没更新了。 一、解决和配置更新源问题 apt-get upgrade报错显示无法更新,apt-get install openvas
阅读全文
摘要:本文分为如下部分 引言——用@property批量使用的例子来引出描述器的功能 描述器的基本理论及简单实例 描述器的调用机制 描述器的细节 实例方法、静态方法和类方法的描述器原理 property装饰器的原理 描述器的应用 参考资料 引言 前面python面向对象的文章中我们讲到过,我们可以用@pr
阅读全文
摘要:python类中有一些方法前后都有两个下划线,这类函数统称为魔术方法。这些方法有特殊的用途,有的不需要我们自己定义,有的则通过一些简单的定义可以实现比较神奇的功能 我主要把它们分为三个部分,下文也是分为这三个部分来讲解的 简单,功能性,一般不修改直接调用查看结果 实现简单功能,定义后使用 实现比较复
阅读全文
摘要:本文通过创建几个类来覆盖python中类的基础知识,主要有如下几个类 Animal :各种属性、方法以及属性的修改 Dog :将方法转化为属性并操作的方法 Cat :私人属性讲解,方法的继承与覆盖 Tiger :子类定义时调用父类方法(super的使用) Animal python中的一个类中有属性
阅读全文
摘要:概念 谈到面向对象,很多程序员会抛出三个词:封装、继承和多态;或者说抽象、一切都是对象之类的话,然而这会让初学者更加疑惑。下面我想通过一个小例子来说明一下 面向对象一般是和面向过程做对比的,下面是一个简单功能的面向过程和面向对象形式 看上去只是调用的形式不同,本质没有什么差别,不过当代码量比较大的时
阅读全文
摘要:本次给大家介绍Python的多线程编程,标题如下: Python多线程简介 一个进程由若干个线程组成,在Python标准库中,有两个模块thread和threading提供调度线程的接口。介于thread是低级模块,很多功能还不完善,我们一般只会用到threading这个比较完善的高级模块,因此这里
阅读全文
摘要:进程和线程究竟是什么?如何使用进程和线程?什么场景下需要使用进程和线程?协程又是什么?协程和线程的关系和区别有哪些? 程序切换-CPU时间的分配 首先,我们的任何一个程序都需要运行在一个操作系统中,如 Windows XP, RedHat Linux, FreeBSD, AIX 等; 其次,在操作系
阅读全文
摘要:要了解二者的区别与联系,首先得对进程与线程有一个宏观上的了解。 进程,是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竟争计算机系统资源的基本单位。每一个进程都有一个自己的地址空间,即进程空间或(虚空间)。进程空间的大小 只与处理机的位数有关,一个 16 位长处理机的进程空间大
阅读全文
摘要:多线程理解 多线程是多个任务同时运行的一种方式。比如一个循环中,每个循环看做一个任务,我们希望第一次循环运行还没结束时,就可以开始第二次循环,用这种方式来节省时间。 python中这种同时运行的目的是最大化利用CPU的计算能力,将很多等待时间利用起来。这也说明如果程序耗时不是因为等待时间,而是任务非
阅读全文
摘要:本文分为如下几个部分 概念 地址问题 作为函数参数 可变参数在类中使用 函数默认参数 类的实现上的差异 概念 可变对象与不可变对象的区别在于对象本身是否可变。 python内置的一些类型中 可变对象:list dict set 不可变对象:tuple string int float bool 举一
阅读全文
摘要:SOCK_STREAM SOCK_DGRAM 关于UDP 关于TCP SOCK_STREAM 是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送。 SOCK_DGRAM 是无保障的面向消息的socket,主要用于在网络上发广播信息。 SOCK_STREAM是基于
阅读全文
摘要:Python 提供了两个基本的 socket 模块。 第一个是 Socket,它提供了标准的 BSD Sockets API。 第二个是 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。 下面讲的是Socket模块功能: 1、Socket 类型 套接字格式: socket
阅读全文
摘要:套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。它们允许程序接受并进行连接,如发送和接受数据。为了建立通信通道,网络通信的每个端点拥有一个套接字对象极为重要。和大多数语言一样,Python 支持面向连接和无连接,实现接口
阅读全文
摘要:前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。 面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说
阅读全文
摘要:电影故事例证:迭代——《明日边缘》递归——《盗梦空间》 迭代是更新变量的旧值。递归是在函数内部调用自身。 迭代是将输出做为输入,再次进行处理。比如将摄像头对着显示器;比如镜子对着镜子;比如KTV中将麦克对着音箱;比如机关枪扣动扳机发射子弹后,利用后座力继续扣动扳机。用程序表述就是:for (int
阅读全文
摘要:你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。 并发的关键是你有处理多个任务的能力,不一定要同时。并行的关键是你有
阅读全文
摘要:0x00 前言 搜索引擎语法是一个本该经常使用但是却一直被我忽略工具。它可以在很大程度上满足一些特殊需求,比如:渗透时查找网站后台或者上传文件页面等。 目前主要常用的搜索引擎主要baidu、google、bing,每个搜索引擎的语法有细微的差别,但是很多地都非常类似,由于google在国内经常无法访
阅读全文
摘要:时间片即CPU分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的。如果在时 间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。而不会造成CPU资源浪费。在 宏观上:
阅读全文
摘要:采用了多道程序设计技术的操作系统具有如下特性 : ① 并发性。它 是指两个或两个以上的事件或活动在同一时间间隔内发生。操作系统是一个并发系统,并发性是它的重要特征,操作系统的并发性指计算机系统中同时存在若干个运行着的程序,因此,它应该具有处理和调度多个程序同时执行的能力。 ②共享性。 共享指计算机系
阅读全文
摘要:模块间相互独立相互引用是任何一种编程语言的基础能力。对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义。对于编译型的语言,比如C#中的一个.cs文件,Java中的一个.java或者编译后的.class文件可以认为是一个模块(但常常不
阅读全文
摘要:sys.path 模块搜索路径的字符串列表。由环境变量PYTHONPATH初始化得到。 sys.path[0]是调用Python解释器的当前脚本所在的目录。 sys.argv 一个传给Python脚本的指令参数列表。 sys.argv[0]是脚本的名字(由系统决定是否是全名) 假设显示调用pytho
阅读全文
摘要:一:函数装饰函数 二:函数装饰类 三:类装饰函数 四:类装饰类 参考
阅读全文
摘要:解析路径路径解析依赖与os中定义的一些变量: os.sep-路径各部分之间的分隔符。 os.extsep-文件名与文件扩展名之间的分隔符。 os.pardir-路径中表示目录树上一级的部分。 os.curdir-路径中当前目录的部分。 split()函数将路径分解为两个单独的部分,并返回包含这些结果
阅读全文
摘要:本篇文章主要对 python logging 的介绍加深理解。更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件。 1. logging日志模块介绍 python的logging模块提供了灵活的标准模块,使得任何Python程序都可以使用这个第三方模块来实现日志
阅读全文
摘要:基本用法 下面的代码展示了logging最基本的用法。 除了这些基本用法,还有一些常见的小技巧可以分享一下。 格式化输出日志 记录异常信息 当你使用logging模块记录异常信息时,不需要传入该异常对象,只要你直接调用logger.error() 或者 logger.exception()就可以将当
阅读全文
摘要:介绍 我写这篇文章的主要目的是介绍装饰器的高级用法。如果你对装饰器知之甚少,或者对本文讲到的知识点易混淆。我建议你复习下装饰器基础教程。 本教程的目标是介绍装饰器的一些有趣的用法。特别是怎样在类中使用装饰器,怎样给装饰器传递额外的参数。 装饰器 vs 装饰器模式 Decorator模式是一个面向对象
阅读全文
摘要:第一步:最简单的函数,准备附加额外功能 第二步:使用装饰函数在函数执行前和执行后分别附加额外功能 第三步:使用语法糖@来装饰函数 第四步:使用内嵌包装函数来确保每次新函数都被调用 第五步:对带参数的函数进行装饰 第六步:对参数数量不确定的函数进行装饰 第七步:让装饰器带参数 第八步:让装饰器带 类
阅读全文
摘要:讲 Python 装饰器前,我想先举个例子,虽有点污,但跟装饰器这个话题很贴切。 每个人都有的内裤主要功能是用来遮羞,但是到了冬天它没法为我们防风御寒,咋办?我们想到的一个办法就是把内裤改造一下,让它变得更厚更长,这样一来,它不仅有遮羞功能,还能提供保暖,不过有个问题,这个内裤被我们改造成了长裤后,
阅读全文
摘要:Python入门之面向对象的__init__和__new__方法
阅读全文
摘要:对于Python而言,有一点是要认识明确的,python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清晰,更好维护,亦或想要在几个程序中均使用某个函数,而不必将其复制粘贴到所有程序中。 为了支持这一点,
阅读全文
摘要:本文绝大部分内容转载至:廖雪峰官方网站 1. 模块(Module) 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方
阅读全文
摘要:背景 Python中有一些基本的名词,很多人,尤其是一些初学者,可能听着就很晕。 此处,简单总结一下,module,library,package之间的大概区别。 Python中的module的简介 module,中文翻译为:模块 Python中的module,说白了,就是Python文件,而pyt
阅读全文
摘要:这篇文章主要介绍了Python 字典(Dictionary)的详细操作方法,需要的朋友可以参考下: Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。 一、创建字典字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下: 也可如此创建字典
阅读全文
摘要:HTTP、FTP、SMTP、Telnet等等协议,哦!那个HTTP协议啊就是访问网页用的那个协议啊然后那个······其实······你懂得,我们应该从实际来了解他,理解网络协议的作用与功能,然后再从根本来看他是具体怎么实现的。我们可以先从HTTP、FTP、DHCP、DNS、ARP等常见协议开始入手
阅读全文
摘要:请参考博客: https://blog.csdn.net/russell_tao/article/details/9111769
阅读全文
摘要:网络协议那么多,为什么面试喜欢问TCP?原因无外乎两个:1、TCP协议直接与进程打交道,写网络程序要用;2、TCP协议设计十分精巧,在一个不可靠的IP网络上实现了可靠传输,因为精巧,掌握TCP的原理自然也有难度,对它掌握如何,很能反映面试者的基础水平。闲言少叙,看看这几个问题你能不能答出来! 1、A
阅读全文
摘要:经常在笔试、面试或者工作的时候听到这些协议,虽然以前没怎么涉及过,但至少知道这些是和网络编程密不可分的知识,作为一个客户端开发程序员,如果可以懂得网络编程的话,他的作用和能力肯定会提升一个档次。原因很简单,这是个信息化时代,由于网络的存在使得人与人、人与网络的联系变得及其地紧密,游戏联网了才好玩,音
阅读全文
摘要:TCP与UDP解释 TCP 传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。 UDP 用户数据报协议,是一个简单的面向数据报的
阅读全文
摘要:理论技术:TCP/IP协议族(四)ICMP和IGMP协议! 应该先说IP协议的,后来考虑到层次性,还是先把支撑协议介绍完在细说IP!因为IP是我的最爱也是我的痛!呵呵! 一、ICMP协议 为什么要使用ICMP!使用ICMP的原因是什么呢? 先简单说下IP 不能做的!IP 不能提供差错控制和辅助机制(
阅读全文
摘要:本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是围绕如下三个问题: 这一篇我们先来看看单例模式。单例模式是设计模式中逻辑最简单,最容易理解的一个模式,简单到只需要一句话就可以理解,即“保证只有一个对象实例的模式”。问题的关键在于实现起
阅读全文
摘要:有些时候你的项目中难免需要一些全局唯一的对象,这些对象大多是一些工具性的东西,在Python中实现单例模式并不是什么难事。以下总结几种方法: 使用类装饰器 使用装饰器实现单例类的时候,类本身并不知道自己是单例的,所以写代码的人可以不care这个,只要正常写自己的类的实现就可以,类的单例有装饰器保证。
阅读全文
摘要:一、单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。 当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。例如,某个服务器程序的配置信息存放在一个文件中,客户通过一个AppConfig的类来读取配置文
阅读全文
摘要:Talk is cheap,Let's do this!
阅读全文
摘要:Python面向对象编程中,类中定义的方法可以是 @classmethod 装饰的 类方法 ,也可以是 @staticmethod 装饰的 静态方法 ,用的最多的还是不带装饰器的 实例方法 ,如果把这几个方法放一块,对初学者来说无疑是一头雾水,那我们该如何正确地使用它们呢? 先来个总结: 再来看一个
阅读全文
摘要:本章目录: 一、多态 二、多态性 三、鸭子类型 一、多态 多态指的是一类事物有多种形态. 动物有多种形态:人,狗,猪. linux中“一切皆文件”,文件具有可写可读特性: 二、多态性 1. 什么是多态动态绑定(在继承的背景下使用时,有时也称为多态性) 多态性是指在不考虑实例类型的情况下使用实例。 多
阅读全文
摘要:本章内容 Python面向对象的多态和继承对比 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。 比如,我们已经编写了一个名为An
阅读全文
摘要:本章内容 一、继承 二、抽象类 三、继承的实现原理 一、继承 1. 继承的定义 继承是一种新建类的方式,新建的类被称为子类,子类会继承父类的属性。 在Python中支持,一个子类(派生类——可以继承一个或者多个父类(基类或者超类) 2. 为什么要用继承 继承可以有效减少代码冗余 3. 如何使用继承
阅读全文
摘要:本章目录: 一、logging模块简介 二、logging模块的使用 三、通过JSON或者YMAL文件配置logging模块 一、logging模块简介 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,
阅读全文
摘要:一、字节编码的基础知识 一、计算机基础知识 二、计算机存取文件的过程(以巨硬公司的word编辑器为例) 三、Python解释器执行py文件的原理(以执行hello.py为例) 二、字节编码的介绍 一、什么是字节编码 二、Python运行过程中过涉及的字节编码 三、 字节编码的发展历史和分类 计算机最
阅读全文
摘要:本章重点: 理解在开发人标准软件时,如何布局项目目录结构,以及注意开发规范的重要性。 一、为什么要有好的目录结构 二、目录组织的方式 三、关于README的内容 四、关于requirements.txt和setup.py 一、为什么要有好的目录结构 好的设计项目目录结构,就和编码风格一样,是每个程序
阅读全文
摘要:该项目结合了ATM模版和购物车需求,整个思维导图用Python代码实现,使用思维导图可以清晰明了的看清整个框架; 过程中,用到了Python的知识有Python常用模块,Python常用内置包,logger模块等等基础知识。 需要高清PDF,PNG.XMIND文件的话,请在网盘下载(去掉混淆字),欢
阅读全文
摘要:Talk is cheap~ Let's do this! 配色效果图: 在网上搜了一大圈,没有能看的一清二楚的,注意本次Pycharm版本是2018.1,如果是别的版本,基本设置也是大同小异~ 看图说话: 1. File Setting Apperance & Behavior Theme: Da
阅读全文
摘要:本章目录: 一、三元表达式、列表推导式、生成器表达式 二、递归调用和二分法 三、匿名函数 四、内置函数 一、三元表达式、列表推导式、生成器表达式 1. 三元表达式 2. 列表推导式 3.生成器表达式 二、递归调用和二分法 1. 递归调用的定义 2. 递归分为两个阶段:递推,回溯 3. Python中
阅读全文
摘要:本章内容 迭代器 面向过程编程 一、什么是迭代 二、什么是迭代器 三、迭代器演示和举例 四、生成器yield基础 五、生成器yield的表达式形式 六、面向过程编程 一、什么是迭代 迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结
阅读全文