12 2016 档案
摘要:Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西。虽然好像,他们要干的事都很相似——都是想要对一个已有的模块做一些“修饰工作”,所谓修饰工作就是想给现有的模块加上一些小装饰(
阅读全文
posted @ 2016-12-27 11:14
paranoia1
摘要:python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module。那么,__init__.py还有什么别的功能呢?其实,__init__.py里面还是可以有内容的,我们在导入一个包时,实际上导入了它的__init__.py文件。我们可以再__ini
阅读全文
posted @ 2016-12-23 15:53
paranoia1
摘要:作者:于洋链接:https://www.zhihu.com/question/23374078/answer/69732605来源:知乎著作权归作者所有,转载请联系作者获得授权。 很久以前保存的,别人写的但是很明了 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界
阅读全文
posted @ 2016-12-22 14:51
paranoia1
摘要:对象通过提供__call__(slef, [,*args [,**kwargs]])方法可以模拟函数的行为,如果一个对象x提供了该方法,就可以像函数一样使用它,也就是说x(arg1, arg2...) 等同于调用x.__call__(self, arg1, arg2) 。 模拟函数的对象可以用于创建
阅读全文
posted @ 2016-12-19 11:39
paranoia1
摘要:__call__ Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。 换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符。 [python] view plain copy class g_dpm(object): def
阅读全文
posted @ 2016-12-19 11:38
paranoia1
摘要:python apply函数的具体的含义: apply(func [, args [, kwargs ]]) 函数用于当函数参数已经存在于一个元组或字典中时,间接地调用函数。args是一个包含将要提供给函数的按位置传递的参数的元组。如果省略了args,任 何参数都不会被传递,kwargs是一个包含关
阅读全文
posted @ 2016-12-19 11:36
paranoia1
摘要:一、使用内置方法和修饰器方法获取类名、函数名 python中获取函数名的情况分为内部、外部,从外部的情况好获取,使用指向函数的对象,然后用__name__属性 复制代码代码如下: def a():passa.__name__ 除此之外还可以: 复制代码代码如下: getattr(a,'__name_
阅读全文
posted @ 2016-12-19 11:35
paranoia1
摘要:Q:如何方便的计算两个时间的差,如两个时间相差几天,几小时等 A:使用datetime模块可以很方便的解决这个问题,举例如下: >>> import datetime>>> d1 = datetime.datetime(2005, 2, 16)>>> d2 = datetime.datetime(2
阅读全文
posted @ 2016-12-15 15:09
paranoia1
摘要:python可以统计文件的行数,你相信吗?不管你信不信反正我信了。下面我们来看一下python怎样统计文件的行数,代码很简单,我也做了注释,很简单的实现。。。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #_*_coding:utf_8
阅读全文
posted @ 2016-12-15 11:53
paranoia1
摘要:无论哪种编程语言,时间肯定都是非常重要的部分,今天来看一下python如何来处理时间和python定时任务,注意咯:本篇所讲是python3版本的实现,在python2版本中的实现略有不同,有时间会再写一篇以便大家区分。 1.计算明天和昨天的日期 1 2 3 4 5 6 7 8 9 10 11 12
阅读全文
posted @ 2016-12-15 11:03
paranoia1
摘要:match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,mat
阅读全文
posted @ 2016-12-15 11:00
paranoia1
摘要:在python中获取ip地址和在php中有很大不同,在php中往往比较简单。那再python中怎么做呢? 我们先来看一下python 获得本机MAC地址: 1 2 3 4 import uuid def get_mac_address(): mac=uuid.UUID(int = uuid.getn
阅读全文
posted @ 2016-12-15 10:58
paranoia1
摘要:先从原理上分析切片运算: list的切片,内部是调用__getitem__,__setitem__,__delitem__和slice函数。而slice函数又是和range()函数相关的。 给切片传递的键是一个特殊的slice对象。该对象拥有可描述所请求切片方位的属性,例如: 1 2 3 4 a =
阅读全文
posted @ 2016-12-15 10:57
paranoia1
摘要:python执行linux命令有两种方法: 在此以Linux常用的ls命令为例: 方法一:使用os模块 1 2 3 shell# python >> import os >> os.system('ls -l') shell# python >> import os >> os.system('ls
阅读全文
posted @ 2016-12-15 10:51
paranoia1
摘要:最近在用codecademy学python,遇到一些题目错误,小小记录一下 如from math import sqrt是把sqrt作为本文件的方法导入进来了,使用的时候只需要直接调用sqrt。 而如果import是import math,那么调用的时候要采用math.sqrt的方式。 那么如果在自
阅读全文
posted @ 2016-12-15 10:51
paranoia1
摘要:__get__,__getattr__和__getattribute都是访问属性的方法,但不太相同。 object.__getattr__(self, name) 当一般位置找不到attribute的时候,会调用getattr,返回一个值或AttributeError异常。 object.__get
阅读全文
posted @ 2016-12-15 10:50
paranoia1
摘要:如果你在写python程序时遇到异常后想进行如下处理的话,一般用try来处理异常,假设有下面的一段程序: 1 2 3 4 5 6 7 8 try: 语句1 语句2 . . 语句N except .........: do something ....... try: 语句1 语句2 . . 语句N
阅读全文
posted @ 2016-12-15 10:37
paranoia1
摘要:从今天开始和大家分享一下python最基础的知识,以便帮助初学者快速入门。 最最基础的当然是hello world 了,无论哪门语言都会从它开始。。。 简单的‘Hello World!’ 1. 直接运行python 假设你已经安装好了python, 那么在Linux命令行输入: $python 将直
阅读全文
posted @ 2016-12-15 10:36
paranoia1
摘要:1.常用内置函数:(不用import就可以直接使用) help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像函数一样调用 repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝 eval_r(str) 表示合法的
阅读全文
posted @ 2016-12-15 10:34
paranoia1
摘要:对于初学者而言,编码问题或许还没有没重视起来,但是编码问题是中文开发者必须面对的。今天来看下python开发中如何解决编码问题。注意:本篇讲的是最常见的一种编码问题,其他编码问题,如json函数引起的编码问题,其他函数的编码问题,以后会陆续为大家讲解。 编写程序的过程中会碰到中文字符串,但由于Pyt
阅读全文
posted @ 2016-12-15 10:27
paranoia1
摘要:python的基本类型中有元组和列表这么俩个,但是这哥俩却比较难于区分,今天就来用简单的实例说明两者的不同。 列表:1.使用中括号([ ])包裹,元素值和个数可变 实例: aaa = ['sitename','www','pythontab','com'] 元组:1.使用中括号(())包裹,不可以被
阅读全文
posted @ 2016-12-15 10:25
paranoia1
摘要:http://blog.csdn.net/fxjtoday/article/details/6307285 开发Python, 一直以来都是使用自己编写的logging模块. 比较土...... 今天发现python的标准模块的这个功能做的挺好, 记录一下, 以后使用模块来进行logging. 对于
阅读全文
posted @ 2016-12-14 16:09
paranoia1
摘要:原文出处: DarkBull 许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪。在.NET平台中,有非常著名的第三方开源日志组件log4net,c++中,有人们熟悉的log4cpp,而在python中,我们不需要第三方的日志组件,因为它已经为我们提
阅读全文
posted @ 2016-12-14 15:47
paranoia1
摘要:python上手很容易,但是在使用过程中,怎么才能使效率变高呢? 下面说一下提高python执行效率的方法,这里只是说一点,python在引入模块过程中提高效率的方法。 例如: 1.我们要使用os模块中的某个属性,那我们可以单独引入os中某个属性 from os import version 同样的
阅读全文
posted @ 2016-12-14 11:51
paranoia1
摘要:一次在使用json.dumps()过程中,出现错误提示:ERROR:"UnicodeDecodeError: 'utf8' codec can't decode byte 0xe1 in position 5: unexpected end of data"通过错误提示我们知道,肯定是编码问题,找到
阅读全文
posted @ 2016-12-14 11:50
paranoia1
摘要:Python是少有的几种既强大又简单的编程语言。你将惊喜地发现通过使用Python即可轻松专注于解决问题而非和你所用的语言格式与结构。 下面是Python的官方介绍: Python is an easy to learn, powerful programming language. It has
阅读全文
posted @ 2016-12-14 11:49
paranoia1
摘要:Python中的easy_install工具用起来非常好用,它的作用类似于Php中的pear,或者Ruby中的gem,或者Perl中的cpan。1.easy_install安装如果想使用easy_install工具,需要先安装setuptools,不过更酷的方法是使用ez_setup.py脚本:执行
阅读全文
posted @ 2016-12-14 11:47
paranoia1
摘要:使用内置函数实现进制转换实现比较简单,主要用到以下函数: bin()、oct()、int()、hex() 下面分别详解一下各个函数的使用(附实例) 第一部分:其他进制转十进制 1.二进制转十进制 使用函数:int() 实例: 1 2 3 #结果是4 int('100', 2) #结果是4 int('
阅读全文
posted @ 2016-12-14 11:43
paranoia1
摘要:在工作中经常会需要确定使用的py的版本信息,以便适配更多的系统,达到更大的兼容性。一般关于python的信息和参数都要调用sys模块,关于操作系统的信息和调用都要使用os模块 所以这次我们使用sys模块 import sys sys.version #获取python版本等信息 PS:dir(sys
阅读全文
posted @ 2016-12-14 11:40
paranoia1
摘要:今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下:第一种方法:使用自带函数实现。在python的字典的属性方法里面有一个has_key()方法,这个方法使用起来非常简单。例: 1 2 3 4 5 #生成一个字典 d = {'name':{},'age':{}
阅读全文
posted @ 2016-12-14 11:39
paranoia1
摘要:一:知识点 对文件的访问方式一般有三种模式:读模式('r')、写模式('w')或追加模式('a'). 另外两种可混合使用的模式: 二进制模式(‘b’),读/写模式(‘+’)。 如:‘rb’: 读取二进制文件模式 ‘r+’:可读可写模式 写文件的流程:1:可写方式打开文件 2:写文件操作 3:关闭文件
阅读全文
posted @ 2016-12-14 11:29
paranoia1
摘要:学过php或者其他语言的同学都知道,php里面的参数不是个数不是可变的(只是很多时候是可以省略的,因为在函数定义的时候为参数设置了默认值)。但是在python里却不是这样,python里面运行可变参数的出现,参数中出现(*arg,**arg2)的形式。今天我们来详解一下这种用法:例如:def foo
阅读全文
posted @ 2016-12-14 11:20
paranoia1
摘要:python列表解析:是一个让人欣喜的术语,你可以在一行使用一个for循环将所有的值放在一个列表之中。python列表解析属于python的迭代中的一种,相比python for循环速度会快很多。example:a = [x+2 for x in range(10)]print a输出的结果:[2,
阅读全文
posted @ 2016-12-14 11:18
paranoia1
摘要:如果你是一个初学者,或者你以前接触过其他的编程语言,你可能不知道,在开始学习python的时候都会遇到一个比较让人很头疼的问题:版本问题!!是学习python2 还是学习 python3 ?这是非常让人纠结的! 搜索一下便会发现python3 和 python2 是不兼容的,而且差异比较大,到底学习
阅读全文
posted @ 2016-12-14 11:17
paranoia1
摘要:如果你原来是一个php程序员,你对于php函数非常了解(PS:站长原来就是一个php程序员),但是现在由于工作或者其他原因要学习python,但是python很多函数我们并不清楚,在这里我给大家推荐一个好的网站,http://www.php2python.com 从这个网站的域名你可能就知道了,这是
阅读全文
posted @ 2016-12-14 11:16
paranoia1
摘要:看到这个题目大家可能猜到了我接下来要讲些什么,呵呵,对了,那就是列出这两个不同版本间的却别!搜索一下大家就会知道,python有两个主要的版本,python2 和 python3 ,但是python又不同于其他语言,向下兼容,python3是不向下兼容的,但是绝大多数组件和扩展都是基于python2
阅读全文
posted @ 2016-12-14 11:14
paranoia1
摘要:最近,由于实习工作的需要,开始接触Python,但是第一个大的脚本写下来之后,连中文注释都没办法加,很郁闷,遂在网上找解决办法,在Python 官网上看到这个页面:http://www.python.org/dev/peps/pep-0263/。在Python脚本文件的第一行或第二行添加一句: #c
阅读全文
posted @ 2016-12-14 11:13
paranoia1
摘要:在python用import或者from...import或者from...import...as...来导入相应的模块,作用和使用方法与C语言的include头文件类似。其实就是引入某些成熟的函数库和成熟的方法,避免重复造轮子,提高开发速度。 python的import方法可以引入系统的模块,也可
阅读全文
posted @ 2016-12-14 11:08
paranoia1
摘要:本文将详细分析python的全局变量与局部变量,学过php的人都知道,php里面的全局变量是无法在function里面去使用的,只有超全局变量才可以,那么python会怎么处理全局变量与局部变量呢?下面我们来看一下: 其实python里面的全局变量,一般跟c语言里面是一样的 1 2 3 4 5 6
阅读全文
posted @ 2016-12-14 11:02
paranoia1
摘要:下面来看一下python里面是如何删除一个文件及文件夹的~~ 1 2 3 4 5 6 7 8 #首先引入OS模块 import os #删除文件: os.remove() #删除空目录: os.rmdir() #递归删除空目录: os.removedirs() #首先引入OS模块 import os
阅读全文
posted @ 2016-12-14 10:56
paranoia1
摘要:今天我们来尝试使用python 的os.system来执行系统命令可以使用如下方法:import osprint os.system('ping www.baidu.com')输出的结果是:64 bytes from 223.26.58.21: icmp_seq=0 ttl=245 time=36.
阅读全文
posted @ 2016-12-14 10:53
paranoia1
摘要:enumerate函数用于遍历序列中的元素以及它们的下标,多用于在for循环中得到计数,enumerate参数为可遍历的变量,如 字符串,列表等 一般情况下对一个列表或数组既要遍历索引又要遍历元素时,会这样写: 1 2 for i in range (0,len(list)): print i ,l
阅读全文
posted @ 2016-12-13 17:28
paranoia1
摘要:原文出处: 王生辉/李骅宸 引言 with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ import with_statement 导入后才可以使用),从 2.6 版本开始缺省可用(参考 What’s new in Pyt
阅读全文
posted @ 2016-12-13 15:53
paranoia1
摘要:最近有同学问我关于Python类中的super()和__init__()共同点和不同点的问题, 我今天把它们两个的异同点总结了一下,希望可以帮助遇到同样困惑的同学。 单继承时super()和__init__()实现的功能是类似的 1 2 3 4 5 6 7 8 9 10 11 12 13 14 cl
阅读全文
posted @ 2016-12-12 17:27
paranoia1
摘要:时间处理是我们日常开发中最最常见的需求,例如:获取当前datetime、获取当天date、获取明天/前N天、获取当天开始和结束时间(00:00:00 23:59:59)、获取两个datetime的时间差、获取本周/本月/上月最后一天等。而这些转换看起来很乱不容易记住,那么今天我们就来总结一下pyth
阅读全文
posted @ 2016-12-12 16:54
paranoia1
摘要:需求背景 最近为公司开发了一套邮件日报程序,邮件一般就是表格,图片,然后就是附件。附件一般都是默认写到txt文件里,但是PM希望邮件里的附件能直接用Excel这种软件打开,最开始想保存为Excel,但是一想Excel的文件体积会多出好多倍,csv文件默认也是使用Excel打开的,但是根本还是文本文件
阅读全文
posted @ 2016-12-12 16:30
paranoia1
摘要:一般情况下,python中对一个字符串排序相当麻烦: 一、python中的字符串类型是不允许直接改变元素的。必须先把要排序的字符串放在容器里,如list。 二、python中的list容器的sort()函数没返回值。 所以在python中对字符串排序往往需要好几行代码。 具体实现方法如下: 1 2
阅读全文
posted @ 2016-12-12 16:06
paranoia1
摘要:前言 在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、python type()(数据类型)和value(值)。is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。下面来看看具体区别在哪。 Python中比较两个对象是
阅读全文
posted @ 2016-12-12 15:21
paranoia1
摘要:不同的进制 二进制 0b101 以数字0和字母b打头的表示二进制数 如果出现大于等于2的数 会抛出SyntaxError异常 八进制 0711 以数字0打头的数字表示八进制数 如果出现大于等于8的数 会抛出SyntaxError异常 十进制 123 正常显示 不能出现字母 十六进制 0x15 以数字
阅读全文
posted @ 2016-12-12 15:05
paranoia1
摘要:Python支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数), 数字数据类型存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型的结果,在一个新分配的对象的值。 Number对象被创建,当你给他们指派一个值。例如: 1 2 var1
阅读全文
posted @ 2016-12-12 15:03
paranoia1
摘要:在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异 主要体现在以下几个方面: 1.python3中print是一个内置函数,有多个参数,而python2中print是一个语法结构; 2.Python2打印时可以不加括号:print 'hello
阅读全文
posted @ 2016-12-12 14:46
paranoia1
摘要:开发中经常会用到对于字典、列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式。 注意: python2和python3中,下面两种方法都是通用的。 1. 只对键的遍历 一个简单的for语句就能循环字典的所有键,就像处
阅读全文
posted @ 2016-12-12 14:42
paranoia1
摘要:Python是一种非常富有表现力的语言。它为我们提供了一个庞大的标准库和许多内置模块,帮助我们快速完成工作。然而,许多人可能会迷失在它提供的功能中,不能充分利用标准库,过度重视单行脚本,以及误解Python基本结构等。本文是一个关于Python新手可能会陷入的一些陷阱的不完全列表。 1.不知道Pyt
阅读全文
posted @ 2016-12-12 14:36
paranoia1
摘要:版权声明:本文为博主原创文章,未经博主允许不得转载。 版权声明:本文为博主原创文章,未经博主允许不得转载。 还记得什么是新式类和旧式类吗? Python中,一个class继承于object,或其bases class里面任意一个继承于object,这个class都是new-style class。
阅读全文
posted @ 2016-12-12 14:29
paranoia1
摘要:从Python2.2开始,Python 引入了 new style class(新式类) 新式类跟经典类的差别主要是以下几点: 新式类对象可以直接通过__class__属性获取自身类型:type [python] view plain copy # -*- coding:utf-8 -*- clas
阅读全文
posted @ 2016-12-12 14:23
paranoia1
摘要:在阅读模块源码里, 常常看到 globals() locals() 的使用, 这两个函数虽然可以从命名中 从外观上知道不同, 但仍然不明白具体使用方式和实际的意义. 带着好奇和疑问, 先看看 文档和搜索相关的博客, 额外还了解到vars() 函数的信息, 在此带着样例代码介绍. 首先参考官方文档对这
阅读全文
posted @ 2016-12-08 16:17
paranoia1
摘要:参考:http://www.cnblogs.com/wanxsb/archive/2013/05/07/3064783.html Python有两个内置的函数,locals() 和globals(),它们提供了基于字典的访问局部和全局变量的方式。 首先,是关于名字空间的一个名词解释。是枯燥,但是很重
阅读全文
posted @ 2016-12-08 16:11
paranoia1
摘要:这两个函数主要提供,基于字典的访问局部和全局变量的方式。在理解这两个函数时,首先来理解一下python中的名字空间概念。Python使用叫做名字空间的东西来记录变量的轨迹。名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变量的值。实际上,名字空间可以象Python的字典一样进行访问每个函数
阅读全文
posted @ 2016-12-08 16:07
paranoia1
摘要:有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt这个函数,必须用语句"#include<math.h>"引入math.h这个头文件,否则是无法正常进行调用的。那么在Python中,如果要引用一些内置的函数,该怎么处理呢?在Python中有一个概念叫做模块(module),这个和C语言中的头
阅读全文
posted @ 2016-12-08 15:37
paranoia1
摘要:__get__,__getattr__和__getattribute都是访问属性的方法,但不太相同。 object.__getattr__(self, name) 当一般位置找不到attribute的时候,会调用getattr,返回一个值或AttributeError异常。 object.__get
阅读全文
posted @ 2016-12-08 14:49
paranoia1
摘要:Python class 通过内置成员__dict__ 存储成员信息(字典) 首先用一个简单的例子看一下__dict__ 的用法 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 输出结果:{‘b’: 2, ‘a’: 1} 利用__dict__ 可以达到一些简化代码的目的,参考下面的例
阅读全文
posted @ 2016-12-08 14:47
paranoia1
摘要:最近确实是有些忙,刚过了年,积攒了很多事情需要处理,所以每日一函数只能是每两天更新一篇,在这里和大家致歉。 今天我们来看一个非常重要的函数:dir() 中文说明:不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被
阅读全文
posted @ 2016-12-08 14:24
paranoia1
摘要:1.命令介绍 最近学习并使用了一个python的内置函数dir,首先help一下: 复制代码代码如下: >>> help(dir)Help on built-in function dir in module __builtin__: dir() dir([object]) -> list of s
阅读全文
posted @ 2016-12-08 14:17
paranoia1
摘要:对装饰器本来就一知半解的,今天终于弄清楚了,Python中的装饰器是对装饰者模式的很好运用,简化到骨子里了。 python中为什么需要装饰器,看这里:http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html python原理解释,看这里:
阅读全文
posted @ 2016-12-08 14:15
paranoia1

浙公网安备 33010602011771号