一、*args的使用方法*args用来将参数打包成tuple给函数体调用defargs_test(x,y,*args):print(x,y,args)args_test(1,2,3,4,5)12(3,4,5)二、**kwargs的使用方法**kwargs打包关键字参数成dict给函数体调用defkwargs_test(**kwargs):print(kwargs)kwargs_test(a=1,b=2,c=3){'a':1,'c':3,'b':2}三.参数
系统 2019-09-27 17:54:08 2013
题目给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树:root=[6,2,8,0,4,7,9,null,null,3,5]示例1:输入:root=[6,2,8,0,4,7,9,null,null,3,5],p=2,q=8输出:6解释:节点2和节点8的最近公共
系统 2019-09-27 17:53:57 2013
Python中的字符串对象是不能更改的,也即直接修改字符串中的某一位或几位字符是实现不了的,即python中字符串对象不可更改,但字符串对象的引用可更改,可重新指向新的字符串对象。+直接字符串外+元素name='zheng'print('mynameis'+name)%直接字符串外%(元素)一种字符串格式化的语法,基本用法是将值插入到%s占位符的字符串中。%s,表示格式化一个对象为字符name='zhang'age='25'print('mynameis%
系统 2019-09-27 17:53:52 2013
目录一、方法一:通过正常方法(low)二、通过脚本的方式进行项目部署三、通过docker部署(完美的办法)一、方法一:通过正常方法(low)1、生成requirements文件,即项目依赖的包#cd到项目目录下pipfreeze>requirements.txt2、创建虚拟环境python-mvenvvenv(这个是虚拟环境名称)3、激活虚拟环境#进入venv虚拟环境下的bin目录,执行sourceactivate4、上传项目到服务器(复制,gitpull
系统 2019-09-27 17:53:51 2013
七段数码管的绘制与拓展:先给出代码:#七段数码管绘制importturtledefdrawline(draw):turtle.pendown()ifdrawelseturtle.penup()turtle.fd(40)turtle.right(90)defdrawdigit(digit):drawline(True)ifdigitin[2,3,4,5,6,8,9]elsedrawline(False)drawline(True)ifdigitin[0,1,
系统 2019-09-27 17:53:36 2013
前言好久没有更技术文了,再不写怕是博客要废掉了,今天更一篇关于搭建服务端并与Android端通信的文章,为了节省代码量,服务端使用PythonFlask,Android端使用Okhttp,还是老样子,文章不讲原理只给具体实现,想要了解原理可至官网详细研究。服务端环境:服务端使用Python3.5+PyCharm新建Flask项目看图:然后create,初始化完成之后项目结构应该类似如下:其实这时候直接启动项目就可以在浏览器访问到:这就是使用现成框架的好处h
系统 2019-09-27 17:53:28 2013
文章目录一:python解释器与IPython基础1.python解释器2.IPython基础二:Jupyternotebook三:一些常用技巧1.Tab补全2.内省3.中断代码4.复制代码5.快捷键6.魔法函数一:python解释器与IPython基础1.python解释器python是一种解释性语言。python解释器通过一次执行一条语句来运行程序。在安装python时,默认的是官方版本的解释器:CPython,这个解释器是用C语言开发的,所以叫CPy
系统 2019-09-27 17:52:44 2013
在做自动化测试时,遇到两种情况需要判断usb是否已连接上(注,本文仅针对用adb命令来control手机)一种是在开测时(前提是同时要测试多台),希望等待所有设备usb全部识别后同时进行测试。对于这一种,当然是可以另开一个窗口不断的输入adbdevices来检测,但不够AI。一种是在测试过程中有时usb会自动断开,这时如果不判断usb是否有重新连接的话,则测试还会往下执行,测试指定是失败的。第一种情况:其思路还是要利用adbdevices来不断的获取当前已
系统 2019-09-27 17:49:57 2013
先看下面这段代码:importosdefmain():foriinrange(0,2):os.fork()print'Hello'if__name__=='__main__':main()猜测一下,会输出几行Hello。答案是:HelloHelloHelloHelloHelloHello6行!为什么呢?首先,你要明白os.fork()创建的子进程会接着下一行代码继续执行,它有返回值,返回值可以为0表示子进程或者大于0表示父进程pid,os.getpid()
系统 2019-09-27 17:48:15 2013
通过代码和结果来理解浅拷贝和深度拷贝,先来看看python中有那些常见的浅拷贝方法:1.使用数据类型本身的构造器:l1=[1,2,3]l2=list(l1)l1==l2#Truel1isl2#False#l2就是l1的浅拷贝,set、dict与上面的浅拷贝一致t1=(1,2,3)t2=tuple(t1)t1==t2#Truet1ist2#True#由于tuple不可变,tuple返回一个指向相同元组的引用,与list、set、dict不一样2.通过切片操作
系统 2019-09-27 17:48:09 2013