Python探索之旅 | 第一部分第一课:Python是什么?

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。
转载请注明出处。
原文:https://www.jianshu.com/p/2b63eb1c1613

《Python探索之旅》全系列

内容简介


  1. 前言
  2. 什么是编程语言
  3. Python 是什么
  4. 总结
  5. 第一部分第二课预告

1. 前言


如果你决定学习这个系列课程,那我替你感到高兴!

因为我坚信:学一点 Python,以及围绕 Python 展开的 Web 开发、数据分析和人工智能,等等知识,对于程序员特别是这个时代的程序员来说是非常有好处的。
当然,我不是培训机构,我不会告诉你 Python 无所不能,不学 Python 就“错过一个亿”,等等。

最近几年,Python、人工智能、数据分析,等等占据了各大媒体的头版头条,可以算是最热门的几个词汇了。有很多人开始以人工智能创业,不少公司也以高薪聘请人工智能方面的专业人士。但是供需不平衡,目前人工智能方面的人才还很稀缺,专家更是寥寥。

之前我写过一篇文章:《最近迫切应学的编程语言》,说的就是 Python 语言。

现在,Python 在我国也越来越受重视,很多 Python 相关的职位薪资也不错,Python 还被编写进了中小学乃至幼儿园的编程书籍。Python 目前在编程语言排行榜(如 TIOBE 排行榜)中也位列前三。

这个系列教程首先会带大家学习 Python 这门有趣的语言,入门 Python 的面向对象编程。之后会学习 Python 可以做的不同事情,例如 Python 的著名库(Numpy,Pandas,Matplotlib,等等)。再到数据分析、Web 开发、人工智能的不同内容。会讲到 Python 的更多框架,例如 Django 和 Flask 等 Web 框架;人工智能的一些热门框架(比如 TensorFlow,PyTorch,等等),再用这些框架来开发一些有趣的应用。Python 在爬虫领域的使用也会涉及。

如果你已经有一定编程经验,学过编程语言,那学习这个系列课程会很轻松。如果你是还没入门编程的新人,那也无妨,因为这个系列教程就和我的大多数教程一样,都是适合零基础入门的。

Python 相对容易入门(当然,要精通也有难度),相比于 C 语言、C++ 和 Java 的入门,要轻松不少。

我之前写过一篇文章:《第一门编程语言选什么好》,里面讲了可以从 C 语言或 Python 入门编程。当然了,也有不少人推荐从 Java 入门,也是不错的选择。

如果你想学习 C语言,可以看我的很受欢迎的免费系列教程《C语言探索之旅》。我的其他系列教程请大家在我的账号中搜索~

在这第一课中,我会首先带大家了解一下 Python 这门语言。我们首先会解释一下什么是编程语言,然后我们会回顾一下 Python 的历史(Python 还是有点“年纪”的),并讲解 Python 可以做什么。

好了,坐好扶稳,我们要发车了~

2. 什么是编程语言


人类的交流

放心,我们不会讨论生物学和哲学的理论,所以请不要离开!

人类的交流是比较容易理解的。你目前正在看我的文章,可以看到很多中文字。

你可以看懂我在写什么,那是因为我们在语言和书写方面都遵守了某些约定。在中文(或英语、法语,乃至其他语言)中,有语法和拼写规则。 通过有意识地了解这些规则,并根据情况或多或少地善用这些规则,人与人就可以进行交流了。

然而,这些语法和拼写规则,也是很容易规避的:没有人可以说自己记住了某种人类语言的所用语法和拼写的规则。而且,也很少有人特别在意。 毕竟,即使你犯了错误,与你交流的人也可以理解你。

如果我们看到的一篇文章里有几个错别字,并不会妨碍我们理解文章的意思。如果有老外用中文和我们交流,即使他们的中文语法不是很标准,发音有点失准,也不妨碍我们理解彼此。

人与电脑的交流,和人与人之间的交流是不一样的。是的,电脑也可以交流。

你的电脑也会交流

是的,你的计算机(computer,也被称为“电脑”)会与你交流,并且你也会与之交流。

虽然,你的计算机应该不会告诉你“我饿了”,“冬天很冷”,“你刚才播放的电影是部欢乐的喜剧”,等等。

但其实,你和计算机之间的交流也并没有什么特别神秘的东西。当你双击浏览器的应用图标时,它会被打开。当你点击浏览器应用的左上角或右上角的红叉时,浏览器就知道要被关闭了。

