类别归档:Python

Python is a programming language that lets you work quickly and integrate systems more effectively.

RSS feed of Python

Windows virtualenv 安装 psycopg2

访问 http://www.stickpeople.com/projects/python/win-psycopg/ 

根据Python版本和处理器版本下载相应的psycopg2安装文件到本地。

下载完毕后不要双击执行,假设安装文件放在 C:\ ,virtualenv目录为 C:\virtualenv,执行如下命令:

C:\> C:\virtualenv\Scripts\activate.bat 
(virtualenv) C:\> easy_install psycopg2-2.6.2.win32-py2.7-pg9.5.3-release.exe

Python Requests实现短网址还原

利用python-requests(http://www.python-requests.org/),只需数行代码即可实现短网址还原。

通过HTTP HEAD请求,从返回响应的头信息(headers)中取出Location字段即为短网址对应的原始网址。

Python代码:

import requests
def revertShortLink(url):
    res = requests.head(url)
    return res.headers.get('location')

代码测试:

print revertShortLink('http://t.cn/RVMAn7W')

返回结果:

http://bookshadow.com/weblog/2016/10 ...

继续阅读

利用matplotlib绘制约数个数统计图

利用Python计算1000以内自然数的约数个数,然后通过matplotlib绘制统计图。

下图为约数个数的散点图及其分布情况的条形图。

Python代码:

import collections
import matplotlib.pyplot as plt

def countDivisors(num):
    ans = 1
    x = 2
    while x * x <= num:
        cnt = 1
        while num % x == 0:
            cnt += 1
            num /= x
        ans *= cnt
        x += 1
    return ans * (1 ...

继续阅读

Python计算约数个数

方法I 从1到n枚举,判断是否可以整除

时间复杂度 O(n)

Python代码:

def countDivisors(num):
    return sum(num % i == 0 for i in range(1, num + 1))

方法II 从1到sqrt(n)枚举,判断是否可以整除

时间复杂度 O( sqrt(n) )

Python代码:

def countDivisors(num):
    cnt = 0
    sqrt = int(num ...

继续阅读

利用matplotlib绘制Logistic曲线

标准Logistic函数为:

f(x) = 1 / ( 1 + exp(-x) )

其导函数为:

f'(x) = f(x) * ( 1 - f(x) )

下面使用matplotlib绘制逻辑斯蒂函数及其导函数的曲线。

Python代码:

import numpy as np
import matplotlib.pyplot as plt

a = np.linspace(-10, 10, 1000)
b = 1.0 / (1.0  + np.exp(-a ...

继续阅读