著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Repetitionisthemotherofalllearning.重复是学习之母。看、看、看、看、看,看视频,看书,看公众号…倘若学习编程只要看看书、看看视频、听听讲就能够学会,那编程本身也失去魅力了。现在大家图方便,搜集大堆大堆的视频教程去看,看的时候感觉都懂了。看完什么都忘了。要动手啊!你学编程,无论是工作,还是做自己的项目,都是要一行代码一行代码地去敲出来的。这个过程才是真正学习
系统 2019-09-27 17:51:10 1927
BeautifulSoup基础实战安装:pipinstallbeautifulsoup4常用指令:frombs4importBeautifulSoupasbsimporturllib.requestdata=urllib.request.urlopen("https://www.cnblogs.com/mcq1999/").read().decode("utf-8","ignore")bs1=bs(data)print(bs1.prettify())#格式
系统 2019-09-27 17:50:47 1927
python读取和保存图片5种方法对比python中对象之间的赋值是按引用传递的,如果需要拷贝对象,需要用到标准库中的copy模块方法一:利用PIL中的Image函数这个函数读取出来不是array格式,这时候需要用np.asarray(im)或者np.array()函数。区别:np.array()是深拷贝,np.asarray()是浅拷贝copy.copy浅拷贝只拷贝父对象,不会拷贝对象的内部的子对象。copy.deepcopy深拷贝拷贝对象及其子对象例子
系统 2019-09-27 17:50:45 1927
平时做数据处理基本离不了日志记录功能。每次都配置一堆挺烦人,索性封装个模块,这里记录一下,与大家共享。说明本日志模块目前只有一个方法getLogger,其他配置项通过参数传递,包括日志文件名,等级,日志文件划分方式,日志清除配置,日志格式等。logger.pyimportloggingfromloggingimporthandlers#日志级别字典__level_dict={'critical':logging.CRITICAL,'fatal':loggi
系统 2019-09-27 17:50:32 1927
元类编程装饰器任何时候你定义装饰器的时候,都应该使用functools库中的@wraps装饰器来注解底层包装函数.因为一个普通装饰器作用在某个函数上时,这个函数的重要的元信息比如名字、文档字符串、注解和参数签名都会丢失。但是@wraps不会。importtimefromfunctoolsimportwrapsdeftimethis(func):'''Decoratorthatreportstheexecutiontime.'''@wraps(func)de
系统 2019-09-27 17:50:24 1927
本文章面向有一定基础的python学习者,使用Pygame包开发一款简单的游戏首先打开命令行,使用PyPI下载Pygame包(输入命令pipinstallpygame)打开python编辑器(vs,IDLE,或其他),再引入包定义一些需要用到的数据先使用pygame包创建一个游戏窗口,然后使用循环将窗口展示出来,运行会出现下图现在定义一个可操控的小球类Player,draw()方法可以使它展示在屏幕上,update()方法让小球跟随鼠标移动类似的,定义不可
系统 2019-09-27 17:49:28 1927
更详细见:https://blog.csdn.net/Lord_sh/article/details/92653790>>>x=np.arange(0,16).reshape(4,4)>>>xarray([[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15]])>>>idx=[[1,0,0,0],[0,1,0,0],[0,1,0,0],[0,0,0,1]]>>>idx[[1,0,0,0],[0,1,0,0],[0,1,
系统 2019-09-27 17:49:14 1927
*args和**kwargs是常用的两个参数*args:用于接受多余的未命名的参数,元组类型。**kwargs:用于接受形参的命名参数,字典类型的数据。可变参数args:deffun(n,*args):print(n)print(args)#未拆包print(*args)#进行拆包fun(1,2,3,4)结果:1(2,3,4)234形参中的*args是接受数据的args,它是一个元组,把传入的数据放进args元组中。函数中的args仍然是元组,*args就
系统 2019-09-27 17:48:57 1927
下面通过几个案例来分析一下,注意:本节的parsematch函数请参考《妙用re.sub分析正则表达式解析匹配过程》案例一:>>>re.findall(r".*.*(.*)",'第二回悟彻菩提真妙理断魔归本合元神')['断魔归本合元神']>>>parsematch(r".*.*(.*)",'第二回悟彻菩提真妙理断魔归本合元神')第1次匹配,匹配情况:匹配子串group(0):第二回悟彻菩提真妙理断魔归本合元神,位置为:(0,19)匹配子串group(1):
系统 2019-09-27 17:48:48 1927
判断是否xx开始使用startswith示例代码:String="12345上山打老虎"ifstr(String).startswith('1'):#判断String是否以“虎”结尾print("有老虎")else:print("没老虎")执行结果:有老虎判断是否xx结尾使用endswith示例代码1:String="12345上山打老虎"ifstr(String).endswith('虎'):#判断String是否以“虎”结尾print("有老虎")el
系统 2019-09-27 17:48:27 1927