用 Python 处理 HTML 转义字符的5种方式

写爬虫是一个发送请求,提取数据,清洗数据,存储数据的过程。在这个过程中,不同的数据源返回的数据格式各不相同,有 JSON 格式,有 XML 文档,不过大部分还是 HTML 文档,HTML 经常会混杂有转移字符,这些字符我们需要把它转义成真正的字符。 什么是转义字符 在 HTML 中 <、>、& 等字符有特殊含义(<,> 用于标签中,& 用于转义),他们不能在 HTML ...

more ...

5个酷毙的Python工具

工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来了很多便利,推荐给追求美好事物的你。 Python Tutor Python Tutor 是由 Philip Guo ...

more ...

零基础如何自学Python

这是昨天一位新加入知识星球的读者问到的问题:机械工程专业零基础如何自学Python ? 程序员在普通人眼里就像魔法师,一个脚本轻松抢几十盒月饼,一个插件解决春运抢票难题,几行代码搭建一个网站,用微信自动聊天,在程序员眼里这些事太稀松平常了,他们只不过是利用了编程语言指挥计算机去自动完成一些需要人类重复操作的繁琐过程,等你会编程也就不觉得大惊小怪了。 ...

more ...

用 Python 连接 MySQL 的几种姿势

尽管很多 NoSQL 数据库近几年大放异彩,但是像 MySQL 这样的关系型数据库依然是互联网的主流数据库之一,每个学 Python 的都有必要学好一门数据库,不管你是做数据分析,还是网络爬虫,Web 开发、亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Python 操作 MySQL ...

more ...

What the fuck Python

每种编程语言都有一些不为人知的陷阱,有些实际工作中会踩到,有些可能根本排不上用场,但弄明白这些陷阱有利于我们更好的去了解这门语言的实现机制。 下面这个题,你是否能一眼看出问题的本质。 第一题 # 第一组 >>> a = 256 >>> b = 256 >>> a is b True # 第二组 >>> a = 257 >>> b = 257 >>> a is b False # 第三组 ...

more ...

Python陷阱:为什么不能用可变对象作为默认参数的值

上次分享过一篇关于图解Python变量与赋值的文章,今天接着这个话题继续聊一聊关于赋值的一些坑。先来看一道题目: >>> def func(numbers=[], num=1): ... numbers.append(num) ... return numbers >>> func() [1] >>> func() [1, 1] >>> func() [1, 1, 1] ...

more ...

自学Python编程怎么学才不那么孤独

Python 是当下最流行的编程语言,甚至高盛的一个调查表示 Python 超过汉语成为未来最重要技能,虽然有点耸人听闻,随着人工智能渗入到我们生活中的方方面面,以后编程就跟现在汽车一样普及,成为一项基本技能。 Python 上手简单,拥有简洁的语法。用途广泛,人工智能、机器学习、数据分析、数据挖掘、网络爬虫, Web 开发等。Python ...

more ...

图解Python变量与赋值

Python是一门独特的语言,与C语言有很大区别,初学Python很多萌新表示对变量与赋值不理解,学过C的都知道,给变量赋值时,需要先指定数据类型,同时会开辟一块内存区域,用于存储值,例如: int a = 1; a 就是内存空间中的一小块区域,就像是一个大房间里面的一个小盒子,赋值就是把整数1装载到盒子里面。 现在给变量a重新赋值 a = 2; ...

more ...

Python:动态语言与鸭子类型

今天来说说编程语言中的动态类型语言与鸭子类型,维基百科对动态语言的定义: 动态编程语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力如PHP、Ruby、Python 都属于动态语言,而C、C++、Java等语言则不属于动态语言。 ...

more ...

关于操作 Python 列表最常见的10个问答

列表是最常用的数据类型之一,本文整理了 StackOverflow 上关于列表操作被访问最多的10个问答,如果你在开发过程中遇到这些问题,不妨先思考一下如何解决。 1、迭代列表时如何访问列表下标索引 普通版: items = [8, 23, 45] for index in range(len(items)): print(index, "-->", items[index]) >>> 0 ...

more ...

关于高效使用Python字典的清单

字典(dict)对象是 Python 最常用的数据结构,社区曾有人开玩笑地说:"Python企图用字典装载整个世界",字典在Python中的重要性不言而喻,这里整理了几个关于高效使用字典的清单,希望Python开发者可以在日常应用开发中合理利用,让代码更加 Pythonic。 1、用 in 关键字检查 key 是否存在 Python之禅中有一条开发哲学是: There should be ...

more ...

如何正确理解@classmethod与@staticmethod

Python面向对象编程中,类中定义的方法可以是 @classmethod 装饰的类方法,也可以是 @staticmethod 装饰的静态方法,用的最多的还是不带装饰器的实例方法,如果把这几个方法放一块,对初学者来说无疑是一头雾水,那我们该如何正确地使用它们呢? 先来看一个简单示例: class A(object): def m1(self, n): print("self:", ...

more ...

简述 __init__、__new__、__call__ 方法

任何事物都有一个从创建,被使用,再到消亡的过程,在程序语言面向对象编程模型中,对象也有相似的命运:创建、初始化、使用、垃圾回收,不同的阶段由不同的方法(角色)负责执行。 定义一个类时,大家用得最多的就是 init 方法,而 newcall 使用得比较少,这篇文章试图帮助大家把这3个方法的正确使用方式和应用场景分别解释一下。 关于 Python ...

more ...

一本书搞定Python入门到实践

上周介绍了几本Python从入门到进阶书籍,今天继续推荐好书,这本书是《Python编程:从入门到实践》。入门 Python 最好的书之一,适合零基础小白,也适合有其它语言背景的程序员 书中有哪些亮点? 豆瓣评分高达8.6,主要基于 Python3.5 讲解,同时也兼顾到了 Python2.7 ,作者推荐的编辑器 Geany 我没用过,不好做评论,不过个人推荐使用 Pycharm 或者 ...

more ...

Python是怎么火起来的

​几年前 Python 在国内还只是一门小众语言,但从 2011 开始到现在,Python 的百度搜索指数翻了10 倍,从下图看得出 Python 在国内的流行度已经直逼 Java (百度指数) 一个行业火不火,就看有多少(自)媒体、培训机构涌入进来为之疯狂,用百度搜关键字“python”就有5条是培训广告,而Ruby、PHP、Go ...

more ...