搜索到与相关的文章
Python

二叉树的层序遍历(python)

剑指offer:从上到下打印二叉树题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。结果:[8,6,10,5,7,9,11]解题思路典型的使用队列的题目。每从队列头部获取一个节点,就将该节点的左右子节点存入队列的尾部。如此往复,直至队列为空。代码#coding:utf-8classSolution:#从上往下打印出二叉树的每个节点,同层节点从左至右打印defPrintFromTopToBottom(self,root):array=[]resu

系统 2019-09-27 17:49:17 2047

Python

Python configparser的使用 读取幸运28平台搭建配置文件

配置文件配置文件[]中为section命名,幸运28平台搭建q<277.03.4.83.6>section的命名可以包含空格,每个section下面以键值对的方式保存配置内容,在读取配置时键值对全部解析为字符串,因此在配置时无需为字符串添加引号settings.conf文件定义[mysqlsettings]host=10.250.218.51port=3306username=adminpassword=admin123coding=utf8[oracle

系统 2019-09-27 17:48:43 2047

Python

python 装饰器做缓存

使用装python饰器做缓存装饰器在之前的文章中有讲过,这里主要是说了装饰器的用法和应该怎么理解。这片文章给出一片补充:主要说在缓存方面的应用。在此之前呢,需要补充一些知识点:就是python查找变量的顺序是什么?答案就是LEGB原则:也就是`Local->Enclosed->Global->Built-in`也就是先在局部作用域内(例如函数内)进行查找,然后在[闭包]1内查找,接下来分别是全局作用域和内置的保留名称注意:闭包内的变量,不能改变,但是对于列

系统 2019-09-27 17:47:18 2047

Python

Python中实现参数类型检查的简单方法

Python是一门弱类型语言,很多从C/C++转过来的朋友起初不是很适应。比如,在声明一个函数时,不能指定参数的类型。用C做类比,那就是所有参数都是void*类型!void类型强制转换在C++中被广泛地认为是个坏习惯,不到万不得已是不会使用的。Python自然没有类型强制转换一说了,因为它是动态语言。首先,所有对象都从Object继承而来,其次,它有强大的内省,如果调用某个不存在的方法会有异常抛出。大多数情况,我们都不需要做参数类型栓查,除了一些特殊情况。

系统 2019-09-27 17:47:04 2047

Python

Python命名空间详解

通俗的来说,Python中所谓的命名空间可以理解为一个容器。在这个容器中可以装许多标识符。不同容器中的同名的标识符是不会相互冲突的。理解python的命名空间需要掌握三条规则:第一,赋值(包括显式赋值和隐式赋值)产生标识符,赋值的地点决定标识符所处的命名空间。第二,函数定义(包括def和lambda)产生新的命名空间。第三,python搜索一个标识符的顺序是"LEGB"。所谓的"LEGB"是python中四层命名空间的英文名字首字母的缩写。最里面的一层是L

系统 2019-09-27 17:46:43 2047

Python

python做中学(五)多线程的用法

多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须

系统 2019-09-27 17:46:37 2047

Python

Python写的创建文件夹自定义函数mkdir()

Python对文件的操作还算是方便的,只需要包含os模块进来,使用相关函数即可实现目录的创建。主要涉及到三个函数:1、os.path.exists(path)判断一个目录是否存在2、os.makedirs(path)多层创建目录3、os.mkdir(path)创建目录直接上代码:复制代码代码如下:defmkdir(path):#引入模块importos#去除首位空格path=path.strip()#去除尾部\符号path=path.rstrip("\\"

系统 2019-09-27 17:46:08 2047

Python

python 专题训练收获(四)set

set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素.集合对象还支持union(联合),intersection(交集),difference(差集)和sysmmetricdifference(对称差集)等数学运算。sets不支持indexing。frozenset是不可变的Set。set的形式是{1,2},有点像字典。set.add(1),set.update([3,

系统 2019-09-27 17:45:55 2047

Python

python3字符串操作总结

介绍Python常见的字符串处理方式字符串截取>>>s='hello'>>>s[0:3]'he'>>>s[:]#截取全部字符'hello'消除空格及特殊符号s.strip()#消除字符串s左右两边的空白字符(包括'\t','\n','\r','')s.strip('0')#消除字符串s左右两边的特殊字符(如'0'),字符串中间的'0'不会删除例如:>>>s='000hello00world000'>>>s.strip('0')'hello00world's

系统 2019-09-27 17:45:26 2047

Python

简单谈谈Python中函数的可变参数

前言在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。可变参数(*)可变参数,顾名思义,它的参数是可变的,比如列表、字典等。如果我们需要函数处理可变数量参数的时候,就可以使用可变参数。我们在查看很多Python源码时,经常会看到某函数(*参数1,**参数2)这样的函数定义,这个*参数和**参数就是可变参数,一时会让

系统 2019-09-27 17:38:26 2047