Python是一门弱类型语言,很多从C/C++转过来的朋友起初不是很适应。比如,在声明一个函数时,不能指定参数的类型。用C做类比,那就是所有参数都是void*类型!void类型强制转换在C++中被广泛地认为是个坏习惯,不到万不得已是不会使用的。Python自然没有类型强制转换一说了,因为它是动态语言。首先,所有对象都从Object继承而来,其次,它有强大的内省,如果调用某个不存在的方法会有异常抛出。大多数情况,我们都不需要做参数类型栓查,除了一些特殊情况。
系统 2019-09-27 17:47:04 2183
分析分析网站寻找需要的网址用谷歌浏览器摁F12打开开发者工具,然后打开斗鱼颜值分类的页面,如图:在里面的请求中,最后发现它是以ajax加载的数据,数据格式为json,如图:圈住的部分是我们需要的数据,然后复制它的网址为https://www.douyu.com/gapi/rknc/directory/yzRec/1,出于学习目的只爬取第一页(减少服务器压力)。然后把网址放到浏览器中测试是否可以访问。如图:结果正常。分析json数据,提取图片链接最后分析发现
系统 2019-09-27 17:46:57 2183
通俗的来说,Python中所谓的命名空间可以理解为一个容器。在这个容器中可以装许多标识符。不同容器中的同名的标识符是不会相互冲突的。理解python的命名空间需要掌握三条规则:第一,赋值(包括显式赋值和隐式赋值)产生标识符,赋值的地点决定标识符所处的命名空间。第二,函数定义(包括def和lambda)产生新的命名空间。第三,python搜索一个标识符的顺序是"LEGB"。所谓的"LEGB"是python中四层命名空间的英文名字首字母的缩写。最里面的一层是L
系统 2019-09-27 17:46:43 2183
在带有参数的的函数进行装饰时defpri(func):defone(*a,**b):#这里要带参func(*a,**b)#这里也要带参returnone@prideftest(*a,**b):#不定长参数print(a,b)test(1,2,a=2)对有返回值的函数进行装饰时defpri(func):defone():returnfunc()#要将func()返回returnone@prideftest():returnTrueprint(test())带
系统 2019-09-27 17:46:29 2183
刚来这个公司,熟悉了环境,老大就开始让我做一个迁移、修改代码的工作,我想说的是,这种工作真没劲~~,看别人的代码、改别人的代码、这里改个变量、那里改个文件名・・・・・・,都是些没技术含量、很繁琐的事情,不过通过迁移代码顺便熟悉下环境也好。扯了这么多,说说今天的主题吧――代码编码格式改变,由于某些原因,需要将代码从A机房迁移到B机房,这两个之间不能互相访问,但是历史原因导致A机房的代码全是utf8编码的,B机房要求是GBK编码,看看这个怎么解决。编码问题先说
系统 2019-09-27 17:45:49 2183
今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。1.装饰器入门1.1.需求是怎么来的?装饰器的定义很是抽象,我们来看一个小例子。复制代码代码如下:deffoo():print'infoo()'foo()这是一个很无聊
系统 2019-09-27 17:45:33 2183
本文提供了三种不同的方式在Python(IPythonNotebook)中调用ggplot。在大数据时代,数据可视化是一个非常热门的话题。各个BI的厂商无不在数据可视化领域里投入大量的精力。Tableau凭借其强大的数据可视化的功能成为硅谷炙手可热的上市公司。Tableau的数据可视化的产品,其理论基础其实是《TheGrammarofGraphic》,该书提出了对信息可视化的图表的语法抽象体系,数据的探索和分析可以由图像的语法来驱动,而非有固定的图表类型来
系统 2019-09-27 17:38:39 2183
python基于新浪sae开发的微信公众平台,实现功能:输入段子---回复笑话输入开源+文章---发送消息到开源中国输入快递+订单号---查询快递信息输入天气---查询南京最近五天天气状况输入微博热点---回复微博当前热门话题输入电影+名称---回复百度云盘中搜索的链接具体实现代码:#-*-coding:utf-8-*-importhashlibimportwebimportlxmlimporttimeimportosimporturllib2,jsoni
系统 2019-09-27 17:38:18 2183
我在工作的时候,在测试环境下使用的数据库跟生产环境的数据库不一致,当我们的测试环境下的数据库完成测试准备更新到生产环境上的数据库时候,需要准备更新脚本,真是一不小心没记下来就会忘了改了哪里,哪里添加了什么,这个真是非常让人头疼。因此我就试着用Python来实现自动的生成更新脚本,以免我这烂记性,记不住事。主要操作如下:1.在原先basedao.py中添加如下方法,这样旧能很方便的获取数据库的数据,为测试数据库和生产数据库做对比打下了基础。defselect
系统 2019-09-27 17:38:12 2183
Event机制作为重头戏,在ActionScript3.0中加强了很多。更加统一、易用、标准、灵活。ActionScript2.0中有众多的事件实现机制:[1b]回顾和比较[/1b]AS1.0玩家最爱用onClipEvent(),on(),又方便又直接。缺点在于逻辑分散到了各个舞台元件中,难以管理和维护。更加别说代码重用了。别跟俺说可以Copy,Paste,这不叫重用,这叫低级。AS2.0中,增加了一些事件处理机制:1.回调函数:onLoad,onComp
系统 2019-08-29 23:53:44 2183