搜索到与相关的文章
Python

Python 闭包

闭包作为对象被返回时,它的引用变量就已经确定(已经保存在它的__closure__属性中),不会再被修改,它的所有变量就已经固定,形成了一个封闭的对象,这个对象包含了其引用的所有外部、内部变量和表达式。闭包内部函数对外部函数变量的引用,则将该函数与用到的变量称为闭包。闭包定义:闭包是指可以包含自由(未绑定到特定对象)变量的代码块;这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变量)。“闭包”一词来源于以下两者的结合

系统 2019-09-27 17:57:26 2334

Python

跟老齐学Python之集合的关系

冻结的集合前面一节讲述了集合的基本概念,注意,那里所涉及到的集合都是可原处修改的集合。还有一种集合,不能在原处修改。这种集合的创建方法是:>>>f_set=frozenset("qiwsir")#看这个名字就知道了frozen,冻结的set>>>f_setfrozenset(['q','i','s','r','w'])>>>f_set.add("python")#报错Traceback(mostrecentcalllast):File"",line1,in

系统 2019-09-27 17:56:34 2334

Python

老生常谈Python进阶之装饰器

函数也是对象要理解Python装饰器,首先要明白在Python中,函数也是一种对象,因此可以把定义函数时的函数名看作是函数对象的一个引用。既然是引用,因此可以将函数赋值给一个变量,也可以把函数作为一个参数传递或返回。同时,函数体中也可以再定义函数。装饰器本质可以通过编写一个纯函数的例子来还原装饰器所要做的事。defdecorator(func):defwrap():print("Doingsometingbeforeexecutingfunc()")fun

系统 2019-09-27 17:55:37 2334

Python

Python入门篇之数字

数字类型数字提供了标量贮存和直接访问。它是不可更改类型,也就是说变更数字的值会生成新的对象。当然,这个过程无论对程序员还是对用户都是透明的,并不会影响软件的开发方式。Python支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点型和复数。创建数值对象并用其赋值(数字对象)创建数值对象和给变量赋值一样同样简单:复制代码代码如下:>>>anInt=1>>>along=-555555555555L>>>afloat=3.141595468565>>

系统 2019-09-27 17:55:09 2334

Python

Python 由字符串函数名得到对应的函数(实例讲解)

把函数作为参数的用法比较直观:deffunc(a,b):returna+bdeftest(f,a,b):printf(a,b)test(func,3,5)但有些情况下,‘要传递哪个函数'这个问题事先还不确定,例如函数名与某变量有关。可以利用func=globals().get(func_name)来得到函数:deffunc_year(s):print'func_year:',sdeffunc_month(s):print'func_month:',sstr

系统 2019-09-27 17:54:04 2334

Python

Python读取环境变量的方法和自定义类分享

使用os.environ来读取和修改环境变量:复制代码代码如下:importosprint(os.environ["TEMP"])mydir="c:\\mydir"os.environ["MYDIR"]=mydirprint(os.environ["MYDIR"])pathV=os.environ["PATH"]print(pathV)os.environ["PATH"]=mydir+";"+os.environ["PATH"]print(os.envir

系统 2019-09-27 17:54:00 2334

Python

python输出json格式log,方便LogStash收集

为了配合LogStash日志收集服务,需要将线上服务的日志输出改为json格式。python日志标准库中并没有json格式的formatter,网上虽然已经有一些json相关的formatter,但不是很满意,就自己开发了一个并放到了github和pypi,目前仅支持Python3,能够很方便的解决自定义名映射属性问题,也支持新增自定义属性。欢迎到我的github点星星、提问题:https://github.com/MyColorfulDays/jsonf

系统 2019-09-27 17:53:20 2334

Python

详细介绍Python进度条tqdm的使用

前言有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。这对于第三方库非常丰富的Python来说,想要实现这一功能并不是什么难事。tqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的CPU资源非常少,支持windows、Linux、mac等系统,支持循环处理、多进程、递归处理、还可以结合linux的命令来查看处理情况,等进度展示。大家先看看tqd

系统 2019-09-27 17:53:11 2334

Python

python 各层级目录下的import方法

---恢复内容开始---以前经常使用python2.现在很多东西都切换到了python3,发现很多东西还是存在一些差异化的。跨目录import是常用的一种方法,并且有不同的表现形式,新手很容易搞混。有必要这里做个总结,给大家科普一下:1同级目录下的调用:同级目录下的调用比较简单,一般使用场景是不同类的相互调用。不用考虑路径问题,常用的格式是:fromfileimport*或者fromfileimportclass/function等。下面以一个例子作为说明

系统 2019-09-27 17:52:20 2334

Python

python uuid模块使用实例

uuid是一种唯一标识,在许多领域作为标识用途。python的uuid模块就是用来生成它的。闲话不说,python提供的生成uuid的方法一共有4种,分别是:1.从硬件地址和时间生成2.从md5算法生成3.随机生成4.从SHA-1算法生成他们在uuid模块里对应uuid1,uuid3,uuid4,uuid5这几个方法,注意没有uuid2。下面是示例:复制代码代码如下:#-*-encoding:gb2312-*-importuuidprintuuid.uui

系统 2019-09-27 17:50:27 2334