什么是可变/不可变对象不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。可变对象,该对象所指向的内存中的值可以被改变。变量(准确的说是引用)改变后,实际上是其所指的值直接发生改变,并没有发生复制行为,也没有开辟新的出地址,通俗点说就是原地改变。Python中,数值类型(int和float)、字符串str、元组tuple都是不可变类型。
系统 2019-09-27 17:54:37 1821
戳这里~小结Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!要注意定义可变参数和关键字参数的语法:*args是可变参数,args接收的是一个tuple;**kw是关键字参数,kw接收的是一个dict。以及调用函数时如何传入可变参数和关键字参数的语法:可变参数既可以直接传入:func(1,2,3),又可以先组装list或tuple,再通过*args传
系统 2019-09-27 17:54:27 1821
有时候我们的爬虫程序添加了代理,但是我们不知道程序是否获取到了ip,尤其是动态转发模式的,这时候就需要进行检测了,以下是一种代理是否伪装成功的检测方式,这里推介使用亿牛云提供的代码示例。Python¶requests#!-*-encoding:utf-8-*-importrequestsimportrandom#要访问的目标页面targetUrl="http://httpbin.org/ip"#要访问的目标HTTPS页面#targetUrl="https:
系统 2019-09-27 17:54:07 1821
在处理数据和进行机器学习的时候,遇到了大量需要处理的时间序列。比如说:数据库读取的str和time的转化,还有time的差值计算。总结一下python的时间处理方面的内容。一、字符串和时间序列的转化time.strptime():字符串=>时间序列time.strftime():时间序列=>字符串importtimestart="2017-01-01"end="2017-8-12"startTime=time.strptime(start,"%Y-%m-%
系统 2019-09-27 17:54:04 1821
python的mysqldb安装步骤详解安装MySQLdb:一、什么是MySQLdb?解释:MySQLdb是Python操作MySQL的一个接口包。这里要理解一个概念,python操作数据库,都是需要一个类似MySQLdb这样的中间层,这些中间层抽象了具体的实现,提供了统一的API供开发者使用。二、如何安装MySQLdb?python2环境下:sudopipinstallMySQL-python。MySQL-python目前暂时还不支持python3,有些
系统 2019-09-27 17:54:02 1821
叨逼叨首先,介绍一下pdb调试,pdb是python的一个内置模块,用于命令行来调试Python代码。或许你会说,现在用Pycharm等编辑器来调试代码很方便,为啥要用命令行呢?这个问题,我曾经也这么想,直到有一次,代码必须要在Linux系统上跑(现在Pycharm也可以远程调试代码了,今天先不说这个)使用介绍如何添加断点?说到debug,肯定是要添加断点的,这里有两种方式添加断点:在想要断点代码后添加一行pdb.set_trace()若是使用这种方式,直
系统 2019-09-27 17:53:53 1821
和之前C++执行LinuxBash命令的方法一样,Python依然支持system调用和popen()函数来执行linuxbash命令。方法一:system调用#仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息importosos.system('ls')方法二:popen()函数importosos.popen('ls').readlines()#这个返回值是一个list方法三:使用模块subprocessimportsubprocesssu
系统 2019-09-27 17:53:51 1821
Python是个非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展,Python的职位需求越来越高。下面我收集了10个Python面试官经常问的问题,供大家参考学习。作者:xiaochao来源:马哥Linux运维|2018-02-0116:00收藏分享概述Python是个非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展,Python的职位需求越来越高。下面我收集了10个Python面试官经常问的问题,供大家参考学习。一、类继承问题:有
系统 2019-09-27 17:53:50 1821
一关于局部变量整体变量的理解以及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 1821
Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。创建一个“队列”对象importQueueq=Queue.Queue(maxsize=10)Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。将一个值放入队列中q.put(10)调用队列对
系统 2019-09-27 17:53:36 1821