用函数还是用复杂的表达式

要不要使用复杂表达式

Perl语言的原作者Larry Wall曾经说过,伟大的程序员都有三个优点:懒惰、暴躁和自负。乍一看这三个词语没有一个是褒义词,但在程序员的世界里,这三个词有不同的意义。首先,懒惰会促使程序员去写一些省事儿的程序来辅助自己或别人更好的完成工作,这样我们就无需做那些重复和繁琐的劳动;同理能够用3行代码解决的事情,我们也绝不会写出10行代码来。其次,暴躁会让程序员主动的去完成一些你还没有提出的工作,去优化自己的代码让它更有效率,能够3秒钟完成的任务,我们绝不能容忍1分钟的等待。最后,自负会促使程序员写出可靠无误的代码,我们写代码不是为了接受批评和指责,而是为了让其他人来膜拜。


  Python

那些年我们踩过的那些坑

坑1 - 整数比较的坑

在 Python 中一切都是对象,整数也是对象,在比较两个整数时有两个运算符==is,它们的区别是:


  Python

递归和动态规划

动态规划可以理解为是查表的递归。那么什么是递归?

递归

定义: 递归算法是一种直接或者间接调用自身函数或者方法的算法。


递归

Recursion is a process for solving problems by subdividing a larger problem into smaller cases of the problem itself and then solving the smaller, more trivial parts.


  递归

算法复杂度分析

前面我们说了很多次时间复杂度是 O(1), O(n) 啥的,并没有仔细讲解这个 O 符号究竟是什么。 你可以大概理解为操作的次数和数据个数的比例关系。比如 O(1) 就是有限次数操作,O(n) 就是操作正比于你的元素个数。 这一章我们用更严谨的方式来定义它。


英语学习指南(五)

如何构建一个识别英语的程序

现在我们不讨论你如何学英语,而是让你构建一个可以识别、交流英语的程序,你会如何设计?

简单的需求分析

以中文为例,当你听到一个女人对一个男人说:“你是一个男人吗?”时,你会收集到哪些信息?你需要哪些信息来明确这个女人想表达的确切意思?


英语学习指南(四)

常见问题 QA

你只有托福 105 的水平,也敢写英语经验?

是的,这算是我的阶段性总结,总结这段时间对学习的感悟并分享用过有效学习方法、资源,希望能或多或少的帮助到有需要的朋友。

其实我在写指南之前,也曾经想过放弃,因为回头来看自己写的东西好像很简单,但其实回顾之前笔记发现对于当时水平较低的自己是一道道的坎。再加上之前对朋友的承诺过会写一些经验给他们看,所以还是写了。

如果有错误、建议或者疑问,欢迎 Issue 补充和讨论完善。我也在继续学习,随着我进一步学习,我也会继续完善、修改这份指南。


英语学习指南(三)

资料、工具推荐和扩展阅读

单词量测试工具


英语学习指南(二)

发音和听力训练方法

发音和听力是相辅相成的,都是需要使用语料库的声音素材。所以练发音的时候,能发出某种特殊的声音,也能让你听力能分辨出来;反之,先能分辨出某种声音,你才能模仿发出来。


数学基础

深度学习通常又需要哪些数学基础?深度学习里的数学到底难在哪里?通常初学者都会有这些问题,在网络推荐及书本推荐里,经常看到会列出一系列数学科目,比如微积分、线性代数、概率论、复变函数、数值计算、优化理论、信息论等等。这些数学知识有相关性,但实际上按照这样的知识范围来学习,学习成本会很久,而且会很枯燥,本章我们通过选举一些数学基础里容易混淆的一些概念做以介绍,帮助大家更好的理清这些易混淆概念之间的关系。


  数学

Git 与 GitHub 入门实践

git配置

优先级:--local > --global > --system

用了--global这个参数,表示你这台机器上所有的Git仓库都会使用这个配置


  gitgithub
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×