- 军军小站|张军博客
搜索到与相关的文章
Python

如何编写快速且线程安全的Python代码

概述如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,过程中我会给出一些示例来帮助大家更好的理解GIL。GIL概览有如下代码:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/这行代码位于Python2.7源码ceval.c

系统 2019-09-27 17:52:42 1836

Python

Spark学习实例(Python):窗口操作 Window

说到流处理,Spark为我们提供了窗口函数,允许在滑动数据窗口上应用转换,常用场景如每五分钟商场人流密度、每分钟流量等等,接下来我们通过画图来了解SparkStreaming的窗口函数如何工作的,处理过程图如下所示:上图中绿色的小框框是一批一批的数据流,虚线框和实线框分别是前一个窗口和后一个窗口,从图中可以看出后一个窗口在前一个窗口基础上移动了两个批次的数据流,而我们真正通过算子操作的数据其实就是窗口内所有的数据流。在代码实现前了解下窗口操作常用的函数有:

系统 2019-09-27 17:52:34 1836

Python

Python闭包和装饰器用法实例详解

本文实例讲述了Python闭包和装饰器用法。分享给大家供大家参考,具体如下:Python的装饰器的英文名叫Decorator,作用是完成对一些模块的修饰。所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小装饰(小功能)侵入到原有的模块中的代码里去。闭包1.函数引用#coding=utf-8deftest1():print('Thisistest1!')#调用函数test1()#引用函数ret=test

系统 2019-09-27 17:52:24 1836

Python

Python设计模式3--建造者模式

建造者模式,也是一种创建新对象的设计方法,和C++中的虚函数很类似,但是用到了python自身的虚基类ABCMeta。1.应用场景:某个类中的函数较多,且实现比较复杂,很多时候需要继承的子类重载或者重新定义逻辑;2.背景基础:由于用到python中虚函数,需要了解abc模块中的ABCMeta和python中类创建对象时的__metaclass__属性含义。一般地,在某个类中如果定义__metaclass__=something时,简单地说是,创建对象时,会

系统 2019-09-27 17:52:24 1836

Python

python快速建立超简单的web服务器的实现方法

作为临时测试用python命令来搭建web测试是最好不过的选择了;CD切换到当前目录只需要一句python命令就迅速搭建好了简单的web服务器,pythonlinux自带又无需额外配置安装感觉还是很好用的;python开启web服务器命令python-mSimpleHTTPServer8080端口号可以任意指定一个没有被占用的端口,但必须能通过防火墙;执行完上面命令后,直接输入IP地址加端口号就行了http://:端口号/路径如:http://192.16

系统 2019-09-27 17:52:09 1836

Python

Python 记录日志的灵活性和可配置性介绍

对一名开发者来说最糟糕的情况,莫过于要弄清楚一个不熟悉的应用为何不工作。有时候,你甚至不知道系统运行,是否跟原始设计一致。在线运行的应用就是黑盒子,需要被跟踪监控。最简单也最重要的方式就是记录日志。记录日志允许我们在开发软件的同时,让程序在系统运行时发出信息,这些信息对于我们和系统管理员来说都是有用的。就像为将来的程序员写代码文档一样,我们应该让新软件产生足够的日志供系统的开发者和管理员使用。日志是关于应用运行状态的系统文件的关键部分。给软件加日志产生句时

系统 2019-09-27 17:52:07 1836

Python

谈谈python中GUI的选择

尽管内容可能有些老,但是没有关系,对于想深入Python开发的工作者,在选择GUI开发包,乃至可视化IDE方面都还有相当的借鉴意义。Python最大的特点就在于她的快速开发功能。作为一种胶水型语言,python几乎可以渗透在我们编程过程中的各个领域。这里我简单介绍一下用python进行gui开发的一些选择。1、TkinterTkinter似乎是与tcl语言同时发展起来的一种界面库。tkinter是python的配备的标准gui库,也是opensource的

系统 2019-09-27 17:52:05 1836

Python

糟了,上网记录被 Python 扒下来了!

点击上方“码农突围”,马上关注,每天早上8:50准时推送真爱,请置顶或星标摘要:分享个Python神工具。长时间使用浏览器会积累大量浏览器历史记录,这些是很隐私的数据,里面甚至可能有一些不可描述的网站或者搜索记录不想让别人知道。不过,我们自己可能会感兴趣,天天都在上网,想知道长期下来是都在摸鱼还是有认真工作。其次,了解下自己每天打开多少次网页、哪些网站上的最多、常搜哪些关键词,这些也很有趣。下面就来给大家介绍一款Python编写的神工具,可以一键分析你的上

系统 2019-09-27 17:51:41 1836

Python

python学习笔记-数据结构与语句

基础元素学习一门编程语言的时候,我最先考虑的事情就是如何操作值,值(value)在程序组可以是一个数字1,2,3,4,字符'hello,word'.我们使用变量来保存这些值。又把变量保存的值成为对象,计算机会给变量的对象和变量分配内存空间。python使用的内存分配方式成为引用语义或者对象语义,而像c语言使用的时值语义。接下来具体说明一下这两种语义的区别。值语义:所谓值语义是指目标对象由源对象拷贝生成,且生成后与源对象完全无关,彼此独立存在,改变互不影响。

系统 2019-09-27 17:51:31 1836

Python

python综合题

一、如何抛出异常并且捕获异常二、常用的Python标准库有哪些,并且说明其作用三、描述深拷贝和浅拷贝的区别四、__init__和__new__的区别__new__会优先调用且有返回值__init__没有返回值五、什么是解释型语言,什么是编译型语言六、Match和search的区别Match:只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,返回nonesearch:会扫描整个字符串并返回第一个成功的匹配七、用Python匹配HTMLtag的时

系统 2019-09-27 17:51:31 1836