
python
文章平均质量分 64
aaronlyt
这个作者很懒,什么都没留下…
展开
-
python 字典的get方法
从字典中获取一个值 你需要从字典中获得一个值,不要处理在字典里找不到你所需要的键值的异常。 那就是字典的get方法。 如果你有一个字典 Python代码 d = {'key':'value'} 在一个异常安全的方法中,你能够写一个从d中提取‘key’的值的测试 Python代码转载 2014-12-15 22:20:02 · 992 阅读 · 0 评论 -
lambd 表达式 filter map apply
lambda表达式:lambda是一个表达式,而不是一个语句,此时Lambda可以出现在Python语法不允许def出现的地方(例如一个列表常量或者函数调用中);作为表达式lambda返回一个值(新的函数)可以选择性得赋值给一个变量,相反def语句总是得在头部将一个新的函数赋值给一个变量而不是将这个函数作为结果返回lambda的主题是一个单一的表达式,而不是一个代码块,lambda原创 2014-12-11 19:08:42 · 887 阅读 · 0 评论 -
python import 搜索路径 路径设置 pythonpath 库
python import 导入概述在一个导入语句中的模块名起到两个作用:识别加载的外部文档,也会变成赋值给被载入模块的变量,模块定义的对象也会在执行时创建,就是在Import执行时,import会一次运行在目标文档中的语句从而建立其中的内容程序第一次导入指定文件文件时执行的步骤:找到模块文件编译成位码(如果需要)执行模块的代码来创建其所定义的对象这三个步骤原创 2014-12-12 14:51:19 · 12475 阅读 · 0 评论 -
python 模块 模块文件
Python 程序架构:一个程序是一个模块的系统,它有一个顶层脚本文件(启动后可以运行程序)以及多个模块文件,脚本和模块都是包含了Python语句的文本文件,并且Python的标准库提供了一系列的预先编写好的模块Python 模块概述一个python包括了多个含有Python语句的文本文件,程序是作为一个主体的的,顶层的文件来构造的,配合有另个或者多个支持的文件,在Pyth原创 2014-12-12 14:46:05 · 1368 阅读 · 0 评论 -
python 函数设计概念
耦合性:对于输入使用参数并且对于输出使用return语句耦合性:只有在真正必要的情况下使用全局变量耦合性:不可改变类型的参数,除非调用者希望这样做聚合性:每一个函数都应该有一个单一的统一的目标每一个函数应该相对较小耦合:避免直接改变在另一个模块文件中的变量原创 2014-12-11 19:49:36 · 644 阅读 · 0 评论 -
修改模块搜索路径 Import as 扩充 相对导入
修改模块搜索路径:模块搜索路径是一个目录列表,可以通过环境变量Pythonpath以及可能的.path路径文件进行定制,实际上Python程序本身是修改名为ysys.path(内置模块sys的path属性)的内置列表,sys.path在程序启动时自动进行初始化;但是在那之后,可以随意对其元素进行删除,附加和重设>>> import sys>>> sys.path['', 'C:原创 2014-12-13 13:21:16 · 808 阅读 · 0 评论 -
python 类对象提供默认行为 实例对象 通过继承进行定制
类对象提供默认行为class语句创建类对象并将其赋值给变量名:Python class语句也是可执行语句,执行时会产生新的类对象,并且将其赋值给class头部的变量名class语句内的赋值语句会创建类的属性,class语句内的顶层的赋值语句会产生类对象中的属性,从技术来讲,class语句的作用域会变成类对象的属性的命名空间,就像模块的全局作用域一样,执行class语句后,类的属性可原创 2014-12-13 15:01:11 · 636 阅读 · 0 评论 -
python 2.5.4到python 3的函数变更情况
25.4. 2to3 - Automated Python 2 to 3 code translation转自 https://docs.python.org/2/library/2to3.html#module-lib2to32to3 is a Python program that reads Python 2.x source code and applies a serie转载 2014-12-11 19:55:15 · 781 阅读 · 0 评论 -
python 变量名解析 LEGB原则
对于一个def语句:变量名分为三个作用域进行查找:首先是本地,之后是函数内,之后是全局,最后是内置在默认的情况下,变量名赋值会创建或者改变本地变量当函数中使用未认证的变量名时,Python就会搜索4个作用域(本地作用域,之后是上一层结 构中def或lambda的本地作用域,之后是全局作用域,最后是内置作用域,但函数中给一个变量名赋值时,Python总是创建或者改变本地作用域的原创 2014-12-11 16:38:19 · 1123 阅读 · 0 评论 -
python import 和 from.........import 模块加载和作用域
import导入:如import moduleName 变量名moduleNmae有两个目的:识别要被载入的外部文件同时生成脚本中的变量,在文件加载后,用来引用模块对象;因为import使一个变量名引用整个模块对象,我们必须通过模块名称来得到该模块的属性from语句:from会把模块内的变量名赋值到另一个作用域(把模块中的变量名并且在from字句中选择的复制到了进原创 2014-12-12 15:54:11 · 4137 阅读 · 0 评论 -
python 重载运算符
python 重载运算符以双下划线命名的方法(__x__)是特殊的钩子,Python运算符重载的实现是提供特殊命名的方法来拦截运算,Python语言替每种运算和特殊命名的方法之间,定义了固定不变的映射关系当实例出现在内置运算时,这类方法会自动调用,例如如果实例对象继承了__add__方法,其对象出现在+表达式内时,该方法就会调用。该方法的返回值会变成相应表达式的结果类可以覆盖多原创 2014-12-13 15:49:47 · 893 阅读 · 0 评论 -
Python 静态方法 类方法
Python 模拟静态方法:#staticmethod.pyclass Spam: numInstances=0 #---------------------------------------------------------------------- def __init__(self): """""" Spam.原创 2014-12-13 20:34:11 · 535 阅读 · 0 评论 -
Python 异常处理
Python 异常处理的用途:错误处理:每当在运行时检测到程序错误时,Python就会引发异常,可以在程序代码中捕获和相应错误,或者忽略已经发生的异常,如果忽略错误,Python默认的异常处理行为将启动:停止程序,打印错误。如果不想启动默认行文,就要写try语句来捕捉异常并且从异常中回复:当检测到错误时,Python会跳到try处理器,而程序在try之后会重新执行时间通知:异常也可原创 2014-12-13 21:29:56 · 536 阅读 · 0 评论 -
Python 机器学习库
转载自 http://blog.chinaunix.net/uid-22414998-id-4143709.html一、前提 在Pthon下做机器学习,需要科学计算包和绘图库的支持,科学计算则是NumPy或SciPy,似乎NumPy更流行些。画图工具包则必定为matplotlib。这些都是开源、免费使用的,选择这些库主要的原因是做线性代数中的矩阵计算极为便利,而且效率比自己开发高的转载 2014-12-14 09:48:03 · 740 阅读 · 0 评论 -
Python __getitem__和自定义的迭代器
__getitem__:__getitem__拦截索引运算符:当实例X出现在X【i】这样的索引运算中时,Python会调用这个实例继承的__getitem__方法(如果有的话)把X作为第一个参数传递,并且方括号内的索引值传给第二个参数>>> class indexer:def __getitem__(sekf,index):return index**2>>> x=原创 2014-12-13 17:20:20 · 5233 阅读 · 0 评论 -
__name__ 用法 单元测试
混合用法模式:__name__和__main__:可以把文件作为模块导入,并以独立式程序的形式运行,每个模块都有个名为__name__的内置属性,Python会自动设置该属性如果文件是以顶层模块程序文件执行,在启动时,__name__就会设置为字符串""__main__"如果文件被导入,__name__就会改设成客户端所了解的模块名__name__用于单元测试:原创 2014-12-13 12:57:19 · 446 阅读 · 0 评论 -
python yeild 生成器
python yeild 生成器生成器函数在生成值后自动挂起并且暂停它的执行和状态(常常在从头计算整个系列的值或者手动保存和恢复类中的状态时,作为一种解决方案)生成器在被挂起时自动保存状态,yield将函数挂起后将向调用者返回一个值////////////////经过单步执行 可以看到(1)和(2)是交替执行的>>> def gensqures(N): ////(1原创 2014-12-11 19:11:58 · 876 阅读 · 0 评论 -
python 类 概述 类树 属性
为什么使用类:继承:通用的属性值需要在通用的情况下实现一次,就能让未来我们所创建的所有种类的机器人重用组合:包含其他的对象,这些对象来运作完成相应的指令,每个组件都可以写程雷,定义自己的行为以及关系类有三个重要的独到之处,使其在建立新对象时更为有用:多重实例:类基本上就是产生对象的工厂,每次调用一个类,就会产生一个有独立命名空间的新对象,没给由类产生的对象都原创 2014-12-13 14:14:12 · 1034 阅读 · 0 评论 -
Python模块设计理念
Python 模块设计理念: 总是在Python的模块内编写代码:木有办法写出不在某个模块之内的代码,事实上,在交互模式提示符下输入的程序代码,其实是存在于内置模块__main__之内的。交互模式提示符独特之处就在于程序是执行后就立刻丢弃以及表达式结果是自动打印的模块耦合要讲到最低:全局变量,就像函数一样,如果编写成闭合的盒子,模块运行的最好。原则就是,模块应该尽可能和其他的模块之间无原创 2014-12-13 14:02:14 · 1410 阅读 · 0 评论 -
python 文档资源 dir __doc__
形式: 角色#注释 文档中的文档dir 函数 对象中可用属性的列表文档字符串:__doc__ 附加在对象上的文件中的文档PyDoc:help函数 对象的交互帮助PyDoc:HTML报表 浏览器中的模块文档>>> import sys>>> dir(sys)['__displayhook__', '__doc__', '__excepthook__', '__n原创 2014-12-11 15:19:45 · 694 阅读 · 0 评论 -
python 变量 命名规则
变量命名规则:以字母和下划线开头,后面跟字母下划线和数字 区分大小写以单一下划线开头的变量名(_x)不会被 from module import *语句导入前后有下划线的变量名使系统定义的变量名(__X__),对解释器有特殊意义以两下划线卡头但是结尾没有两个下划线的变量名(__X)是类的本地变量变量没有类型,但是对象有原创 2014-12-11 15:13:40 · 978 阅读 · 0 评论 -
类相关的主题 子类扩展类型 伪私有属性 内容属性
通过子类扩展类型:类的伪私有属性:class语句内开头有两个下划线但是结尾没有两个下划线的变量名,会自动扩张而包含了所在类的名称。内容属性:提供一种方式让类定义自动调用的方法,来读取或者赋值实例属性,用得最多的是__getattr__和__setattr__原创 2014-12-13 19:58:47 · 398 阅读 · 0 评论 -
Python中的编码设定
PEP 263 - PEP 0263 -- Defining Python Source Code EncodingsPEP:0263Title:Defining Python Source Code EncodingsAuthor:Marc-André Lemburg , Martin von Löwis转载 2014-12-19 11:24:36 · 686 阅读 · 0 评论 -
Python 正则表达式---概念基础,匹配过程,表达式元字符和语法以及实例
转载自 http://blog.youkuaiyun.com/pleasecallmewhy/article/details/8929576以下内容转自CNBLOG:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html一、 正则表达式基础1.1.概念介绍正则表达式是用于处理字符串的强大工具,它并不转载 2014-12-19 20:48:45 · 562 阅读 · 0 评论 -
python 命名空间字典 字典键 继承树的打印
ython 命名空间字典模块的命名空间实际上是以字典的形式实现的,并且可以由内置属性__dict__显示这一点,类和实例对象也是如此:属性点号运算其实内部就是字典的索引运算,而属性继承其实就是搜索联结的字典而已,实例和类对象都是Python带有链接的字典因为属性实际是Python的字典键,那么有两种方式可以读取并对其进行赋值,通过点号运算或者通过键索引运算制作子类的实例时,该实例一开始回事空的命名空间字典,但是有链接会指向它的类,让继承搜索能顺着寻找,实际上,继承树可在特殊的属性中看到,实例中有个__原创 2014-12-13 18:59:05 · 1375 阅读 · 0 评论 -
python 函数 本地变量 函数的命名空间 变量的作用域
python 函数简介def 是一个可执行的语句,当执行到def时首先创建一个对象并且将其变量(即函数名),此时函数名成了这个函数的应用函数参数通过赋值(即对象引用)传递的参数 返回值和变量不是声明>>>test='a'>>> if test=='a':def func():print testelse:def func():print test+'no原创 2014-12-11 16:18:43 · 1726 阅读 · 0 评论 -
Python 内置函数sorted详解和itemgetter, attrgetter
Python lists have a built-insort() method that modifies the list in-place and a sorted() built-in function that builds a new sorted list from an iterable.There are many ways to use them to sort转载 2014-12-16 19:32:00 · 4959 阅读 · 0 评论 -
Python matplotlib安装及所需要的 numpy dateutil pyparsing six的下载地址
推荐网址:http://www.lfd.uci.edu/~gohlke/pythonlibs/先下载相应的matplotlib,然后根据上面的requries需要的包点击相应的链接,然后下载相应的程序然后安装即可(我安装了(numpy,dateutil,pyparsing,six)原创 2014-12-17 11:26:45 · 923 阅读 · 0 评论 -
matplotlib 2D绘图基础
Pyplot tutorialDemo地址为:点击打开链接 一个简单的例子:view sourceprint?1.# -*- coding: utf-8 -*-2.import matplotlib.pyplot as plt3.plt.plot([1, 4, 9, 16])4.plt.ylabel('some numbe转载 2014-12-17 16:16:44 · 840 阅读 · 0 评论 -
Python _X __all__ 模拟 导入'私有'变量 及其注意点和实例
开头是下划线的变量(如_X):在特定的情况下,可以吧下划线放在变量名的签名(如_X)可以防止客户端使用from *语句导入模块名时,把其中的那些变量名复制出去;但是下划线不是'私有'声明:仍可以使用其他导入形式看见并且修改这类变量例如使用import__all__是指出要复制的变量名,而_X时指出不要被复制的变量名;Python会先寻找模块内的__all__列表(如果定义__all__的时候,只会复制__all__内的变量名,不会复制开头没有下划线的变量名),如果没有定义的话,from * 就会复制出开原创 2014-12-13 12:24:17 · 908 阅读 · 0 评论 -
类 作用域 共享变量 实例变量
类 作用域:就像函数一样,class语句是作用域,由内嵌的赋值语句建立的变量名,就存在于这个本地作用域内就像模块内的变量,在class语句内赋值的变量名会变成类对象的属性类变量属于整个class所共享,而实例变量则仅仅属于特定对象实例。类变量和实例变量在操作上的区别 访问:变量通过类名点操作访问也可以通过实例点操作访问className.var实例变量只可以通过实例名点操作访问objectName.var类变量修改:通过className.var修改类变量,该类和所有实例所共享的数据将被修改,原创 2014-12-13 15:54:33 · 1072 阅读 · 0 评论 -
python 字符串
Python中字符串的不可变Python中字符串是不可变的,即不能实地的更改一个字符串,如果更改了一个字符串就会强制的创建一个新的对象,使变量和新建的对象建立联系>>> a='asdfasdf'>>> b=a>>> a'asdfasdf'>>> id(str)505576360 //更改前a的地址>>> a+='3434'>>> a'asdfasdf34原创 2014-12-10 20:17:02 · 339 阅读 · 0 评论 -
python 函数参数传递和参数匹配
参数传递:参数的传递是通过自动将对象赋值给本地变量来实现的,作为参数被传递的对象从不自动拷贝在函数内部的参数名的赋值不会影响调用者改变函数的可变对象参数的值也许会对调用者有影响(实质:不可变对象(如字符串 简单类型 元组)是通过'值'进行传递的,可变对象如字典 列表是通过'指针'进行传递的)>>> def change(a,b):a=2print id(b)print原创 2014-12-11 17:00:23 · 1904 阅读 · 0 评论 -
动态类型简介
对象 变量和引用变量的类型在运行中自动决定而不是通过程序手动指定变量永远不会有任何的和它关联的类型信息和约束,变量是通用的,只是在特定的时间点简单得引用一个特定的对象a=3赋值的过程: 1.创建一个对象2,创建一个变量如果它还没有创建,3将变量与对象连接变量是一个系统表的元素,拥有指向对象的连接的控件对象是被分配的一块内存,有足够的控件表现他们所代表的值引用是自动形原创 2014-12-10 19:55:03 · 412 阅读 · 0 评论 -
python list
list索引和分片都是原地修改>>> a='sdfsd'>>> id(a)32030656>>> b=list(a)>>> id(b)31987112>>> b[0]='x'>>> id(b)31987112>>> b[1]='fsadfsa'>>> b['x', 'fsadfsa', 'f', 's', 'd']>>> b[1:3]=['121原创 2014-12-10 20:42:32 · 440 阅读 · 0 评论 -
python 拷贝
生成拷贝而不是引用赋值生成的是引用而不是拷贝--------没有限制条件的分片表达式能够复制序列---------字典copy方法可以复制字典----------有些内置函数能够生成拷贝例如list()---------copy标准库模块能够生成完整拷贝>>> l=[1,['ewrwer','ewrew'],'werewr','ewrwer']>>> id(l)原创 2014-12-10 21:28:42 · 427 阅读 · 0 评论 -
python 元组
Python 元组:同字符串 列表一样是任意对象的集合通过偏移存取不可变得序列类型;最好被认为对象引用的数组元组的操作:>>> (1,2)+(3,4)(1, 2, 3, 4)>>> (1,2)*3(1, 2, 1, 2, 1, 2)>>> t=('a','sad','bb','cc')>>> id(t)30756656>>> tmp=list(t原创 2014-12-10 21:19:22 · 396 阅读 · 0 评论 -
python 字典
字典的修改是实地的修改>>> d={'spam':22,'hanm':333,'mmm':'asdfsd'}>>> d['spam']22>>> d.has_key ('ham')False>>> d.keys()['mmm', 'hanm', 'spam']>>> d['hanm']='324234'>>> d{'mmm': 'asdfsd', 'hanm原创 2014-12-10 21:01:07 · 292 阅读 · 0 评论 -
Python 命名空间 及变量搜索规则 属性名称 属性名称 无点号运算的变量名
无点号运算的变量名与作用域相对应点号的属性名使用的是对象的命名空间有些作用域会对对象的命名空间进行初始化(模块和类)简单变量名:如果赋值就不是全局变量无点号的简单变量名遵循函数的LEGB作用域法则 具体如下啊:赋值语句(X=value):是变量名称为本地变量,在当前作用域内,创建或改变变量名X,除非声明它是全局变量引用(x):在当前作用域内搜索变量名X,之后是在任何以及所有的嵌套的函数中,然后是在当前的全局作用域中搜索,最后在内置作用域中搜索属性名称:对象命名空间点号的属性名指的是原创 2014-12-13 18:55:14 · 1274 阅读 · 0 评论 -
python 函数装饰器
函数装饰器提供了一种方式,替函数明确了特定的运算模式,也就是将函数包裹了另一层,在另一函数的逻辑内实现静态方法的实现可以用如下的装饰器语法编写class C:@staticmethoddef meth():........装饰器实现的例子:class tracer: def __init__(self,func):原创 2014-12-13 20:48:44 · 428 阅读 · 0 评论