机器语言

我们人类交流最常用的还是语言(Language),比如我们中国人就用中文,国际上用得比较多的语言是英语,也有用西班牙语和法语的,等等。

实际上,你的电脑不管是跟你交流还是自己与自己“对话”,都是基于一门特别的语言:机器语言(Machine Language)。

你也许会说:“好吧,人说人话,机器说机器话。那什么是机器语言呢?”

计算机可以执行的基本操作是非常基础的,包括两个数字的加法,减法,乘法,除法,整数与否。 但是,这五项操作却是最复杂的仿真软件或超大型游戏的底层机制。

所有这些软件的工作方式基本相同:

  1. 用机器语言编写的一系列指令组成程序;
  2. 在程序的执行过程中,这些指令向计算机描述了它应该要做什么(计算机是很“憨”的,可不会猜测)。

一系列指令?这又是什么意思呢?

例如,如果你单击浏览器的右上角或左上角的红叉,就可以要求浏览器程序关闭。但是,就机器语言而言,仅此一项操作就需要大量机器语言的指令。

你可以想象,用机器语言(也就是二进制语言。二进制语言仅包含 0 和 1)与计算机(计算机只能理解二进制)交谈,既不丰富,也不是非常实用,在任何情况下都不是很有趣。

例如,1000100110111101101110001101011100110111101110101011001 也许可以表示“你好”(当然了,这只是假设。我并不知道这一长串二进制码表示什么)。简而言之,与计算机进行二进制聊天是非常累人的(至少对于我们人类来说)。

为此,我们发明了编程语言,来简化与计算机的通信。

编程语言

编程语言(Programming Language)是我们人类更容易理解的语言。编程语言和机器语言的机制是类似的,却更易于被人类理解。

但是,为了让机器能够理解,还是必须将编程语言写的程序先翻译成 0 和 1 的二进制语言(也就是机器语言)。如下图:

大体来说,程序员“只需要”用所选择的编程语言编写代码行,后面的步骤一般不需要特别操心,你选择的编程语言的某些软件和操作系统自会处理。

目前来说,还没有必要对这些比较复杂的机制进行更多的解释。如果你未能理解上面所说的词汇和所有的解释,对后续课程的学习也并不会有什么妨碍。但是我觉得给出一些与计算机进行通信的方式的细节是很有趣的。

3. Python 是什么


编程语言种类繁多,Python 也是一门编程语言。

Python 就相对比较接近人类的自然语言。比 Java,C语言和汇编语言,离机器语言更远:

这也是 Python 相对容易入门的一大原因。

Python 被称为“小白首选高级语言,老鸟必备第二语言”,是一种通用(general-purpose)语言,这意味着它可以用于构建几乎所有东西!

Python 非常适合用于 Web 后端开发、数据分析、人工智能和科学计算。许多开发人员还使用 Python 构建生产力工具,游戏和桌面应用程序。

例如:

  • Instagram 是用 Python 构建的。YouTube 也是。

  • Python 是 Google(谷歌)工程师使用的三种官方语言之一(另外两种是 Java 和 C++)。

  • Netflix 使用 Python 在服务器端支持其数据分析。

  • Dropbox 的桌面客户端使用了 Python。

  • 国内的知乎、豆瓣、果壳等网站最早是用 Python 写的。美团、字节跳动等公司,也大量使用了 Python。

对于数据科学(Data Science),由于有许多可用的库,Python 经常被用于数据操作和可视化。

Python 这门编程语言还算比较年轻,第一个版本是 1991 年发布的。相比于 1972 年发布的 C 语言,算是“小伙子”了。

也许有不少人认为 Java 比 Python “年纪更大”(主要因为在我们中国,Java 比 Python 更早普及。一开始 Python 也没有得到太多重视),其实 Python 比 Java 更早出现,Java 是 1995 年由著名的 Sun 公司(已被 Oracle 收购)发布的。

Python 的作者是荷兰人,叫 Guido van Rossum(吉多·范罗苏姆。外号“龟叔”)。见下图:

可以看到,Python 之父的发量还是很多的。

而最复杂的编程语言(之一。其实我并不太想加这个“之一”)的 C++ 语言的发明人 Bjarne Stroustrup(本贾尼·斯特劳斯特卢普)的发量就有点尴尬了,见下图:

所以说,“C++ 之难,难于上青天”,此话不假。

