廖雪峰Python教程笔记(六)8模块使用模块8模块在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。模块的好处:最大的好处是大大提高了代码的可维护性。引用其他模块,编写代码不必从零开始可以避免函数名和变量名冲突,尽量不要与内置函数名字
系统 2019-09-27 17:54:19 2174
python最大深度最小深度LeetCode104,111解法:1、BFS:寻找最大深度的时候,很容易想到就是,可以直接进行层次遍历,当无法在进行遍历下去的时候就是最深的深度;当寻找最小深度的时候,对每一个节点检查它是否是叶子节点,也就是检查它是否有左子树和右子树。2、DFS:每次进行遍历的时候,要判断是否是叶子节点,更新max深度的值和min深度的值。BFS版本#Definitionforabinarytreenode.#classTreeNode(ob
系统 2019-09-27 17:54:14 2174
本文实例为大家分享了Python获取指定网页源码的具体代码,供大家参考,具体内容如下1、任务简介前段时间一直在学习Python基础知识,故未更新博客,近段时间学习了一些关于爬虫的知识,我会分为多篇博客对所学知识进行更新,今天分享的是获取指定网页源码的方法,只有将网页源码抓取下来才能从中提取我们需要的数据。2、任务代码Python获取指定网页源码的方法较为简单,我在Java中使用了38行代码才获取了网页源码(大概是学艺不精),而Python中只用了6行就达到
系统 2019-09-27 17:53:37 2174
为了配合LogStash日志收集服务,需要将线上服务的日志输出改为json格式。python日志标准库中并没有json格式的formatter,网上虽然已经有一些json相关的formatter,但不是很满意,就自己开发了一个并放到了github和pypi,目前仅支持Python3,能够很方便的解决自定义名映射属性问题,也支持新增自定义属性。欢迎到我的github点星星、提问题:https://github.com/MyColorfulDays/jsonf
系统 2019-09-27 17:53:20 2174
在Udacity上课时学到了python的turtle方法,这是一个很经典的用来教小孩儿编程的图形模块,最早起源于logo语言。python本身内置了这个模块,其可视化的方法可以帮助小孩儿对编程的一些基本理念有所理解。在作业提交的论坛里看到很多turtle画出来的精美图形,想不出什么要画的东西,于是决定拿五星红旗来练练手。前期准备五星红旗绘制参数Turtle官方文档turtle的基本操作#初始化屏幕window=turtle.Screen()#新建turt
系统 2019-09-27 17:53:00 2174
在shell(bash)下有2个很基本的功能,那就是tab补全,和clear清屏,对于我这种时不时不自觉的就手残要clear清屏一下的人来说,python控制台不能清屏很不爽,经过google的帮忙,找到了解决办法。执行“manpython”可以看到这样一个环境变量:PYTHONSTARTUPIfthisisthenameofareadablefile,thePythoncommandsinthatfileareexecutedbeforethefirst
系统 2019-09-27 17:52:47 2174
前几天看到一个关于Python的面试题lst=[1,2,[3]]lst1=lst*2#[1,2,[3],1,2,[3]]lst1[2].append(4)#[3,4]print(lst1)开始时,就处理错了。最终上机测试发现,乘法貌似是内存地址的拷贝。也就是说lst1[2]和lst1[5]都指向同一个对象,最终lst1结果如下:print(lst1)#[1,2,[3,4],1,2,[3,4]]
系统 2019-09-27 17:52:30 2174
本文为大家分享了pythontkinter图形界面代码统计工具的更新版,供大家参考,具体内容如下代码统计工具修改了导出excel功能,把原来的主文件进行了拆分code_count_windows.py#encoding=utf-8importos,sys,timefromcollectionsimportdefaultdictfromtkinterimport*importtkinter.messageboxfromtkinterimportttkfrom
系统 2019-09-27 17:52:04 2174
讨论采用*模糊导入或者单独导入变量会在不同文件生成不同的对象.a└──mypackage├──a.py├──b.py├──c.pyb.py内容如下importcdefb():print("b方法开始")print(c.config)print(id(c.config))c.py内容如下config="ONCE"a.py内容如下importbimportcdefa():print(c.config)c.config="TWO"print(c.config)p
系统 2019-09-27 17:51:09 2174
本来我一直不知道怎么来更好地优化网页的性能,然后最近做python和php同类网页渲染速度比较时,意外地发现一个很简单很白痴但是我一直没发现的好方法(不得不BS我自己):直接像某些php应用比如Discuz论坛那样,在生成的网页中打印出“本页面生成时间多少多少秒”,然后在不停地访问网页测试时,很直观地就能发现什么操作会导致瓶颈,怎样来解决瓶颈了。于是我发现SimpleCD在生成首页时,意外地竟然需要0.2秒左右,真真不能忍:对比Discuz论坛首页平均生成
系统 2019-09-27 17:50:42 2174
写在最前面:带你从最简单的二叉树构造开始,深入理解二叉树的数据结构,ps:不会数据结构的程序猿只能是三流的首先,我们构造一个二叉树这是最标准,也是最简单的二叉树构造方法'''树的构建:3920157'''classTree():'树的实现'def__init__(self,data,left=0,right=0):self.left=leftself.right=rightself.data=datadef__str__(self):returnstr(s
系统 2019-09-27 17:47:24 2174
本文对Python爬虫常用的模块做了较为深入的分析,并以实例加以深入说明。分享给大家供大家参考之用。具体分析如下:creepy模块某台湾大神开发的,功能简单,能够自动抓取某个网站的所有内容,当然你也可以设定哪些url需要抓。地址:https://pypi.python.org/pypi/creepy功能接口:set_content_type_filter:设定抓取的content-type(header中的contenttype)。包括text/htmla
系统 2019-09-27 17:45:57 2174
获取带有中文参数的url内容对于中文的参数如果不进行编码的话,python的urllib2直接处理会报错,我们可以先将中文转换成utf-8编码,然后使用urllib2.quote方法对参数进行url编码后传递。content=u'你好sharejs.com'content=content.encode('utf-8')content=urllib2.quote(content)api_url='http://www.sharejs.com/q=%s'%co
系统 2019-09-27 17:38:06 2174
方法链(methodchaining)是面向对象的编程语言中的一种常见语法,可以让开发者在只引用对象一次的情况下,对同一个对象进行多次方法调用。举个例子:假设我们有一个Foo类,其中包含有两个方法――bar和baz。我们创建一个Foo类的实例:foo=Foo()如果不使用方法链,要想连续调用对象foo的bar和baz方法的话,我们得这样做:foo.bar()#Callmethodbar()onobjectfoo.foo.baz()#Callmethodba
系统 2019-09-27 17:38:00 2174
在开始后面的内容之前,先来解释一下urllib2中的两个个方法:infoandgeturlurlopen返回的应答对象response(或者HTTPError实例)有两个很有用的方法info()和geturl()1.geturl():这个返回获取的真实的URL,这个很有用,因为urlopen(或者opener对象使用的)或许会有重定向。获取的URL或许跟请求URL不同。以人人中的一个超级链接为例,我们建一个urllib2_test10.py来比较一下原始U
系统 2019-08-29 23:21:08 2174