Python

Python的几个高级语法概念浅析(lambda表达式闭包装饰器)

1.匿名函数匿名函数(anonymousfunction)是指未与任何标识符绑定的函数,多用在functionalprogramminglanguages领域,典型应用场合:1)作为参数传给高阶函数(higher-orderfunction),如python中的built-in函数filter/map/reduce都是典型的高阶函数2)作为高阶函数的返回值(虽然此处的"值"实际上是个函数对象)与命名函数(namedfunction)相比,若函数只被调用1次

系统 2019-09-27 17:38:40 1499

Python

深入理解python函数递归和生成器

一、什么是递归如果函数包含了对其自身的调用,该函数就是递归的。递归做为一种算法在程序设计语言中广泛应用,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。例如,要计算1-9的9位数字的乘积,直观的算法是1*2*3*4*5*6*7*8*9,如果要计算1-10000的乘积,直观的算法就难于实现出,而递归就可以很简单的实现。请看示例:deffact(

系统 2019-09-27 17:38:31 1499

Python

使用虚拟环境打包python为exe 文件的方法

使用过anaconda环境下打包py文件的一点感悟,使用的是pyinstaller+anaconda环境下打包py文件打包:pyinstaller-F-w-ilogo.icoxxxx.py-F:强制打包-w:不带后台命令窗口-i:使用logo图标的地址需要打包的文件遇到的问题:1.首先对于使用anaconda打包py文件是存在问题的;1)打包出来的exe会很大,会打包很多关联库;2)而其中的一些关联库是没有用,而导入这些库会拖慢程序运行的效率。解决:使用虚

系统 2019-09-27 17:57:11 1498

Python

python 解析html

获取制定标签内容,以及HTML全部文本代码#-*-coding:utf-8-*-importrehtml="岗位职责:完成推荐算法、数据统计、接口、后台等服务器端相关工作必备要求:良好的自我驱动力和职业素养,工作积极主动、结果导向"#获得全部文本dr=re.compile(r'<[^>]+>',re.S)dd=dr.sub('',html)print(dd)print("*"*20)#取出p标签中的文本html_regex=r".*?(.*?)"resul

系统 2019-09-27 17:56:47 1498

Python

详解Python self 参数

1、概述1.1场景我们在使用Python中的方法method时,经常会看到参数中带有self,但是我们也没对这个参数进行赋值,那么这个参数到底是啥意思呢?2、知识点2.1成员函数(m)和普通方法(f)Python中的"类方法"必须有一个额外的第一个参数名称(名称任意,不过推荐self),而"普通方法"则不需要。m、f、c都是代码自动提示时的左边字母(method、function、class)#-*-coding:utf-8-*-classTest(obj

系统 2019-09-27 17:56:05 1498

Python

python实现多线程端口扫描

一个简易的TCP端口扫描器,使用python3实现。需求:扫描目标网站开放哪些端口号,将所有开放的端口号输出。分析:使用socket连接,如果连接成功,认为端口开放,如果连接失败,认为端口关闭(有可能端口开放但连接失败,这里简单认为端口不开放)使用到的库:socket,threading过程:先定义一个函数,对给定的(ip,port)进行扫描,看其是否能连接成功。deftcpPortScan(ip,port,openPort):sock=socket.so

系统 2019-09-27 17:55:41 1498

Python

Python3多线程版TCP端口扫描器

本文实例讲述了python数据结构之Array用法,分享给大家供大家参考。具体方法如下:importctypesclassArray:def__init__(self,size):assertsize>0,"Arraysizemustbe>0"self._size=sizepyArrayType=ctypes.py_object*sizeself._elements=pyArrayType()self.clear(None)defclear(self,va

系统 2019-09-27 17:55:37 1498

Python

MAC OS中多版本python管理

Mac中python多版本切换管理step1.$sudovi~/.bashrcstep2.命令行中输入aliaspython2=’/…/Versions/2.x/bin/python2.x’aliaspython3=’/…/Versions/3.x/bin/python3.x’Step3.刷新$source~/.bashrcStep4、验证在终端输入python2即代表是Python2.x版本,输入python3即代表是Python3.x版本。Mac设置默

系统 2019-09-27 17:55:04 1498

Python

python pytest进阶之xunit fixture详解

前言今天我们再说一下pytest框架和unittest框架相同的fixture的使用,了解unittest的同学应该知道我们在初始化环境和销毁工作时,unittest使用的是setUp,tearDown方法,那么在pytest框架中同样存在类似的方法,今天我们就来具体说明。先附上官方文档的一段说明1.每个级别的setup/teardown都可以多次复用2.如果相应的初始化函数执行失败或者被跳过则不会执行teardown方法3.在pytest4.2之前,xu

系统 2019-09-27 17:54:40 1498

Python

python_Daily practice (每日一练) 96

关卡二:1.练习题1面向对象的理解要求:在类内定义一个可以重新设置私有属性name的函数条件为字符串长度小于10,才可以修改.答:defSetName(self,newname):iflen(newname)<10:self.__name=newnameelse:print("error:名字太长!")在创建一个类之后需要调用什么函数?答:应调用__del__()函数.del()方法是手动调用还是类默认调用?答:手动调用如何访问对象的属性?答:使用(.)来

系统 2019-09-27 17:54:18 1498

Python

python安装Scrapy图文教程

安装方法pipinstallScrapy如果顺利的话不用管直接一路下来就OK验证是否安装成功安装成功不顺利的情况1)lxml安装不成功使用whl进行安装,不过需要先安装whlpipinstallwheel安装完成后下载lxml的whl文件网址:http://www.lfd.uci.edu/~gohlke/pythonlibs/whl版本挑选进入cmd――>importpip――>printpip.pep425tags.get_supported(),按照截

系统 2019-09-27 17:54:03 1498

Python

Python面向对象编程——简介

Python面向对象编程——简介编程范式编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程。一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种不同的方式,对这些不同的编程方式的特点进行归纳总结得出来的编程方式类别,即为编程范式。不同的编程范式本质上代表对各种类型的任务采取的不同的解决问题的思路,大多数语言只支持一种编程范式,当然也有些语言可以同时支持多种编程范式。两种最

系统 2019-09-27 17:54:01 1498

Python

Linux下Python获取IP地址的代码

《lnmp一键安装包》中需要获取ip地址,有2种情况:如果服务器只有私网地址没有公网地址,这个时候获取的IP(即私网地址)不能用来判断服务器的位置,于是取其网关地址用来判断服务器在国内还是国外(脚本为了使国内用户快速下载,yum源自动设置成163,这个情况就需要获取网关地址);如果服务器有公网地址,这时获取的IP地址可用来直接判断服务器地理位置。获取服务器IP,如果有公网地址就取公网地址,没有公网地址就取私网网址下面是之前我用shell来获取本地IP脚本:

系统 2019-09-27 17:53:41 1498

Python

Python Queue模块详解

Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。创建一个“队列”对象importQueueq=Queue.Queue(maxsize=10)Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。将一个值放入队列中q.put(10)调用队列对

系统 2019-09-27 17:53:36 1498

Python

Python语法速查: 1. 数据类型与内置函数

(1)常用内置数据类型分类类型名称描述数字int整数float浮点数complex复数bool布尔值序列str字符串(不可变序列)list列表tuple元组(不可变序列)range整数范围(不可变序列)bytes字节数组(不可变序列)bytearray可变字节数组映射dict字典集合set可变集合frozenset不可变集合NoneNoneType空对象,它没有任何属性(2)类型检查常用方法用法类型描述举例id(实例)内置函数返回一个对象的身份(整数)id

系统 2019-09-27 17:53:28 1498