当然了,这是玩笑话。编程语言的发明人的发量并不能作为语言难易程度的衡量标准。

Python 诞生的小历史

1989 年,在一个寒冷的夜里,来自荷兰的开发者 Guido van Rossum 感到很无聊。他正在寻找一种在圣诞节打发时间的方法,因为他的公司在圣诞节期间不开门。

当人们正在准备圣诞节,布置圣诞树时,他却用自己的电脑(苹果 的 Mac 电脑)发明了一种语言(严格地说,是开始用 C语言来编写 Python 的编译器)。作为喜剧团体 Monty Python 的忠实拥护者,他将这门新的编程语言命名为 Python。这也是为什么 Python 开发人员大多“具有幽默感”(参看 Python 官网的 https://www.python.org/doc/humor “幽默”栏目)并乐于在他们的代码中放置一些小玩笑的原因。

2001 年,Python 的非营利组织 Python Software Foundation(Python 软件基金会) 成立了。

Python 的官网是 https://www.python.org 。

Python 在英语中是“巨蟒”的意思,因此 Python 的 logo 使用了“蠢萌”的大蟒蛇,尽管它的命名与蟒蛇并没有什么关系。

Python 可以做什么?

Python 是一种功能强大的语言,既易学又具有丰富的可能性。

一旦你将 Python 安装到计算机上,你便拥有了许多功能,因为这些功能是集成在这门语言中的。而且,我们之后会看到,扩展 Python 的现有功能也非常容易。因此,存在所谓的库(library)来帮助开发人员处理特定项目。例如,可以安装各种图形库来用 Python 开发图形界面。

具体来说,我们可以使用 Python 创建如下的东西:

  • 小型、非常简单的程序,通常称为脚本(script),在计算机上具有非常特定的任务。我们公司就用了不少 Python 的脚本,用于代码审查、编译之类的工作。

  • 完备的程序,例如游戏,办公套件,多媒体软件,电子邮件客户端,等。

  • 非常复杂的项目,例如软件组合(可以协同工作的几种软件的集合,主要在专业领域中使用)。

Python 和其庞大的库也给了我们实现很多任务的可能:

  • 创建图形界面;
  • 通过网络传播信息;
  • 与你的操作系统进行高级通信;
  • 等等。

当然了,你不可能一下子学会所有这些。但这门课程会让你掌握足够多的基础,以便之后你可以开发大型 Python 项目。

一门解释型的编程语言

Python 是一门解释型的编程语言,也就是说,你发送给它的指令在被读取时会被“转录”(解释)为机器语言。

另外,也有一些编程语言(例如 C语言和 C ++)被称为编译型语言,因为在执行它们之前,需要专门的软件负责将程序代码转换为机器语言,此步骤被称为“编译”(compilation)。每次更改代码后,都必须重新调用编译步骤。

解释型语言的优点是简单(在执行程序之前不会经过编译步骤)和跨平台性(如 Python 之类的语言在 Windows、Linux 或 macOS 等操作系统下都能很好地工作,而且你不必为了从一个操作系统转到另一个系统而进行任何代码更改)。

这并不意味着编译型语言不是跨平台的,但是你必须使用不同的编译器。并且从一个操作系统到另一个操作系统,某些指令是不兼容的,运行的结果会有所不同。

不过,事实证明,编译型语言比解释型语言要快得多(因为即时翻译程序会减慢执行速度)。尽管随着不断的改进,编译型语言和解释型语言的速度差异会越来越小。此外,你需要在操作系统上安装 Python(解释器),以便计算机可以理解你的代码。

不同版本的 Python

自 2001 年 Python Software Foundation 被创建以来,经年累月,Python 语言经历了一系列的版本改动。这些版本被称为 Python 2.x(例如,2.3,2.5,2.6,2.7)。

然而,2009 年 2 月 13 日,Python 的 3.0.1 版本发布。3.0.1 版本破坏了以往版本中普遍存在的向后兼容性(Backwards compatibility)。

一般来说,当程序员们开发一门编程语言的新版本时,总会避免删除或修改过多的旧功能,以便向后兼容(也就是以前用这门语言的旧版本编写的程序也可以运行在新版本上)。

自此,Python 2 和 Python 3 就有点“分道扬镳”了。Python 2 和 Python 3 的不兼容性也是以往 Python 被诟病的一大原因。

万幸的是,Python 2 版本在 2020 年 1 月 1 日已经正式停止官方更新了。

因此,我强烈建议你直接学习 Python 3 版本,不需要理会 Python 2 版本了。

在这个系列课程中,我们也会用最新稳定的 Python 3 版本。

4. 总结


  • Python 是一门解释型语言,和 C语言,C++ 等编译型语言是不同的。

  • 我们可以使用 Python 来创建几乎所有类型的程序,例如游戏、绘图、爬虫,等等。

  • Python 的一个强大之处是它的库(library)非常多,众多优秀的库大大增加了 Python 的可能性。

  • Python 是跨平台的,可以运行在几乎所有操作系统上,例如 Windows,Linux,macOS,Unix,等等。

5. 第一部分第二课预告


今天的课就到这里,一起加油吧!

下一课:Python探索之旅 | 第一部分第二课:安装Python和Python的常用开发软件


我是 谢恩铭,公众号「程序员联盟」(微信号:coderhub)运营者,慕课网精英讲师 Oscar 老师,终生学习者。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」

相关推荐

C++探索之旅 | 第一部分第三课:你的第一个C++程序

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:https://www.jianshu.com/p/d44bd24ce6af《C++探索之旅》全系列内容简介前言命令行的奇幻世界创建第一个项目解释第一个项目注释及代码整洁之道总结第一部分第四课预告1. 前言上一课是 C++探索之旅 | 第一部分第二课:C++编程的必要软件 。经过上两课之后,我们已经知道了什么是编程,编程的语言,编程的必要软件,C++ 是什么。我们也安装了适..

程序员联盟 743

Python探索之旅 | 第一部分第四课:变量的奇幻世界

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:https://www.jianshu.com/p/d88e11bc7fec《Python探索之旅》全系列内容简介前言什么是变量及变量的作用Python 的数据类型第一次使用函数总结第一部分第五课预告1. 前言在上一课 Python探索之旅 | 第一部分第三课:初识Python的解释器 中,尽管你可能没有注意到,但其实你已经输入了 Python 的第一条命令。从现在开始,我们将逐..

程序员联盟 564

Python探索之旅 | 第一部分第三课:初识Python的解释器

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:https://www.jianshu.com/p/a34eaffcc420《Python探索之旅》全系列内容简介前言Python 的解释器Python 解释器的种类做一点数学运算总结第一部分第三课预告1. 前言上一课是 Python探索之旅 | 第一部分第二课:安装Python和Python的常用开发软件 。经过第一课的理论概念和第二课的 Python 开发环境安装之后,我们是..

程序员联盟 595

Python探索之旅 | 第一部分第二课:安装Python和Python的常用开发软件

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:https://www.jianshu.com/p/68fcd46254f5《Python探索之旅》全系列内容简介前言安装 Python(Windows、macOS 和 Linux)安装 PyCharm 这个 Python 最强 IDE创建 Python 项目第一部分第三课预告1. 前言上一课 Python探索之旅 | 第一部分第一课:Python是什么? 中,我们初步认识了什么是编..

程序员联盟 4641

为什么程序员应该写博客?用什么博客系统?

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:http://www.jianshu.com/p/f7a970b08362内容简介前言写博客的态度写博客的好处用什么博客系统我的平台1. 前言作为程序员,我们敲代码的时候很轻快,键盘上噼里啪啦,「弹指间,樯橹灰飞烟灭」。但是,不少程序员不喜欢写东西。当然,人都是有惰性的,要跨出这一步不容易。我开始得也有点晚,不过晚总比不开始好。现在我很喜欢写博客,写博客带给我很多好处。比如有一点副业收..

程序员联盟 1959

第一门编程语言选什么好?

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:http://www.jianshu.com/p/c2b85495cea6内容简介前言建议入门推荐分析总结1. 前言现在 IT 行业越来越火爆,许多朋友都愿意入门「挨踢」,噢,不,当程序员。那么问题来了,对刚接触这个领域的新人来说,选什么语言作为第一门语言呢?这是很关键的问题,因为这很可能决定了这位新人是「从入门到继续」还是「从入门到放弃」。2. 建议我推荐:或者从 C 语言入门..

程序员联盟 1884

最近迫切应学的编程语言

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:http://www.jianshu.com/p/08ca8573e681编程语言之争从来不曾停止,这篇文章绝对不会去讨论哪个语言是最好的(当然了,除了“PHP 是世界上最好的语言”这句“真理”之外)。插句题外话,不要听一些人说:“编程语言没有好差之分,只有用起来顺不顺手”。这话其实不正确,编程语言就是有好差之分。有些编程语言就是设计得不好,就是不适合一般的应用,就是无人问津。我想谈谈最近几年我的感受:..

程序员联盟 620

中国程序员如何升职加薪,也许我们该学学印度人

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:http://www.jianshu.com/p/be5047992c01内容简介前言分析总结1. 前言近几年越来越多的印度人在美国硅谷占据要职,其中比较著名的有谷歌 CEO 桑德.皮查伊,微软 CEO 萨蒂亚.纳德拉,Adobe CEO 山塔努.纳拉延。反观硅谷的华裔,虽然在数量上与印度裔相近,却不像印度人那样大量占据企业的中高层。你可以说因为印度人英语比较好,虽然他们说英语普遍有口音..

程序员联盟 577

数据结构和算法 | 第一部分第五课:算法复杂度实践

作者 谢恩铭,公众号「程序员联盟」。转载请注明出处。原文:https://www.jianshu.com/p/060ef52580af内容简介前言寻找最大和最小的元素寻找不重复的元素寻找不重复的元素:另一种方法第一部分第六课预告1. 前言经过 数据结构和算法 | 第一部分第三课:算法复杂度(上) 和 数据结构和算法 | 第一部分第四课:算法复杂度(下) ,我们讲完了算法复杂度,是时候来做点实践的练习,巩固一下所学知识点了。算法的复杂度是个不错的知识点,但是它与我们这门算..

程序员联盟 590

数据结构和算法 | 第一部分第四课:算法复杂度(下)

作者 谢恩铭,公众号「程序员联盟」。转载请注明出处。原文:https://www.jianshu.com/p/3e5e987c7e05内容简介大 O 符号时间复杂度和空间复杂度最坏情况下的复杂度第一部分第五课预告1. 大 O 符号上一课 数据结构和算法 | 第一部分第三课:算法复杂度(上) 我们开始了算法复杂度的学习,这一课我们继续学习后半段。我们已经看到,复杂度只考虑操作数目的一个数量级(忽略了其他的组分),这是一种近似。为了表示这种近似,我们使用一个特定的符号,就是著..

程序员联盟 601

数据结构和算法 | 第一部分第三课:算法复杂度(上)

作者 谢恩铭,公众号「程序员联盟」。转载请注明出处。原文:https://www.jianshu.com/p/14982c42b2d8内容简介算法的正确性算法的复杂度“渐近”度量第一部分第四课预告1. 算法的正确性上一课 数据结构和算法 | 第一部分第二课:小鸭子们去旅行 中,我们讲了一个有趣的小故事,就是为了引出算法复杂度。算法复杂度非常重要,要讲的内容也很多,所以我们分为上下两课。当程序员需要解决计算机科学相关的问题时,他们(通常)会编写一个程序。这个程序包含一..

程序员联盟 667

数据结构和算法 | 第一部分第二课:小鸭子们去旅行

作者 谢恩铭,公众号「程序员联盟」。转载请注明出处。原文:https://www.jianshu.com/p/31d14bd080d4内容简介引出算法复杂度的故事两种算法两种算法的对比第一部分第三课预告1. 引出算法复杂度的故事上一课 数据结构和算法 | 第一部分第一课:什么是数据结构和算法 中,我们初步认识了数据结构和算法。既然我们要开始学习算法,就不能不提一下算法复杂度。但在我们开始谈论算法的复杂度(Complexity)之前,我希望先给大家讲个小故事。这个轻松的小..

程序员联盟 504

数据结构和算法 | 第一部分第一课:什么是数据结构和算法

作者 谢恩铭,公众号「程序员联盟」。转载请注明出处。原文:https://www.jianshu.com/p/b2f23799a5bb内容简介前言什么是算法算法无处不在计算机的“特权”角色什么是数据结构第一部分第二课预告1. 前言程序员应该知道:程序 = 数据结构 + 算法(Program = Data Structure + Algorithm )。作为一个程序员,如果不了解数据结构和算法,应该会不太好意思出门跟人家打招呼。在这个课程里,我会带大家以循序渐进、轻松幽..

程序员联盟 606

微信公众号排版 | 汇总和实战

1. 排版重要性2. 公众号排版资源3. 公众号排版须知4. 图文排版实战

程序员联盟 3003

如何消除苹果Mac电脑开机声音

-- 简书作者 谢恩铭 转载请注明出处内容简介前言实现1. 前言苹果的 Mac OS X 操作系统,我个人认为非常之赞。用了 Mac 系统,真的回不去 Windows 了。我之前用过2014年出品的 MacBook Pro 15 寸,可惜来巴黎第一个月末被偷了。现在我用的是 2015 年出品的 MacBook Pro 13 寸。作为一个有 5 年工作经验的程序员,我觉得:对于

程序员联盟 1万+

Linux安装搜狗拼音和谷歌拼音输入法

-- 简书作者 谢恩铭 转载请注明出处内容简介前言安装前准备安装搜狗拼音输入法安装谷歌拼音输入法总结1. 前言作为每天使用 Linux 的程序员,我很喜欢 Linux 系统。在公司里,我的台式电脑上只装了 Ubuntu 16.04。每天就是 :命令行,各种爽;谈笑间,键盘“灰飞烟灭”。在家里我有两台电脑,一台 2015 年 13 寸 MacBook Pro ,一

程序员联盟 2505

苹果Mac自带词典完美扩充

-- 简书作者 谢恩铭 转载请注明出处内容简介前言准备工作实作后记1. 前言作为一个使用苹果Mac电脑的程序员,非常喜欢Mac OS系统的便捷和高效。基本上我可以说,用过Mac OS,就不再想要用Windows系统了,除非你要玩高端游戏。Mac系统自带的词典(Dictionary,英语“词典”的意思)软件也非常好用,只需要把光标置于你想释义的词上面,再用三个指头同时按下触摸

程序员联盟 4883

【Android信息安防】三星KNOX容器(2)

-- 简书作者 谢恩铭 转载请注明出处内容简介前言三星的KNOX容器例子app我改动后的源码主要的改动后记1. 前言上一篇【Android信息安防】三星KNOX容器(1)中, 我们简介了Android的容器概念和三星的KNOX容器, 这次我们要来看一下创建KNOX容器的例子app, 以及我的实现。下文中Container和容器可以互换。因为容器的英语就是Container

程序员联盟 1316

【Android信息安防】三星KNOX容器(1)

--简书作者 谢恩铭 转载请注明出处内容简介前言Android容器三星的容器次回预告1. 前言在这个飞速发展的IT时代,信息安全越来越成为人们关注的话题。旧版的Android系统总是被人们吐槽说安全系数低,不如乔帮主的苹果iOS系统那么安全。但是,Android早已今非昔比。虽然iOS还是比较精致,但是最近的几个版本都不是那么完美,很多低级的Bug,唉,也是醉了(小编

程序员联盟 2740

Android探索之旅 | AIDL原理和实例讲解

-- 简书作者 谢恩铭 转载请注明出处前言为使应用程序之间能够彼此通信,Android提供了IPC (Inter Process Communication,进程间通信)的一种独特实现: AIDL (Android Interface Definition Language, Android接口定义语言)。网上有不少关于AIDL的文章,写得都很不错。不过例子构造大多略微复杂: 建立两个An

程序员联盟 804

ubuntu-make | Ubuntu Linux一键安装开发环境

-- 简书作者 谢恩铭 转载请注明出处内容简介什么是ubuntu-make安装最新版ubuntu-make用ubuntu-make一键安装所需开发环境在Github上为开源项目ubuntu-make做贡献1. 什么是ubuntu-make我之前的文章 Linux探索之旅 | 第二部分第七课:软件安装,如虎添翼 中, 已经写了如何在Linux下安装软件。相比于Windows,

程序员联盟 1002

Android探索之旅 | 为应用添加角标(Badge)

-- 简书作者 谢恩铭 转载请注明出处内容简介需求简介Android角标起源不错的Github项目清除角标小问题纠错总结1.需求简介角标是什么意思呢?看下图即可明了:可以看到图中的乐购这个app右上角的红色的圆圈,里面有10这个数字的,就是一种角标。角标,英语是badge,也就是“徽章,像章,奖章; 象征,标记”的意思。一般来说,应用的角标是用来标记有多少条

程序员联盟 971

为什么程序员一定要会用Google和Stack Overflow?

-- 简书作者 谢恩铭 转载请注明出处内容简介前言为什么用Google不用百度为什么用Stack Overflow小结前言下文中,谷歌统一用Google表示。作为程序员,用Google比用百度更节省时间,此话不假。 在法国工作也有4年了,加上之前的两个6个月的实习,勉强算“5年”工作经历吧...虽说我离编程大牛还相距甚远,但是:这些年编程的一个很深的感触就是:95%的

程序员联盟 623

Android开发小技巧 | 一句命令搞定截屏

-- 简书作者 谢恩铭 转载请注明出处一句命令搞定截屏在安卓开发中, 我们很多时候都要用到截屏这个功能。 有时是为了演示, 有时是为了报告问题(比如在Bugzilla, Jira, Redmine等Bug跟踪系统中上传截图), 有时是为了发布应用时要用的截图。今天就来聊聊如何快速只用一句简单的命令就搞定截图。由繁到简的演进:三种方法这篇主要讲Linux系统下如何Android手机截

程序员联盟 915

程序员小助手 | Emacs,最强编辑器,没有之一

Emacs的Logo-- 简书作者 谢恩铭 转载请注明出处【程序员小助手】系列在这个系列文章(不定期更新)中,小编会把这些年的编程学习和工作中使用到的个人感觉非常好的软件推荐给大家,希望能够共享美好资源,使大家提高编程和办事效率。Emacs,最强编辑器,没有之一小编知道,此标题一出,肯定会遭受广大群众“诟病”,说不好还会被其他编辑器的粉丝暗地里“干掉”。比如,Vim,Subli

程序员联盟 4138

Android探索之旅 | 用AsyncTask实现多线程+实例

-- 简书作者 谢恩铭 转载请注明出处用AsyncTask实现多线程在Android应用开发中,有时我们需要实现任务的同步。Android里的AsyncTask类可以帮我们更好地管理线程同步(异步方式),就像Thread类能做的,不过用法比Thread更简单。AsyncTask算是帮我们做了一层封装吧,使我们可以不用操心那么多,如果阅读AsyncTask的源码就可以了解。具体Async

程序员联盟 359

Android探索之旅 | 国际化你的App+网站推荐

-- 简书作者 谢恩铭 转载请注明出处国际化你的App+网站推荐说到Android应用的国际化, 作为Android开发者来说应该不会不懂。今天主要来推荐几个不错的免费的在线管理国际化的网站。Android中要国际化你的App, 使之能在不同语言配置下都能准确显示字符串, 是比较简单的事情。默认的字符串的资源文件是以英语为语言的, 是 res/values/strings.xml如果要

程序员联盟 409

程序员的未来

-- 简书作者 谢恩铭 转载请注明出处那是...有朋友在程序员联盟微信和QQ群里问:"程序员的未来如何?"写一篇文章回答一下。我自然不想把这篇文章写成有“煽动”性的,但是现实就是这么"残酷":程序员的未来,那是... 相当滴(注意此处要有宋丹丹那种东北腔)... 光明!唉, 说好的做人要谨慎, 低调 ,谦虚呢... 容我先写几行代码压压惊。可以从以下几方面来分析从我的亲身经历来看

程序员联盟 527

C语言探索之旅 | 第二部分第十一课:练习题和习作

-- 简书作者 谢恩铭 转载请注明出处第二部分第十一课:练习题和习作上一课和上上一课我们完成了一个游戏:C语言探索之旅 | 第二部分第九课: 实战"悬挂小人"游戏C语言探索之旅 | 第二部分第十课: 实战"悬挂小人"游戏 答案这些练习题是帮助大家巩固知识的,其实不难,特别对于有编程经验的人来说。不看答案来完成这15道题目吧,都是单选题。练习题1.什么是全局变量?

程序员联盟 357

C语言探索之旅 | 第二部分第十课: 实战"悬挂小人"游戏 答案

-- 简书作者 谢恩铭 转载请注明出处第二部分第十课: 实战"悬挂小人"游戏 答案经过上一课C语言探索之旅 | 第二部分第九课: 实战"悬挂小人"游戏之后,相信大家都或多或少有写自己的“悬挂小人”的游戏代码吧。这一课我们就来"终结"这个游戏吧 (听着怎么有点吓人...)。Yes, you are terminated.解方(1. 游戏的代码)如果你开始阅读这里,说明:或者你写

程序员联盟 759
上一篇: 为什么程序员应该写博客?用什么博客系统?
下一篇: Python探索之旅 | 第一部分第二课:安装Python和Python的常用开发软件
frogoscar
frogoscar 企业官方账号 企业官方账号
博客等级 码龄16年 386粉丝 168原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值