python正则表达式re模块之findall函数 它返回string中所有与pattern匹配的全部字符串,返回形式为列表,如果pattern中含有分组,返回分组的匹配结果。如果有pattern中有多个分组,则返回元组列表。importrekk=re.compile(r'\d+')kk.findall('one1two2three3four4')#[1,2,3,4]#注意此处findall()的用法,可传两个参数;......
正则表达式中小括号与正向反向预查 小括号()在正则表达式的应用中代表“捕获分组”什么是捕获分组呢,在Python中正则匹配得出的结果中,会将正则表达式里()中匹配的结果单独存放在一个数组中,第一个()里的结果放在数组的第一位,第二个()里匹配的结果放在数组的第二位,以此类推。...
Visual C++ 和 C++ 有什么区别? 有位同学问我“Visual C++和C++有什么区别?”,这的确是初学者会感到困惑的问题,比较常见。除此之外,还有“先学C++好,还是先学Visual C++好?”,都属于同样的概念不明的问题,就比如问“英语和英语词典有什么区别”一样。要弄清这个问题的答案,就要明白语言,工具,库,标准的概念。可以参考我之前发的 Programming Language 那篇笔记。一门程序语言,例如C++,根本上是一套语法体系,是逻辑领域上的规则集。而要真正使用计算机来应用程序语言,就需要有相应的语言实现,历史上,C++有
Linux系列11:学习shell脚本 学习shell脚本1. 什么是 Shell Script1.1 干嘛学习 shell scripts1.1.1 自动化管理的重要依据:1.1.2 追踪与管理系统的重要工作:1.1.3 简单入侵侦测功能:1.1.4 连续命令单一化:1.1.5 简易的数据处理:1.1.6 跨平台支持与学习历程较短:1.2 第一支 script 的撰写与运行1.3 撰写 shell script 的良好习惯创建2. 简单的 shell script 练习2.1 简单范例: 对谈式脚本, 随日期变化, 数值运算2.1.1 对谈式脚
Docker核心概念:镜像、容器和仓库 镜像、容器和仓库0 前言1. Docker镜像2. Docker容器3. Docker仓库0 前言Docker大部分的操作都围绕着它的三大核心概念:镜像、容器和仓库。因此,准确把握这三大核心概念对于掌握Docker技术尤为重要。1. Docker镜像Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。例如,一个镜像可以包含一个基本的操作系统环境,里面仅安装了Apache应用程序(或用户需要的其他软件)。可以把它称为一个Apache镜像。镜像是创建Docker容器的基础。通过版本管理和增量
python装饰器详解 python装饰器详解0 前言1 闭包2 简单装饰器3 带参数的装饰器4 传参数给被装饰的函数5 类作为装饰器6 普通装饰器装饰类成员函数7 装饰类的装饰器8 装饰器类应用于类的成员函数0 前言Python装饰器看起来类似Java中的注解,然鹅和注解并不相同,不过同样能够实现面向切面编程。装饰器本质上是一个 Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。
python单元测试:unittest 1 unittest 简介unittest是python内置的用于测试代码的模块,无需安装, 使用简单方便。unittest case的运行流程:写好一个完整的TestCase多个TestCase 由TestLoder被加载到TestSuite里面, TestSuite也可以嵌套TestSuite由TextTestRunner来执行TestSuite,测试的结果保存在TextTestResult中TestFixture指的是环境准备和恢复unittest中最核心的部分是:TestFixtur
python命令行操作:Click包 0 前言在Python开发和测试过程中主要有两种模式可以选择:脚本模式、命令行模式。在代码的开发和调试过程中使用脚本模式还是很方便的,尤其接触pycharm、eclipse这类强大的IDE,或者配合vs code这种综合的文本编辑器。但是如果使用纯文本编辑器,或者是在做整个系统开发时,与其他模型进行接口调用时,命令行模式就显得非常重要了。目前有很多热门的命令行工具,本文会一一介绍一下,并且重点介绍一下最近发现的一款命令行神器Click。这款包配合setuptools的end_points参数可以,在命令
python程序的打包和安装 0 前言我们经常会使用pip setup.py install 安装一个源码包,可是这个可以安装的源码包是怎么生成的,这个setup.py又是怎么生成的呢?这篇文章中,我们就来一探究竟。用来进行python程序打包的两个常用工具为Distutils和setuptools,据说setuptools是Distutils的高级版本,添加了更多特性。我们就先来看一看Distutils的使用,然后再看setuptools,添加了什么样的内容。1 Distutils简介Distutils可以用来在Python环
python中_、__和__xx__的区别 0 前言python灵活的语法,给我们带了一些便利,同时也给我们带了一些困惑。其中就是我们常见的_、__和__xx__的作用和区别,这节我们就来看一下。1 理论Python中不存在真正的私有方法。为了实现类似于c++中私有方法,可以在类的方法或属性前加一个“_”单下划线,意味着该方法或属性不应该去调用,它并不属于API。但是,这只是一个形式上的约定,python并不阻止调用。__双下划线的作用是避免覆盖其内容,实现的机制是在带有双下划线的方法或属性前加上_类名的标识。由于,python自动对方法和
python中if__name__==__main__到底有什么作用 Python没有像Java、C、C++那样定义程序的执行入口,在python中,程序是从上到下逐行编译的。Python解释器从文件的第一行开始执行程序中的def和class语句创建函数和类对象,这些对象由代码和原数据组成,且这些代码和数据在显示调用之前不会运行。首先我们来看一下__name__,__name__是python文件的一个特殊属性,名称两边的双下划线称为dunders,是特殊方法的意思。python中每个模块都有一个名称,模块的名称可以在模块的程序语句中找到。python的每个模块可以作为库导
python特殊函数__class__() 1. __class__属性__class__是是实例的一个属性,指向实例所属的类如使用 self.__class__表示self这个实例所属的类2. self.classs.nameself.__classs__表示self这个实例所属的类,__name__则是类的一个属性,这样写可以获得self示例所属类的类名。例子:class Parent(object): def __init__(self, name): self.name = name pri
python中super函数的用法 在python的类继承中,我们经常会有在子类中调用父类方法的需求。这时候我们有两种方式来实现:第一种:是使用类名称直接调用这样做存在两个缺点:当父类的名称修改时,必须修改代码由于python是支持多继承的语言,即一个类可以同时继承多个类。在多继承的情况下,会存在重复调用的问题。所以python引入了如下方式,来调用父类函数。第二种:使用super函数首先来看一个例子:class Foo: def bar(self, message): print(message)>&g
python list底层实现原理 list底层实现原理0 前言1 List对象的C结构2 List的初始化3 Append4 Insert5 Pop6 Romve总结0 前言在Python中list特别有用。在使用的过程中,python中的list呈现给我们的是一个长度可变对的数组。但是list底层的数据结构是什么呢?这篇文章就来介绍Python中list是如何实现的。原文是这篇英文原文Python list implementation。1 List对象的C结构来看下面简单的程序,在list中添加一些整数并将他们打印出来。&g
python中的*,**与*args,**kwargs python中的*,**与*args,**kwargs0 前言1 用作算符运算符2 用作打包运算符2.1 用作函数形参2.2 用作序列打包3 用作解包运算法3.1 用作函数实参3.2 用作序列解包4 打包和解包的混合使用0 前言python是一门及其灵活的语言,这一点在python函数中的不定参数传递也具有很好的提现。我们在使用python函数的时候,会经常看到*args,**kwargs两个参数,这两个参数表示什么意思,这里的*和**又表示什么意思?这里我们进行一探究竟。1 用作算符运算符首选最基
python基础:__init__.py文件作用 __init__.py文件作用0 前言1 作为包表示2 __init__.py什么时候执行3 简化模块导入4 定义模块的方法和属性总结0 前言我们在pycharm等IDE中,我们可以选择新建一个python package或者一个directory。选择两种都会新建一个文件夹,不同的是,新建python package会在文件夹下自动创建一个__init__.py文件。那么这个__init__.py文件有什么作用呢?本篇文章就来一探究竟。1 作为包表示在IDE中新建python package会在文
python中split,rsplit与splitlines作用 0 前言在编程的过程中,字符串是我们最常打交道的数据类型,对字符串进行切分也是我们经常进行的操作。python提供了很多处理字符串的函数,处理起来非常方便。这里介绍python中与字符串切分相关的三个函数,分别是split,rsplit与splitlines。首先需要明确的一点是三个函数的作用都是进行字符串切分。其中split函数是最基本的切分函数,rsplit与splitlines函数的功能,都能使用split函数实现,额外提供这两个函数,仅仅是为了操作方便而已。1 split语法:str.sp