一关于局部变量整体变量的理解以及somethingabout不可变对象defChangeInt(a):...a=10...b=2ChangeInt(b)print(b)2这个不可变对象的实例让我产生了疑惑,于是我做了如下:defChangeInt(a):...a=10...a=2ChangeInt(a)print(a)2这个其实很好理解,因为a=10只是个局部变量,也没有return无法对外部造成影响。哪怕我做如下操作:defChangeInt(a):..
系统 2019-09-27 17:53:47 2169
装饰器是什么?定义:装饰器是用于拓展原函数功能的一种语法,返回新函数替换旧函数作用:在不更改原函数代码的前提下,拓展出新功能@语法:加上@符系统会自动把下面的函数当成参数传递到装饰器中,从下到上.@符又被称作语法糖装饰器:1.普通装饰器defdecor(func):definner():print(“财务拿钱买货”)func()print(“卖货的钱还回来”)returninner@decor#效果等同于sell=decor(sell)defsell():
系统 2019-09-27 17:53:22 2169
python2中的urllib2改为python3中的urllib.request四种方式对比:python2的get#coding=utf-8importurllibimporturllib2word=urllib.urlencode({"wd":"百度"})url='http://www.baidu.com/s'+'?'+wordrequest=urllib2.Request(url)printurllib2.urlopen(request).read
系统 2019-09-27 17:52:45 2169
英文文档callable(object)ReturnTrueiftheobjectargumentappearscallable,Falseifnot.Ifthisreturnstrue,itisstillpossiblethatacallfails,butifitisfalse,callingobjectwillneversucceed.Notethatclassesarecallable(callingaclassreturnsanewinstance
系统 2019-09-27 17:52:30 2169
对一名开发者来说最糟糕的情况,莫过于要弄清楚一个不熟悉的应用为何不工作。有时候,你甚至不知道系统运行,是否跟原始设计一致。在线运行的应用就是黑盒子,需要被跟踪监控。最简单也最重要的方式就是记录日志。记录日志允许我们在开发软件的同时,让程序在系统运行时发出信息,这些信息对于我们和系统管理员来说都是有用的。就像为将来的程序员写代码文档一样,我们应该让新软件产生足够的日志供系统的开发者和管理员使用。日志是关于应用运行状态的系统文件的关键部分。给软件加日志产生句时
系统 2019-09-27 17:52:07 2169
Python标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如urllib2这个HTTP客户端库。这里总结了一些urllib2的使用细节。1.Proxy的设置2.Timeout设置3.在HTTPRequest中加入特定的Header4.Redirect5.Cookie6.使用HTTP的PUT和DELETE方法7.得到HTTP的返回码8.DebugLogProxy的设置urllib2默认会使用环境变量http_proxy
系统 2019-09-27 17:51:34 2169
在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值,而在需要进行对除所得的结果进行精确地求值时,想在运算后即得到浮点值,那么如何进行处理呢?1、修改被除数的值为带小数点的形式即可得到浮点值,这种方法在被除数事先知道的情况下才可以采用有效,而这种情况意味着被除数的值是写死的、固定的,在绝大多数的情况下是不可行的;2、在进行除法运算前导入一个实除法的模块,即可在两个整数进行相除的时候得到浮点的结果;复制代码代码如下:from__futu
系统 2019-09-27 17:51:25 2169
在用BeautifulSoup进行抓取页面的时候,会各种各样的编码错误。可以通过在beautifulsoup中指定字符编码,解决问题。复制代码代码如下:importurllib2fromBeautifulSoupimportBeautifulSouppage=urllib2.urlopen('http://www.163.com');soup=BeautifulSoup(page,from_encoding="gb2312")printsoup.origi
系统 2019-09-27 17:51:09 2169
python基础学习笔记(四)2013-04-1823:59虫师阅读(...)评论(...)编辑收藏列表本节继续讨论列表不同元组和字符串的地方:列表是可变的(mutable)----可以改变列表的内容,并且列表有很多有用的、专门的方法。List函数可以将一个字符串拆分成列表。>>>list('chongshi')['c','h','o','n','g','s','h','i']改变列表:元素赋值例如,我们想对一个列表中的某个元素赋值。>>>x=[1,2,3
系统 2019-09-27 17:48:57 2169
在加密货币中,私钥允许用户访问其钱包。持有私钥的人完全控制该钱包中数字货币。出于这个原因,你应该保守秘密。如果你真的想自己生成密钥,那么以安全的方式生成密钥是有意义的。在这里,我将介绍私钥,并向你展示如何使用各种加密函数生成自己的密钥。我将在Python中提供算法和代码的描述。我需要生成私钥吗?大多数时候你没有。例如,如果你使用Coinbase或Blockchain.info等网络钱包,他们会为你创建和管理私钥。交易所也是如此。移动和桌面钱包通常也会为你生
系统 2019-09-27 17:48:40 2169
几乎所有的微薄都提供了缩短网址的服务,其原理就是将一个url地址按照一定的算法生成一段字符串,然后加在一个短域名后面边成了一个新的url地址,数据库中会存放这个短地址和原始的地址,当用户点击这个新的短地址后,短地址服务会根据短域名后面的几个字符串从数据库中读出原来的地址然后页面进行跳转。比如新浪微薄中的url是http://t.cn/xxxxxxxt.cn是其域名,其后面跟着的是7位算出来的字符串。方法一:使用哈希库自定义算法因为文本中显示太长的url会比
系统 2019-09-27 17:48:18 2169
某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法。用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块。本文就此简述了Python实现动态添加类的属性或成员函数的解决方法,具体方法如下:首先我们可以参考ulipad的实现:mixin。这里做的比较简单,只是声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数。代码如下所示:classWi
系统 2019-09-27 17:47:25 2169
什么场景下会有main函数?当该python脚本被作为模块(module)引入(import)时,其中的main()函数将不会被执行。main函数的作用?__name__=='__main__'是Python的main函数入口。并非说,加入这句才能使用pythonxxx.py来执行,而是说,这里可以判断,当前是否是直接被python直接调用执行。main为什么只有文件当作执行程序的时候才会被执行呢?这是由于两方面原因,一方面,main函数是所有执行程序的入
系统 2019-09-27 17:47:18 2169
使用装python饰器做缓存装饰器在之前的文章中有讲过,这里主要是说了装饰器的用法和应该怎么理解。这片文章给出一片补充:主要说在缓存方面的应用。在此之前呢,需要补充一些知识点:就是python查找变量的顺序是什么?答案就是LEGB原则:也就是`Local->Enclosed->Global->Built-in`也就是先在局部作用域内(例如函数内)进行查找,然后在[闭包]1内查找,接下来分别是全局作用域和内置的保留名称注意:闭包内的变量,不能改变,但是对于列
系统 2019-09-27 17:47:18 2169
本文实例讲述了python针对mysql数据库的连接、查询、更新、删除操作。分享给大家供大家参考,具体如下:连接一代码importpymysql#打开数据库连接db=pymysql.connect("localhost","root","root","db_test01")#使用cursor()方法创建一个游标对象cursorcursor=db.cursor()#使用execute()方法执行SQL查询cursor.execute("SELECTVERSI
系统 2019-09-27 17:46:56 2169