====================
== Hi, I'm Vimiix ==
====================
Get hands dirty.

[算法笔记]用递归和迭代的思想分别实现插入排序和选择排序

python algorithms

思路

插入排序(insert sort)

先归纳性的假设前 n-1 个元素已经完成排序了,现在要将第 n 个元素向前插入到正确的位置上。这种方式称之为插入排序法

选择排序(selection sort)

先找到整个序列中最大的元素,并将其向后放在 n(待排序的序列末尾)的位置上,然后继续递归排序剩下的元素。这种方式称之为选择排序法

Read more...

[算法笔记]使用L形砖拼接国际象棋棋盘

algorithms Python

递归解决棋盘拼接问题

题目介绍

如图所示,图中有一块角上缺了一个方格的国际象棋棋盘,现在我们想用 L 形砖拼接出这样一块棋盘。

Read more...

[算法笔记]侏儒排序算法实现和复杂度分析

algorithms Python

侏儒排序

介绍

侏儒排序是由 Hamid Sarbazi-Azad 在 2000 年提出的,也叫愚人排序法(Stupid sort)。这种排序算法一种简单的复杂度为平方级的排序算法,一般实际生产中不会用到。

Read more...

vmx-manager:基于django框架开发的cmdb系统

Django Python cmdb

系统介绍

VMX-Manager 是一个基于 Django 框架开发的一款 CMDB 管理系统,目前处于 beta 版本,功能主要包含: 管理系统管理的客户主机列表, 动态显示客户机状态信息,远程指令操作指定客户机以及主机与客户机之间的文件传输。

Read more...

Python|内建函数getattr()函数详解

Python getattr

前言

昨天在Hackerrank上面练习 Python 题目的时候,题目要求从终端输入命令和参数,然后脚本获取到以后执行相应的操作(查看原题),作为初级程序员,我第一思路想到的解法就是枚举(因为题目上面限制了就 3 条命令)。通过if ... elif...elif...的分支语句就解决了。Hackerrank 有一个好处就是,每一个题目都有一个讨论区,在讨论区中往往会有超出本人能力范围的巧妙高级解法发表在里面。有个大牛在讨论区发表了自己的解法,其中就用到了 getattr 这个内建函数,这样代码的扩展性就极强了,不再局限于本题目的三条指令。下面就记录一下这个有趣的函数。

上述代码查看传送门

Read more...

DevOps|SaltStack的部署和基本指令

Python SaltStack DevOps

SaltStack 是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,。SaltStack 基于 Python 语言实现,结合轻量级消息队列(ZeroMQ)与 python 第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack 和 PyYAML 等)构建。

Read more...

Web|关于cookie和session一点知识

Python Django cookie session

cookie(维基百科定义)

Cookie(复数形态 Cookies),中文名称为“小型文本文件”或“小甜饼”[1],指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。

Read more...

Python|使用Anaconda完成Python多环境配置

Python Anaconda

今天是六月一号,国际儿童节,首先祝生活中的每一个宝宝(只要你觉得自己是宝宝,那你就是)Happy Children’s Day!!!

OK,言归正传,昨天开始学习 Django 开发,个人认为,作为主流趋势,我倾向于用 pyhton3.x 开发,因为 web 开发有别与其他,对于实时响应要求相对较高,python3 可以更好的优化。在刚刚结束的 Pycon2017 上,来自 Instagram 的 Lisa Guo 和 Hui Ding(两位华裔)分别介绍了Instagram 为何选择 py3 以及整个网站迁移 py3 的过程。虽然还不是很具体了解其中的差别,但一个体量不小的公司做出了向 python3 迁移的举动,一定说明 python3 在 web 开发上有肯定的优势。

Read more...

Python-from __future__ import print_function

future module Python

Python 提供了**__future__**模块,把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中测试一些新版本的特性

在 python2.x 的环境是使用下面语句,则第二句语法检查通过,第三句语法检查失败

	from __future__ import print_function
	print('good')  #可以通过执行
	print 'bad'    #语法错误
Read more...

[转]Python中eval的强大与潜在风险

Python eval
这两天在做项目的过程中,遇到 eval 这个方法,不是很会用,经过一番搜索学习,特此收藏一篇乌云网深度好文,以备以后回顾。 原文出处:WooYun - 隐形人真忙 0x00 前言 eval 是 Python 用于执行 python 表达式的一个内置函数,使用 eval,可以很方便的将字符串动态执行。比如下列代码: #!python >>> eval("1+2") 3 >>> eval("[x for x in range(10)]") [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 当内存中的内置模块含有 os 的话,eval 同样可以做到命令执行: #!python >>> import os >>> eval("os.system('whoami')") win-20140812chjadministrator 0 当然,eval 只能执行 Python 的表达式类型的代码,不能直接用它进行 import 操作,但 exec 可以。如果非要使用 eval 进行 import,则使用import: #!python >>> exec('import os') >>> eval('import os') Traceback (most recent call last): File "", line 1, in File "", line 1 import os ^ SyntaxError: invalid syntax >>> eval("__import__('os'). Read more...
上一页 7 of 9 下一页