在 Python 的世界中,一切皆对象。 int / list / dict / … 都是对象,除此之外,函数、类本身也是对象,那么,这些对象究竟是什么呢?
从结果看,Python 中的对象是 C 语言中结构体在堆上申请的一片内存区域。而在具体实现上,这里先简单描述一下。
在 Python 的世界中,一切皆对象。 int / list / dict / … 都是对象,除此之外,函数、类本身也是对象,那么,这些对象究竟是什么呢?
从结果看,Python 中的对象是 C 语言中结构体在堆上申请的一片内存区域。而在具体实现上,这里先简单描述一下。
常见的排序算法——诸如快排、堆排或归并等——都是基于比较的,除了这种正统意义上的排序算法,最近了解了几种令人啼笑皆非的排序算法,与大家分享一下。虽然这些算法都基本不可能用到生产环境,不过,平时拿出来恶搞一下还是比较有意思的。
Python 是一门非常具有包容性的语气,体现在一个优秀的工程师可以非常容易优雅高效地完成一件事情,而一个拙略的工程师通过屎一样的代码同样可以做到几乎一样的功能。今天,介绍一下 Python 的 Ellipsis~~~
想象这样一个问题:
如何优雅地生成一个等差数组?比如输入一个序列的第一、第二项以及最后一项,然后返回这个等差数组。
最近几年互联网行业以迅雷不及掩耳盗铃儿响叮当仁不让之势席卷了每个人生活的方方面面,大把的年轻人开始投身互联网。那么,互联网公司的发展情况如何,对从业者的要求如何,以及不同职能的薪水如何,哪些城市的互联网行业发展更为迅猛,身为互联网行业的一份子,你知道吗?
不识庐山真面目,只缘身在此山中。那么,让我们站在更高的角度,用数据的方式来对互联网行业的职场进行分析,来一起看看这个行业吧。
在Python尤其是Python2中,编码问题是困扰开发者尤其初学者的一大问题。什么Unicode/UTF-8/str,又是decode/encode的,搞得人头都大了。其实不然,这有点类似Java中java.io包一样,看似庞大难懂,但是可以非常精细地定制需求。
最近有几个知乎上的朋友私信问到关于爬虫爬取数据的时候总是出现这样或者那样的问题,这里介绍一个Python HTTP库: requests。Requests是一个基于Apache2协议开源的Python HTTP库,号称是“为人类准备的HTTP库”。
Python中,系统自带的urllib
和urllib2
都提供了功能强大的HTTP支持,但是API接口确实太难用了。requests作为更高一层的封装,确实在大部分情况下对得起它的slogan——HTTP for Humans。
废话少说,先看看requests的简单使用吧:1
2
3
4
5In [1]: import requests
In [2]: resp = requests.get('http://xlzd.me')
In [3]: resp.status_code
Out[3]: 200
在Python里试验一下下面的代码:1
2
3
4
5
6
7
8
9
10
11a = 1
b = 1
print a is b
a = -5
b = -5
print a is b
a = -6
b = -6
print a is b
输出的结果令人咋舌,竟然会是True
、True
、False
,是什么原因导致这样的差异呢?