- 博客(31)
- 收藏
- 关注
原创 python算法与数据结构006--双向链表的实现
双向链表:每个节点有三个单元,previous,data,next。previous指向前驱元素,next指向后继元素,在整个列表中,只有列表头没有前驱,最后一个元素没有后继。class Node(object): """Node节点,previous指向前驱元素,next指向后继元素。 表头无前驱,表尾无后继""" def __init__(self,da...
2018-08-28 22:57:21 135
原创 python算法与数据结构007--冒泡排序
冒泡排序:重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们的顺序交换过来。最优的时间复杂度:O(n)最坏的时间复杂度:O(n²)是稳定排序#冒泡排序:重复的遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们的顺序交换过来。def bubbleSort1(data): #按升序排列列表里的数据 data = list(data) ...
2018-08-28 22:55:40 199
原创 python算法与数据结构005--单向循环链表的实现
class Node(object): """链表节点""" def __init__(self,data,next=None): self.data = data self.next = nextclass SingleCycleList(object): """单向循环链表""" def __init__(sel
2018-08-26 00:13:59 239
原创 python算法与数据结构004--单向链表的实现
单向链表:每一个节点保存自己的数据和一个next变量指向下一个节点。链表本身只需要存取表头即可。class Node(object): """链表节点""" def __init__(self,data,next=None): self.data = data self.next = nextclass SingleLinkedList...
2018-08-25 21:09:19 164
原创 python基础拾遗007--python语言的动态特性
python语言的动态性主要体现在: **可是给实例添加属性 **可以给实例添加方法 **可以给类添加属性 **可以给类添加类方法或者静态方法先定义一个简单的测试类class Person(object): def __init__(self,name,age): self.name=name self...
2018-08-24 19:09:38 124
原创 python基础拾遗006--装饰器
python里的函数装饰器是利用闭包实现的,实现了对函数功能的补充。def deco(func): def wrapper(): print("---开始装饰函数--") func() print("---结束函数装饰") return wrapper@decodef sayHello(): print("Say ...
2018-08-24 17:33:17 142
原创 python基础拾遗005--闭包
理解闭包之前,先要理解函数引用。在python里面,函数名可以作为函数引用指向函数体。def test_func(): print('say hello')test_func() #调用函数print(test_func) #输出函数test_func的引用b= test_func #将函数引用复制给变量bb()#等价于调用test_func()闭包:内部函数引用外部...
2018-08-24 11:30:07 132
原创 python基础拾遗004--迭代器,生成器
迭代器可迭代对象: 字符串 元组 列表 字典 生成器和带yield的生成器函数。如何判读对象是否可迭代:isinstance(对象,Iterable)如何判读对象是否是迭代器:isinstance(对象,Iterator)如何生成可迭代对象的迭代器:iter(可迭代对象)注意:可迭代对象不一定是迭代器,但是迭代器一定是可迭代对象。from collections impo...
2018-08-24 10:01:23 136
原创 python基础拾遗003--私有化的实现
xx: 公有化变量_x:前面带一个下划线,只是标明是私有属性或者方法,对访问没有影响。__x:避免与子类的属性命名冲突,无法在外部直接访问。(名字被重整成 _className__x)注意:无法再外部直接访问,但是外部可以创建同名的变量。如下。这是新建的变量只属于该示例。class Test(object): def __init__(self): sel...
2018-08-23 17:00:08 161
原创 python基础拾遗002--深拷贝和浅拷贝
在比较深拷贝和浅拷贝之前,要先理解python的可变类型的变量和不可变类型的变量。python中数字,字符串,元组就是典型的不可变类型的变量。对于不可变类型的变量,改变它们的值其实就是在内存中新建了一个变量。如:>>> a=120;b="ACS";c=(11,22,23);print(id(a),id(b),id(c))10923232 140086869042264...
2018-08-22 23:33:08 114
原创 python基础拾遗001-- 模块的导入和==与is的区别
模块导入查看模块导入的查找顺序: import sys; sys.path添加搜索路径: sys.path.append("/pathname")重新加载某个模块: from imp import *; reload(模块名) 循环导入问题:模块之间相互引用,导致引用失败的问题。 ==和is: ==表示值相等,is表示变量指向的引用是同一个。注意整形数字在一定范围内==...
2018-08-22 16:39:56 114
原创 Linux Shell编程006--awk的使用说明
条件操作符: > >= < <= == != ~(匹配) !~(不匹配)逻辑运算符: && || !内置变量:ARGC 命令行参数个数 ARGV 命令行参数排列 ENVIRON 支持队列中系统环境变量的使用 FILENAME 浏览的文件名 ...
2018-08-21 16:24:45 129
原创 Linux Shell编程005--脚本参数的传递
shift n: 参数左移n位getopts:获得多个命令行参数如果shell脚本中需要传递的参数超过九个,可以使用shift和getopts命令辅助实现。shift示例:统计多个文件的行数#!/bin/bash#opt2usage(){ echo "usage:`basename $0` filenames"}totalline=0if [ s# -lt 2 ]...
2018-08-20 23:41:36 167
原创 Linux Shell编程004--shell函数
一、函数的定义 函数名() { 命令 } function 函数名() { 命令 }二、函数的调用,参数的传递类似位置参数。$1-$9#!/bin/bash#myfunfunction hello(){ echo "Hello, Today is `date`" r...
2018-08-20 17:18:35 114
原创 Linux Shell编程003--正则表达式
字符 含义 ^ 匹配行首 $ 匹配行尾 * 匹配0个或多个字符 [] 匹配1个或多个字符序列,加-表示范围 \ 转义特殊字符 . 匹配任意单个字符 pattern\{n\} pattern出现n次 pattern\{n,\} pattern最好出现n次 pattern\{n,m\} pattern出现次...
2018-08-20 16:39:01 172
原创 Linux Shell编程002--控制流结构
一、if语句 语句格式: if 条件 then elif 条件 then else fi#!/bin/bashecho -n "Please enter your name:"read NAMEecho if [ -z $NAME ]echo $NAMEif [ -z $NAME ...
2018-08-17 19:13:03 174
原创 Linux Shell编程001--修改文件的权限
1. 环境准备 : Linux虚拟机安装,securecrt下载安装2. 文件权限 ls -lh: 查询当前目录下所有文件的权限 -rwxrw-r--:表示这是一个文件,该文件的所有者对它的权限是rwx(可读可写可执行),用户组对它的权限是rw-(可读可写),其他用户对它的权限是r--(只读) drw-rwx-w-:表示这是一个目录,该文件的...
2018-08-17 19:12:10 5196
原创 Linux搭建PHP网站
1.安装相关软件 php apache mysql mysql-server php-mysql yum -y install php httpd mysql mysql-server php-mysql 2.启动服务 service httpd start :启动apache服务 service mysqld start :启动mysql服务 mys...
2018-08-03 13:36:20 4417
原创 忘记root密码的情况下修改root的密码
重启虚拟机,在启动界面键入"e"->继续键入"e"->选中第二条数据并键入"e"->输入"空格 + s",然后按回车键 ->继续键入 "e" ->键入 "b"->passwd root修改root的账号密码。在启动界面键入任意"e"。好像键入其他键没有成功。键入键 “e”
2018-08-03 13:35:58 259
原创 Linux虚拟机如何安装虚拟工具
示例:已经在VMWare里面安装了一台Linux的虚拟机,现在需要为虚拟机安装虚拟工具。1)登录虚拟机的桌面,在VMWare里面选中虚拟机,然后在导航栏选择 VM-> Install VMWare Tools。然后虚拟机的桌面就会弹出虚拟工具的光盘。 2)在终端安装虚拟工具 umount /dev/sr0 mount /dev...
2018-08-03 13:35:34 1316
原创 安装Linux Red Hat 6
1. 网上下载镜像文件 rhel-server-6.2-i386-dvd.iso 2. VMware里面准备一个空的Red Hat 6的虚拟机。新建完成后修改配置,指定ISO文件。 3. 启动虚拟机,进入安装界面。(注意:Next按钮在右下脚,有可能需要选中VMWare右边的下拉框才看得到。) 1)选择 Install or upgrad...
2018-08-03 13:34:33 2570
原创 lc5找回windows账户信息
示例: 利用lc5获取win server 2003的账户信息。 1. 安装lc5。百度搜索lc5下载安装包,并将lc5安装到win server 2003虚拟机上。 2. 可以用一下命令创建几个待测试的账号 命令行: net user name password /add 创建用户 net user name...
2018-08-03 13:33:56 1313
原创 hydra实例1
示例: xp上使用hydra爆破windows server 2003的密码。1.开启两台虚拟机,xp和win2003。win2003的登录账号是 administrator/1234562.将在网上下载的hydra包解压并拷贝到xp上。D:\hydra 3.新建password.txt文件,注意文件后缀名是否隐藏。在password.txt文件中准备测试用的密码。 ...
2018-08-03 13:33:40 889
原创 常用windows命令
color 设置DOS窗口的前景和背景色color a 设置窗口字体为浅绿色 arp -a 显示路由的ip和mac地址绑定状态 net view 显示局域网内的所有机器的名字 shutdown -s -t 180 -c “测试关机”shutdown -a 取消关机设定 copy con 编辑文件 (ctrl + z保存修改到文件)...
2018-08-03 13:30:07 173
原创 windows常见问题集
1. 启用win7的Telnet服务 windows->控制面板->程序和功能->启用或关闭windows功能-> 可以选择安装Telnet 服务器或者 客户端 2. 访问共享目录需要输入用户名和密码的问题 解决方法: 共享目录->属性->在 安全和共享条目下都添加everyone用户,并给予读写权限。(不一定能解决)...
2018-08-03 13:29:42 231
原创 winServer2003_IIS服务搭建
1. 安装IIS服务 2. 配置IIS服务 可以将IIS管理器拖放置桌面方便后续查找。 配置默认网站的权限,添加everyone用户组并给予足够的权限用于测试。实际生产中视情况而定。 web服务扩展->允许 "Active Serv...
2018-08-03 13:28:47 5991
原创 VMWare安装win7,win server 2003,winxp
1. 安装 VMware work station , 虚拟机 windows server 企业版2003,win7 32bit, win xp profession VMWare 安装包直接百度下载就可以了,破解码也都搜得到。我用的是 9.0.1版的。 windows server 2003镜像文件: 没有找到,自己百度吧。大把的资源。 win 7 ...
2018-08-03 13:27:22 1735
原创 Oracle SQL基础004_Merge语句
Merge语句可以很方便的把多个操作结合成一个,从而避免使用多个INSERT,UPDATE,DELETE语句。语法:MERGE INTO tabName USING table_view_query ON condition WHEN MATCHED THEN <UPDATE_CLAUSE> ...
2018-08-03 13:26:12 153
原创 Oracle SQL基础003_Update语句的用法
1. 表达式或者具体的值更新某列数据。 2. 使用子查询更新一个单列的值。 3. 更新使用select语句定义的表的值。 注意: dept1和dept2都是通过 create table tabName as select .....创建的。(见下图) 这种创建只会复制表的列和数据,但是不会复制表的约束。如果dept1,dept...
2018-08-03 13:25:57 533
原创 Oracle SQL基础002_Insert语句的用法
单行插入:单表多行插入:多表插入: 准备数据表dept1,其中有8条数据。 准备4张和dept1结构一样的空表 dept11,dept22,dept33,dept44。 将dept1中 deptno < 11的插入 dept11中, 11<depno<22的插入 dept22中,一次类推。 ...
2018-08-03 13:25:00 394
原创 Oracle SQL基础001
解锁账号 alter user scott identified by tiger account unlock; 查看用户下所有的表 select * from tab; select table_name from user_tables; 查看表结构 desc tableName; 连接运算符 || select dept_name || d...
2018-08-03 13:24:45 153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人