自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张帅的博客

学习笔记

  • 博客(31)
  • 收藏
  • 关注

转载 Python 装饰器与面向切面编程

原文出处: AstralWind 今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。 1. 装饰器入门 1.1. 需求是怎么来的? 装饰器的定义很是抽

2017-06-28 09:53:38 276

原创 数据结构 两个链表合并-python

#!/usr/bin/env python3# -*- coding: utf-8 -*-' a test module '__author__ = 'Zhang Shuai'class Node(): def __init__(self, d, p): self.next = p self.data = da = Node(1, Node(5, Nod

2017-06-27 17:28:07 905 1

原创 python id函数的使用

返回变量值在内存中的地址 返回变量值在内存中的地址 a = [34, 23, 62, 23, 16, 47, 12, 43, 23, 46] c =a print(id(a)) #2601714267720 print(id(c)) #2601714267720

2017-06-27 17:13:30 625

转载 解决ubuntu 14.04 “E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)”的问题

各位亲们在执行sudo apt-get update时可能会出现如下的出错信息:E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)E: 无法对目录 /var/lib/apt/lists/ 加锁E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)E: 无法锁定管理目录(/var

2017-06-19 20:32:46 1203

原创 选择排序

#!/usr/bin/env python3# -*- coding: utf-8 -*-' a test module '__author__ = 'Zhang Shuai's = [2, 4, 45, 23, 65, 234, 3, 123, 455, 26, 87, 96, 34]def xuanze(L): for i in range(len(L)):

2017-06-19 15:45:09 198

转载 pycharm 快捷键

shift + F6:给属性重命名

2017-06-16 10:23:16 241

转载 python __str__,__repr__,__call__()

__str__()和__repr__()只需要定义好__str__()方法,返回一个好看的字符串就可以了:>>> class Student(object):... def __init__(self, name):... self.name = name... def __str__(self):... return 'St

2017-06-15 21:30:53 396

转载 python __slots__

如果我们想要限制实例的属性怎么办?比如,只允许对Student实例添加name和age属性。为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性:class Student(object): __slots__ = ('name', 'age') # 用tuple定义允许绑定的属性名称然后

2017-06-15 21:21:22 186

转载 python filter函数

Python内建的filter()函数用于过滤序列。例如,在一个list中,删掉偶数,只保留奇数,可以这么写:def is_odd(n): return n % 2 == 1list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))# 结果: [1, 5, 9, 15]把一个序列中的空字符串删掉,可以这么写:def

2017-06-15 17:26:56 260

转载 python 编码问题

Python3使用Unicode编码的ord()获取字符的整数表示chr()把编码转化为对应字符>>> ord('A')65>>> ord('中')20013>>> chr(66)'B'>>> chr(25991)'文'如果知道字符的整数编码,还可以用十六进制这么写str:>>> '\u4e2d\u6587''中文'‘AB

2017-06-15 17:16:12 185

转载 python 迭代器 生成器 生成器表达式

迭代器现在你可能注意到大多数容器对象都可以用 for 遍历:for element in [1, 2, 3]: print(element)for element in (1, 2, 3): print(element)for key in {'one':1, 'two':2}: print(key)for char in "123": print(char)

2017-06-15 16:56:44 343

转载 python 父类与子类的一些说明

Python中类的初始化方法是__init__(),因此父类、子类的初始化方法都是这个,如果子类不实现__init__()这个函数,初始化时调用父类的初始化函数,如果子类实现了这个函数,则要在这个函数里显式调用一下父类的__init__(),这跟C++,jAVA不一样,他们是自动调用父类构造函数的。#初始化中调用父类初始化方法示例 #B是A的子类 class B(A):

2017-06-15 13:50:45 1868

转载 Python json操作

使用 JSON 函数需要导入 json 库:import json。函数描述json.dumps将 Python 对象编码成 JSON 字符串json.loads将已编码的 JSON 字符串解码为 Python 对象实例josn.dunmps>>> import json>

2017-06-14 23:15:48 422

转载 python 文件读写

写文件text="hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"f = open('1.txt','w')f.write(text)f.close()open的第二个参数表示打开文件的模式,详细解释如下: w 以写方式打开, a 以追加模式打开 r+ 以读写模式打开 w+ 以读写模式打开 a+ 以读写模式打开 rb 以二进制读模式打开 wb 以二进制写模式打开 ab 以...

2017-06-14 23:05:12 164

转载 python 格式化输出

repr():转化为供解释器阅读的形式。str():转化为适合人阅读的形式>>> s = 'Hello, world.'>>> str(s)'Hello, world.'>>> repr(s)"'Hello, world.'str.rjust():格式化输出,左侧填充空格。如:>>> for x in range(1, 11):... print(re

2017-06-14 22:39:21 246

转载 python dir()

