随笔分类 -  Python

摘要:Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的: 1)静态方法无需传入self参数,类成员方法需传入代表本类的cls参数; 2)从第1条,静态方法是无法访问实例变量的,而类成员方法也同样无法访问实例变量,但可以访问类变量; 3)静态方法有点像函数工具库的作 阅读全文
posted @ 2017-01-04 11:42 paranoia1
摘要: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