在表达式中引用变量时,Python会按照如下的顺序遍历各个作用域,寻找该变量:当前函数作用域任何外围作用域(比如包含当前函数的其他函数)global作用域,即代码所在的模块的作用域如果上述作用域内都找不到变量,就会报NameError异常。但是对变量赋值时,规则会有所不同。如果当前作用域变量已存在,那么其值会被替换。如果不存在,则会视为在当前作用域定义新变量,而不是向外围作用域中寻找。如下函数deffunction():flag=Truedefhelper
系统 2019-09-27 17:46:14 1997
利用twitter/bootstrap,项目的基础模板算是顺利搞定。接下来开始处理用户中心。用户中心主要包括用户登陆、注册以及头像等个人信息维护。此前,用户的注册管理我一直使用django-registration。只是这个APP有些不思进取,09年发布了0.8alpha版后就一直没什么动静。这次决定尝试另外一个用户模块组件django-userena。相比django-registration,django-userena的功能要完善的多。除基础的登陆注
系统 2019-09-27 17:46:12 1997
安装SDK:pipinstallbaidu-aip如果在pycharm里也可以在setting----ProjectInterpreter---右边绿色加号,输入baidu,安装baidu-aip入门代码:先去百度AI开放平台注册一个账号,然后开通人脸识别,免费的http://ai.baidu.com/tech/face之后把得到的Apikeysecretkey填进去。fromaipimportAipFace"""你的APPIDAKSK"""APP_ID=
系统 2019-09-27 17:45:59 1997
保证只能运行一个脚本实例,方法是程序运行时监听一个特定端口,如果失败则说明已经有实例在跑。使用装饰器实现,便于重用复制代码代码如下:importfunctoolsdefjust_one_instance(func):'''装饰器如果已经有实例在跑则退出复制代码代码如下::return:'''@functools.wraps(func)deff(*args,**kwargs):importsockettry:#全局属性,否则变量会在方法退出后被销毁globa
系统 2019-09-27 17:45:27 1997
心血来潮写了个多线程抓妹子图,虽然代码还是有一些瑕疵,但是还是记录下来,分享给大家。Pic_downloader.py#-*-coding:utf-8-*-"""CreatedonFriAug0717:30:582015@author:Dreace"""importurllib2importsysimporttimeimportosimportrandomfrommultiprocessing.dummyimportPoolasThreadPooltype
系统 2019-09-27 17:38:32 1997
1、python多进程编程背景python中的多进程最大的好处就是充分利用多核cpu的资源,不像python中的多线程,受制于GIL的限制,从而只能进行cpu分配,在python的多进程中,适合于所有的场合,基本上能用多线程的,那么基本上就能用多进程。在进行多进程编程的时候,其实和多线程差不多,在多线程的包threading中,存在一个线程类Thread,在其中有三种方法来创建一个线程,启动线程,其实在多进程编程中,存在一个进程类Process,也可以使用
系统 2019-09-27 17:38:21 1997
列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。排序,数字、字符串按照ASCII,中文按照unicode从小到大排序x=[4,6,2,1,7,9]x.sort()print(x)#[1,2,4,6,7,9]如果需要一个排序好的副本,同时保持原有列表不变,怎么实现呢?x=[4,6,2,1,7,9]y=x[:]y.sort()print(y)#[1,2,4,6,7,9]print(x)#[4,
系统 2019-09-27 17:38:09 1997
Html代码'.a':'application/octet-stream','.ai':'application/postscript','.aif':'audio/x-aiff','.aifc':'audio/x-aiff','.aiff':'audio/x-aiff','.au':'audio/basic','.avi':'video/x-msvideo','.bat':'text/plain','.bcpio':'application/x-bcpi
系统 2019-08-29 22:59:11 1997
在运用python的过程中,发现当函数参数为list的时候,在函数内部调用list.append()会改变形参,与C/C++的不太一样,查阅相关资料,在这里记录一下。python中id可以获取对象的内存地址>>>num1=10>>>num2=num1>>>num3=10>>>id(num1)>>>id(num2)>>>id(num3)可以看到num1、num2、num3三个对象指向的是一个地址,python在这里采用的是一种叫做引用计数的方式来完成的,很类
系统 2019-09-27 17:55:23 1996
1.urllib.error.URLError:解决办法:退出网页上的谷歌账号,然后在命令行中进行认证。2.安装pyCrypto出现error:MicrosoftVisualC++14.0isrequired.安装pycryptodome来代替pyCrypto
系统 2019-09-27 17:55:09 1996