内置函数 dir() 用于按模块名搜索模块定义,它返回一个字符串类型的存储列表。>>> import fibo, sys>>> dir(fibo)['__name__', 'fib', 'fib2']无参数调用时,dir() 函数返回当前定义的命名:>>> a = [1, 2, 3, 4, 5]>>> import fibo>>> fib = fibo.fib>>>

2017-06-14 22:11:09 238

转载 python zip()并行遍历

zip()基本操作方法例如,有两个列表:a = [1,2,3]b = [4,5,6]使用zip()函数来可以把列表合并,并创建一个元组对的列表。zip(a,b)[(1, 4), (2, 5), (3, 6)]在python 3.0中zip()是可迭代对象,使用时必须将其包含在一个list中,方便一次性显示出所有结果list(zip(a,b))[(1,

2017-06-14 21:48:51 1679

原创 python set()集合

定义一个集合(初始化集合需要用set())>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}>>> print(basket) # show that duplicates have been removed{'orange', 'banana', 'pea

2017-06-14 21:23:57 233

转载 Python对于列表的del, remove, pop操作的区别

首先,remove 是删除首个符合条件的元素。并不是删除特定的索引。如下例:>>> a = [0, 2, 2, 3] >>> a.remove(2) >>> a [0, 2, 3] 而对于 del 来说,它是根据索引(元素所在位置)来删除的,如下例:>>> a = [3, 2, 2, 1] >>> 

2017-06-14 21:20:38 2033

原创 python注解

注解是以字典形式存储在函数的__annotations__中。参数的注解是定义在参数名称的冒号后面,紧随着一个用来表示注解的值的表达式。返回注释是定义在一个->后面,紧随着一个表达式,在冒号与->之间。下面的示例包含一个位置参数,一个关键字参数,和没有意义的返回值注释:def f(ham: 42, eggs: int = 'spam') -> "Nothing to see he...

2017-06-14 21:00:20 401

原创 清空redis

flushall 清空缓存flushdb 清空当前数据库

2017-06-14 17:13:49 265

转载 urlib在python3的使用

urlib2在python3中在urlib.request中

2017-06-08 21:49:39 1605 1

转载 urllib对url的处理

quote(),unquote(),urlencode()编码解码quote(),unquote(),quote_plus(),unquote_plus(),urlencode() ,pathname2url(),url2pathname()urllib中还提供了一些辅助方法,用于对url进行编码、解码。url中是不能出现一些特殊的符号的,有些符号有特殊的用途。我们知道以get方式

2017-06-08 21:47:12 1128

转载 eval的用处

可以把list,tuple,dict和string相互转化。#################################################字符串转换成列表>>>a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]">>>type(a)>>> b = eval(a)>>> print b[[1, 2], [3, 4], [5, 6],

2017-06-08 21:37:38 341

转载 python下的redis操作

1、String 操作  redis中的String在在内存中按照一个name对应一个value来存储set()#在Redis中设置值,默认不存在则创建,存在则修改r.set('name', 'zhangsan')'''参数: set(name, value, ex=None, px=None, nx=False, xx=False) ex,过期

2017-06-04 19:36:58 204

原创 redis学习笔记

redis可执行文件说明:redis-server :                Redis服务器redis-cli:                        Redis命令行服务客户端redis-benchmark:          Redis性能测试工具 windows下的启动,切换到redis目录然后执行代码:redis-server.exe redis...

2017-06-04 17:10:10 300

转载 sql基本命令

SQL DML 和 DDL可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了 SQL 的 DML 部分:SELECT - 从数据库表中获取数据UPDATE - 更新数据库表中的数据DELETE - 从数据库表中删

2017-06-04 17:00:30 1068

原创 git笔记

git初始化: git initmdir 在当前目录创建文件夹cat :显示整个文件rm  :删除文件--------------------------------------------------------------------------------------总结:git add files 把当前文件放入暂存区域。git commit 给暂存区域

2017-06-02 16:37:12 387

转载 正则

字符转义如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就得使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\.例如:deerchao\.net匹配deerchao.net,C:\\Windows匹配C:\Windows。需要转义的字符: (  ) . * ?

2017-06-02 11:55:19 320

原创 快排

#!/usr/bin/env python3# -*- coding: utf-8 -*-' 快排 选取s[0]为哨兵,i等于0,j等于n-1,从n-1开始j--找到比s[0]小的插入s[i],然后i++ 找到比s[0]大的插入到s[j],直到 i=j,然后对两侧继续循环排序'__author__ = 'Zhang Shuai'def quick_sort(s, l, r):

2017-06-01 19:37:52 356

原创 冒泡排序

#!/usr/bin/env python3# -*- coding: utf-8 -*-' 冒泡排序 n个 从 0 到 n-1 把最大的排上去, 在从 0到 n-2排出最大,直到全部排序。'__author__ = 'Zhang Shuai's = [23, 423, 23, 42, 54, 23, 12]def maopao(s): i = len(s)-1 whi...

2017-06-01 19:34:23 176

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除