• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!
Python面向对象:封装

Python面向对象:封装

一、数据封装 面向对象编程的一个重要特点就是数据封装,封装是指将数据与具体操作的实现代码放在某个对象内部,使这些代码的实现细节不被外界发现,外界只能通过接口使用该对象,而不能通过任何形式修改对象内部实现,正是由于封装机制,程序在使用某一对象时不需要关心该对象的数据结构细节及实现操作的方法。使用封装能隐藏对象实现细节,使代码更易维护,同时因为不能直接调用、修改……

Python面向对象:类和实例

Python面向对象:类和实例

类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是创建实例的模板,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。各个实例拥有的数据都互相独立,互不影响。 以 Student 类为例,在 Python 中,定义类是通过 class 关键字: c……

Python函数式编程:装饰器

Python函数式编程:装饰器

一、装饰器 Python 中的装饰器是通过利用了函数特性的闭包实现的,所以在讲装饰器之前,我们需要先了解函数特性,包括支持“嵌套函数及跨域访问”、“一个函数可以接收一个作为参数函数传入”、“函数可以返回一个函数”;另外也知道了函数也是一个对象,而且函数对象可以被赋值给变量。所以,通过变量也能调用该函数。以及闭包是怎么利用了函数特性的,这些相关函数特性构成了 ……

Python函数式编程:偏函数和匿名函数

Python函数式编程:偏函数和匿名函数

一、偏函数 Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例如下: int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换: ……

Python函数式编程:高阶函数与闭包

Python函数式编程:高阶函数与闭包

一、函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。 而函数式编程(请注意多了一个“式”字)——Functional Programming,虽然也可以归结到面向过程的程序设计,但其思想更接近数学……

Python函数式编程:函数详解

Python函数式编程:函数详解

一、Python函数 函数是Python为了代码最大程度地重用和最小化代码冗余而提供的基本程序结构。函数是一种设计工具,它能让程序员将复杂的系统分解为可管理的部件。函数用于将相关功能打包并参数化。需要注意的是函数只能返回一个值,如果return语句后面有多个逗号分隔的值,会自动的封包成一个元祖。另外一个函数可以有任意多个return语句,但是始终只会执行一个……

Python模块:argparse

Python模块:argparse

argparse模块作为optparse的一个替代被添加到Python2.7。argparse的实现支持一些不易于添加到optparse以及要求向后不兼容API变化的特性,因此以一个新模块添加到标准库。argparse的API类似于optparse,甚至在很多情况下通过更新所使用的类名和方法名,使用argparse作为一个简单的替代。然而,有些地方在添加新特……

使用Python操作Zabbix Api

使用Python操作Zabbix Api

众所周知,zabbix是一款强大的分布式监控系统,集各家所长于一体,得到了广大SA的认可。其强大的管理界面也极其方便,但是美中不足的是,如果同时有大批量(50台+)的服务器需要添加监控时,这时,其图形界面反而显得有些臃肿了,好在zabbix提供了一套强大的API管理接口,我们可以使用它快速地添加或删除成千上万台服务器了。 下面的流程图代表了Zabbix AP……

Python包与模块

Python包与模块

一、Python模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。 使用模块有什么好处? 首先,提高……

Python生成器与迭代器

Python生成器与迭代器

一、迭代器 在第一次接触 Python 的时候,你可能写过类似: for i in [2, 3, 5, 7, 11, 13]: print(i) 1 for i in [2, 3, 5, 7, 11, 13]:  prin……

Python数据类型:字典与集合

Python数据类型:字典与集合

一、字典 字典(dictionary)在其它编程语言中又称作关联数组,也是Python中唯一的映射类型,映射类型对象里哈希值(key)和指向的对象值(value)是一对多的关系。 字典类型是Python中最常用的数据类型之一,它是一个键值对的集合,字典通过键(key)来索引,关联到相对的值(value),理论上它的查询复杂度是O(1),不会随着字典大小的增加……

Python输入与输出

Python输入与输出

任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。 input()和print()是在命令行下面最基本的输入和输出,但是,用户也可以通过其他更高级的图形界面完成输入和输出,比……