Python - 军军小站|张军博客
Python

Python 正则表达式 re.match/re.search/re.sub

FromPython正则表达式re.match(pattern,string,flags=0)尝试从字符串起始位置匹配一个模式;如果不是起始位置匹配成功,则re.match()返回none.匹配成功,re.match()返回一个匹配的对象,否则返回None.pattern-匹配的正则表达式string-要匹配的字符串flags-标志位,控制正则表达式的匹配方式,如,是否区分大小写,多行匹配等.e.g.#!/usr/bin/python#-*-coding:

系统 2019-09-27 17:46:48 1829

Python

Python 中的 global 标识对变量作用域的影响

global标识用于在函数内部,修改全局变量的值。我们可以通过以下规则,来判定一个变量到底是在全局作用域还是局部作用域:变量定义在全局作用域,那就是全局变量。变量在函数中定义,并且加了global标识,就是全局变量。如果变量在函数中仅做了定义,那么就是局部变量。如果变量在函数中仅仅是使用,那么就是全局变量。下面的示例,有助于理解上述规则:defcook():globaldumplingsdumplings='10'#全局变量print('cook():'+

系统 2019-09-27 17:46:12 1829

Python

python3爬虫之入门基础和正则表达式

前面的python3入门系列基本上也对python入了门,从这章起就开始介绍下python的爬虫教程,拿出来给大家分享;爬虫说的简单,就是去抓取网路的数据进行分析处理;这章主要入门,了解几个爬虫的小测试,以及对爬虫用到的工具介绍,比如集合,队列,正则表达式;用python抓取指定页面:代码如下:importurllib.requesturl="http://www.baidu.com"data=urllib.request.urlopen(url).rea

系统 2019-09-27 17:45:49 1829

Python

Python中的默认参数详解

文章的主题不要使用可变对象作为函数的默认参数例如list,dict,因为def是一个可执行语句,只有def执行的时候才会计算默认默认参数的值,所以使用默认参数会造成函数执行的时候一直在使用同一个对象,引起bug。基本原理在Python源码中,我们使用def来定义函数或者方法。在其他语言中,类似的东西往往只是一一个语法声明关键字,但def却是一个可执行的指令。Python代码执行的时候先会使用compile将其编译成PyCodeObject.PyCodeOb

系统 2019-09-27 17:45:28 1829

Python

Python常见数据结构详解

本文详细罗列归纳了Python常见数据结构,并附以实例加以说明,相信对读者有一定的参考借鉴价值。总体而言Python中常见的数据结构可以统称为容器(container)。而序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。一、序列(列表、元组和字符串)序列中的每个元素都有自己的编号。Python中有6种内建的序列。其中列表和元组是最常见的类型。其他包括字符串、Unicode字符串、buffer对象和xrange对象。下面重点介绍下列表

系统 2019-09-27 17:38:35 1829

Python

Python内建数据结构详解

一、列表(List)list是一个可以在其中存储一系列项目的数据结构。list的项目之间需用逗号分开,并用一对中括号括将所有的项目括起来,以表明这是一个list。下例用以展示list的一些基本操作:#定义一个list对象class_list:class_list=['Michael','Bob','Tracy']#获得一个class_list的长度print'classhave',len(class_list),'students'#访问class_lis

系统 2019-09-27 17:38:23 1829

Python

浅谈Python中函数的参数传递

1.普通的参数传递>>>defadd(a,b):returna+b>>>printadd(1,2)3>>>printadd('abc','123')abc1232.参数个数可选,参数有默认值的传递>>>defmyjoin(string,sep='_'):returnsep.join(string)>>>myjoin('Test')'T_e_s_t'>>>myjoin('Test',';')'T;e;s;t'?>>>defmyrange(start=0,st

系统 2019-09-27 17:38:15 1829

Python

python 循环while和for in简单实例

python循环while和forin简单实例#!/uer/bin/envpython#_*_coding:utf-8_*_lucknumber=5b=0whileb<3:print('gusscount:',b)a=int(input('yougusenumber'))ifa>lucknumber:print('youaerbiger')elifa==lucknumber:print('youarerighet')break#跳出这个层级的循环else:

系统 2019-09-27 17:37:36 1829

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 1828

Python

python线程基础

一基本概念1并行和并发1并行,parallel同时做某些事,可以互不干扰的同一时刻做几件事如高速公路上的车道,同一时刻,可以有多个互不干扰的车运行在同一时刻,每条车道上可能同时有车辆在跑,是同时发生的概念2并发,concurrency也是同时做某事,但强调的是同一时段做了几件事。并行是可以解决并发问题的。2并发的解决1队列,缓冲区队列:排队就是队列,先进先出,解决了资源使用的问题。缓冲区:排程的队列,其实就是一个缓冲地带,就是缓冲区优先队列:对比较重要的事

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

Python

python和shell实现的校验IP地址合法性脚本分享

一、python校验IP地址合法性执行效果:python代码:复制代码代码如下:[root@yangpython]#vicheck_ip.py#!/usr/bin/pythonimportos,sysdefcheck_ip(ipaddr):importsysaddr=ipaddr.strip().split('.')#切割IP地址为一个列表#printaddriflen(addr)!=4:#切割后列表必须有4个参数print"checkipaddressf

系统 2019-09-27 17:55:01 1828

Python

Tornado协程在python2.7如何返回值(实现方法)

错误写法classRemoteHandler(web.RequestHandler):@gen.coroutinedefget(self):response=httpclient('http://www.baidu.com')self.write(response.body)@gen.coroutinedefhttpClient(url):result=yieldhttpclient.AsyncHTTPClient().fetch(url)returnre

系统 2019-09-27 17:55:01 1828

Python

python_面向对象三大特性-多态

定义:不同的子类对象调用相同的父类方法,产生不同的执行结果多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而多态的概念依赖于继承)多态是调用方法的技巧,不会影响到类的内部设计关键点:继承改写(重载)#定义狗类classDog:defwork(self):print("狗是人类的好朋友")#定义警犬类classArmyDog(Dog):defwork(self):print('追击敌人')#定义缉毒犬类classDrugDog(Dog):defwor

系统 2019-09-27 17:54:27 1828

Python

用 Python 加密文件

生活中,有时候我们需要对一些重要的文件进行加密,Python提供了诸如hashlib,base64等便于使用的加密库。但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而强化自身的编程能力。记得给公众号加个星标,不会错过精彩内容。基础知识在Python中异或操作符为:^,也可以记作XOR。按位异或的意思是:相同值异或为0,不同值异或为1。具体来讲,有四种可能:0^0=0,0^1=1,1^0=1,1^1=0。我们还可总结出规律(A为0或

系统 2019-09-27 17:54:26 1828

Python

基于Python对象引用、可变性和垃圾回收详解

变量不是盒子在示例所示的交互式控制台中,无法使用“变量是盒子”做解释。图说明了在Python中为什么不能使用盒子比喻,而便利贴则指出了变量的正确工作方式。变量a和b引用同一个列表,而不是那个列表的副本>>>a=[1,2,3]>>>b=a>>>a.append(4)>>>b[1,2,3,4]如果把变量想象为盒子,那么无法解释Python中的赋值;应该把变量视作便利贴,这样示例中的行为就好解释了注意:对引用式变量来说,说把变量分配给对象更合理,反过来说就有问题

系统 2019-09-27 17:53:57 1828