先看之前写的代码:i=0defhhh():globaliprint(i)ifi==3:returnii=i+1hhh()print(hhh())结果应该输出01233但实际却是:0123None这是为什么呢?首先,Return的用法,调用函数的时候,如果没有执行return命令(或return命令未接收数据),默认会返回none这里if判断生效,确定应该执行了return命令,也接收到了全局变量i,但为什么结果和预想不一样呢?这里主要是由于函数递归的使用导
系统 2019-09-27 17:47:32 2358
本文实例讲述了Python中dictionaryitems()系列函数的用法,对Python程序设计有很好的参考借鉴价值。具体分析如下:先来看一个示例:importhtml#availableonlyinPython3.xdefmake_elements(name,value,**attrs):keyvals=['%s="%s"'%itemforiteminattrs.items()]attr_str=''.join(keyvals)element='<{
系统 2019-09-27 17:46:31 2358
调试程序的时候,就吃过这个亏,不知道为何Python使用括号做元组声明边界符,估计是找不到合适的符号了。中括号用来声明列表,花括号用来声明字典,元组号只能用括号来声明了。有其他语言编程经历的朋友都清楚括号在其它语言里都是表示优先级,而Python也可以用来表示优先级,所以也就引发了以下白痴的问题。复制代码代码如下:#encoding=UTF-8obj=('tuple')printobjprinttype(obj)printlen(obj)执行结果复制代码代
系统 2019-09-27 17:46:11 2358
list是Python中使用最频繁的数据类型,标准库里面有丰富的函数可以使用。不过,如果把多维列表转换成一维列表(不知道这种需求多不多),还真不容易找到好用的函数,要知道Ruby、Mathematica、Groovy中可是有flatten的啊。如果列表是维度少的、规则的,还算好办例如:li=[[1,2],[3,4],[5,6]]print[jforiinliforjini]#orfromitertoolsimportchainprintlist(chain
系统 2019-09-27 17:38:27 2358
python3.6threading和multiprocessing四核+三星250G-850-SSD自从用多进程和多线程进行编程,一致没搞懂到底谁更快。网上很多都说python多进程更快,因为GIL(全局解释器锁)。但是我在写代码的时候,测试时间却是多线程更快,所以这到底是怎么回事?最近再做分词工作,原来的代码速度太慢,想提速,所以来探求一下有效方法(文末有代码和效果图)这里先来一张程序的结果图,说明线程和进程谁更快一些定义并行是指两个或者多个事件在同一
系统 2019-09-27 17:54:48 2357
写的dht协议搜索的程序,这几天优化了一下发现速度确实快了好多。但是出现了一个新的问题,内存直接飙升,我开了十个爬虫占用内存800m。开始我以为是节点太多了,找了几个小问题修改一下,发现没用。后来就到网上查找python内存分析的工具,查了一点资料发现python有个meliae库操作非常方便,就使用分析了一下,发现不是节点太多的原因00,是保存发送的t_id,用来标示返回的消息是那个发出的一个字典过大了。从分析的结果非常容易的定位了某个对象的数量和大小,
系统 2019-09-27 17:52:11 2357
我想要向您介绍能想像到的开始GUI编程的最简单方法,就是使用Scriptics的TK和Tkinter封装器。我们将与developerWorks中的“Python中的curses编程”提到的curses库进行很多比较。除了curses实现文本控制台而TK实现GUI这一差别之外,这两个库有着惊人相似的接口。在使用任何一个库之前,需要基本了解窗口和事件循环,并参考可用的窗口小部件。(好,好的参考和适量的练习。)如同关于curses的文章,本文仅讨论Tkinte
系统 2019-09-27 17:50:00 2357
列表中的元素是有自己明确的“位置”的,所以即使看似相同的元素,只要在列表所处的位置不同,它们就是两个不同的列表。而字典相比起来就显得随和很多,调动顺序也不影响。因为列表中的数据是有序排列的,而字典中的数据是随机排列的。列表有序,要用偏移量定位;字典无序,便通过唯一的键来取值列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表。如何取到最后的小芳列表与字典嵌套取数关键看最外面的是[]还是{}一个列表需要用中括号[]把里面的各种数据框起来,里面的每一个数据叫作
系统 2019-09-27 17:49:33 2357
1、如何快速入门Python?我之前给大家说过,速成一门技能是不可能的,你需要花很多时间才能真正的掌握一门技能,但是快速入门是有可能的,而且也是必要的,你需要掌握最少且最必要的知识点,先进门再说。其实编程,都有最基础的知识点,而且这些知识点都是共通的,什么意思?就是如果知道了这些知识点,那么你学习其他编程语言的时候,会很快就上手。这是因为编程有最少且最必要的知识。回到Python来,Python的最少且最必要的知识点是什么呢?其实我之前分享过的Python
系统 2019-09-27 17:47:13 2357
大数据文摘授权转载自数据派THU作者:MOHDSANADZAKIRIZVI本文主要介绍了:TensorFlow.js(deeplearn.js)使我们能够在浏览器中构建机器学习和深度学习模型,而无需任何复杂的安装步骤。TensorFlow.js的两个组件——CoreAPI和LayerAPI。了解如何构建一个很棒的使用Tensorflow.js对网络摄像头中的图像进行分类的模型。概述你最喜欢用什么工具来编写机器学习模型?数据科学家们对这个永恒的问题会给出各种
系统 2019-09-27 17:46:17 2357
程序思路:此次程序主要是利用PIL(PythonImageLibraty)这库,来进行图片的处理。PIL是一个功能非常强大的python图像处理标准库,但由于PIL只支持python2.7。如今很多python程序员都使用python3.x,所以PIL在之前的基础上分离出来一个分支,另外创建一个Pillow库,以便支持python3.x,本程序在使用之前确保已经安装了Pillow库。程序首先把你要分隔的图像读取到一个变量中,然后我们定义了一个fill_im
系统 2019-09-27 17:55:55 2356
Python之流程控制——while循环一、语法while条件:执行代码while就是当的意思,它指当其后面的条件成立,就执行while下面的代码。例:写一个从0打印到10的程序count=0whilecount<=10:print('第%s次'%count)count+=1如果要打印1~10之间的偶数怎么办呢?那就得先搞清楚,怎么判断一个数字是偶数?能被2整除的就是偶数,但如何判断这个数是否能被2整除呢?简单,直接判断这个数除以2之后的余数是否为0就行了
系统 2019-09-27 17:55:03 2356
python获取mysql库信息/表信息/表结构/索引核心代码来自https://github.com/cookieY/Yearning此项目con_database.pyimportpymysqlclassSQLgo(object):def__init__(self,ip=None,user=None,password=None,db=None,port=None):self.ip=ipself.user=userself.password=passwo
系统 2019-09-27 17:53:48 2356
目录:1、%用法2、format用法一、%用法1、整数的格式化%o——oct八进制%d——dec十进制%x——hex十六进制例>>>print('%o'%20)24>>>print('%d'%20)20>>>print('%x'%20)142、浮点数的格式化%e——保留小数点后面六位有效数字,指数形式输出%.3e,保留3位小数位,使用科学计数法%f——保留小数点后面六位有效数字%.3f,保留3位小数位%g——在保证六位有效数字的前提下,使用小数方式,否则使
系统 2019-09-27 17:52:22 2356
最近在工作中遇到了嵌套多层的json串,不仅包括类似于python字典的嵌套,里面还有数组的嵌套。具体的例子如下,在这里列举了三个例子,其实处理了大约500万条,虽然嵌套也挺多,但相对于专业的爬虫工程师来说,这肯定是小意思而已。这个json串的意思是一个企业所对应的规则,前面是企业的id(因为保密,所以企业id肯定更改了),因为本人是在滴滴,所以对应的规则当然是用车规则了,还是因为保密,所以规则的具体内容也不介绍了,只需要知道json串中的一个键值对对应一
系统 2019-09-27 17:52:16 2356