近期Python 学习笔记——一篇文入门python

作者:Pleiades_Antares(www.cnblogs.com/irischen)

写在前面的话

想学Python已经许久,一年多以前(应该是17年4月份左右开始的吧)接触了python,通读了《教孩子学编程——python语言版》(如下图),感觉迷迷糊糊好像懂了,但让我实际去做一个程序还远远不能。又因为之后一直专注学习C++,一年时间基本没有碰原来就不怎么会的Python,导致现在基本是“一窍不通”的状态。于是我现在基本和0基础学习的正在看这篇文章的你差不多(希望没有让你感到不高兴?)——这也就是说——你可以通过看本篇博文学会基础的python!

(这本书个人感觉还是有一定用处的,但主要是针对五年级与以下学生,也就是大概刚学完scratch或什么都没学过的)

学习地址

廖雪峰的python自学教程

真的是大佬orz佩服佩服
能把python写的这么“easy”真的是很不容易!!!
这里分享给所有人咱们一起学习昂

本节以下部分为原文搬运。

Python简介

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

现在,全世界差不多有600多种编程语言,但流行的编程语言也就那么20来种。如果你听说过TIOBE排行榜,你就能知道编程语言的大致流行程度。这是最近10年最常用的10种编程语言的变化图:

tpci_trends

总的来说,这几种编程语言各有千秋。C语言是可以用来编写操作系统的贴近硬件的语言,所以,C语言适合开发那些追求运行速度、充分发挥硬件性能的程序。而Python是用来编写应用程序的高级编程语言。

当你用一种语言开始作真正的软件开发时,你除了编写代码外,还需要很多基本的已经写好的现成的东西,来帮助你加快开发进度。比如说,要编写一个电子邮件客户端,如果先从最底层开始编写网络协议相关的代码,那估计一年半载也开发不出来。高级编程语言通常都会提供一个比较完善的基础代码库,让你能直接调用,比如,针对电子邮件协议的SMTP库,针对桌面环境的GUI库,在这些已有的代码库的基础上开发,一个电子邮件客户端几天就能开发出来。

Python就为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。

除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。

许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。

龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

总的来说,Python的哲学就是简单优雅,尽量写容易看明白的代码,尽量写少的代码。如果一个资深程序员向你炫耀他写的晦涩难懂、动不动就几万行的代码,你可以尽情地嘲笑他。

那Python适合开发哪些类型的应用呢?

首选是网络应用,包括网站、后台服务等等;

其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等;

另外就是把其他语言开发的程序再包装起来,方便使用。

最后说说Python的缺点。

任何编程语言都有缺点,Python也不例外。优点说过了,那Python有哪些缺点呢?

第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。

但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?这就好比F1赛车和普通的出租车在北京三环路上行驶的道理一样,虽然F1赛车理论时速高达400公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远是20公里。

不要在意程序运行速度

第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。

这个缺点仅限于你要编写的软件需要卖给别人挣钱的时候。好消息是目前的互联网时代,靠卖软件授权的商业模式越来越少了,靠网站和移动应用卖服务的模式越来越多了,后一种模式不需要把源码给别人。

再说了,现在如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数非常优秀的像Linux一样的开源代码,我们千万不要高估自己写的代码真的有非常大的“商业价值”。那些大公司的代码不愿意开放的更重要的原因是代码写得太烂了,一旦开源,就没人敢用他们的产品了。

哪有功夫破解你的烂代码

当然,Python还有其他若干小缺点,请自行忽略,就不一一列举了。

学习期间相关代码/笔记

暂无,随时补充。

疑问

目前所有疑问都解决啦!等到有疑问了,随时更新!

最新文章

  1. R语言:ggplot2精细化绘图——以实用商业化图表绘图为例
  2. SwitchHosts—hosts管理利器
  3. 用js写的比较简单3D旋转效果
  4. Logstash学习1-logstash的简单例子
  5. Cocos2d-x 网络资源
  6. #pragma CODE_SEG __NEAR_SEG NON_BANKED/#pragma CODE_SEG DEFAULT
  7. FireMonkey vs. VCL (FMX的UI更灵活,图形效果更强,硬件加速,内嵌3D,使用浮点数更精确,跨平台,可使用Mida converter转换和TFireMonkeyContainer内嵌)
  8. Java——异常谜题
  9. SpringMVC过程中@RequestBody接收Json的问题 总是报415
  10. [bzoj1705] [Usaco2007 Nov]Telephone Wire 架设电话线
  11. 6-1 Quantifiers
  12. 【xsy1061】排列 树状数组
  13. Java如何设定二维数组的上限?
  14. asp.net core webapi项目配置全局路由
  15. FTP服务器文件上传的代码实现
  16. MySQL前后台交互登录系统设计
  17. 在WPF中创建可换肤的用户界面
  18. 「BZOJ 1297」「SCOI 2009」迷路「矩阵乘法」
  19. web安全之XSS和CSRF
  20. mysql服务突然不能启动

热门文章

  1. Eureka 2.0 开源流产,真的对你影响很大吗?
  2. 工作中常用Windows快捷键整理(1)-快速关闭网页
  3. 第一册:lesson sixty nine.
  4. C# Redis安装 使用教程
  5. C# 未能加载文件或程序集“ Newtonsoft.Json” Json格式错误
  6. 48.Linux-普通U盘以及多分区U盘自动挂载
  7. 我永远喜欢着OOP——第一次总结
  8. Flask 系列之 HelloWorld
  9. 记录微信小程序报错 Unexpected end of JSON input;at pages/flow/checkout page getOrderData function
  10. 移动端开发H5页面点击按钮后出现闪烁或黑色背景的解决办法