0. 编程入门
“Programming is the art of understanding.”
Part.1 编程基础
一. 什么是编程(Programming)?
编写程序:用代码指挥计算机做事
二. 什么是代码(Code)?
给计算机下达的指令
特点:
- 简洁
- 无歧义
三. 为什么要用编程解决问题?
- 准确性
- 速度快
Part.2 编程语言
四. 什么是编程语言?
1. 相对概念:自然语言(Natural language)
人类发展进程中随文化自然而然形成的语言
如:中文、英语、法语、日语…
2. 为什么要有编程语言?
第一台通用计算机ENIAC[1]在二十世纪四十年代发明,当时计算机的各项控制主要是由人工操作来实现的:
因其在便利性方面存在严重不足,经过多年的发展,相关人员提出了利用编程语言来控制计算机的构想。。。
3. 编程语言(Programming language)
计算机和人类都能识别的语言
如(高级语言):Python、C++、Java、C、C#、JavaScript、Go、SQL、Visual Basic…(>600)
4. 发展历程:
-
机器语言:
1
1001000110111000001100011110100111000100101010
计算机能直接识别和执行的二进制代码
-
汇编语言:
1
2
3
4
5
6
7C_S SEGMENT
ASSUME CS:C_S,DS:C_S
S_T:
MOV AX,C_S
MOV DS,AX
LEA DX,P_S
......用一些容易理解和记忆的缩写单词来代替一些特定的指令
-
高级语言:
1
print("Hello!") # 我是高级语言哦~
更加接近人类的自然语言,易于理解和编写,同时屏蔽了底层硬件的细节
五. 编程语言的选择?
💡路线图:
- [x] 请选择你的英雄!
人生苦短,我用python。
Part.3 Python 简介
六. Python的前世今生
1. Python - 起源
Python的创始人为荷兰人吉多·范罗苏姆[2](Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,龟叔为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言[3]的一种继承。
🌟Guido van Rossum:
之所以选中单词Python(谐音”蟒蛇“🐍)作为该编程语言的名字,是因为英国20世纪70年代首播的电视喜剧《蒙提·派森的飞行马戏团》(Monty Python’s Flying Circus🎈),龟叔是它的超级无敌宇宙螺旋大粉丝。
2. Python - 发展
时间段 | 版本 | 主要特点 |
---|---|---|
1991年-1995年 | 1.x | 引入了类、异常处理、函数式编程等特性 |
1996年-2000年 | 2.x | 增加了垃圾回收机制、列表推导式、生成器等特性 |
2000年-2008年 | 2.x | 继续发展,推出了多个版本,逐步完善 |
2008年-至今 | 3.x | 对Python进行了重大更新,不兼容Python 2.x,旨在解决历史遗留问题,提高语言性能 |
3. Python - 崛起
TIOBE排行榜[4]:
七. Python的优缺点:
1. 优点
-
易学易用:
- 语法简洁,接近自然语言,适合初学者。
- 代码可读性强,易于维护。
-
跨平台:
- 支持多平台(Windows、macOS、Linux等),代码无需修改即可运行。
-
丰富的库和框架:
- 拥有大量标准库和第三方库,涵盖Web开发、数据分析、机器学习等领域。
-
动态类型:
- 变量无需声明类型,方便快捷。
-
广泛应用:
- 适用于Web开发、数据科学、人工智能、自动化等多个领域。
…
2. 缺点
-
性能较低:
- 作为解释型语言,运行速度较C/C++等编译型语言慢。
-
全局解释器锁(GIL):
- GIL限制多线程并行执行,影响多核CPU性能。
-
内存消耗大:
- 相比C/C++等语言,Python占用更多内存。
…
ENIAC(Electronic Numerical Integrator And Computer ”电子数字积分计算机”)。ENIAC是继ABC(Atanasoff-Berry Computer ”阿塔纳索夫-贝瑞计算机“)之后的第二台电子计算机,和第一台通用计算机,于1946年2月14日在美国宣告诞生。ENIAC的计算速度为每秒5000次加法或400次乘法,它是完全的电子计算机,能够重新编程,解决各种计算问题。 ↩︎
吉多·范罗苏姆(Guido van Rossum)是荷兰计算机科学家,被誉为Python之父。他于1956年1月31日出生于荷兰,毕业于阿姆斯特丹大学,获得计算机科学硕士学位。 ↩︎
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido认为是其非开放造成的。Guido决心在Python中避免这一错误。同时,他还想实现在ABC中闪现过但未曾实现的东西。 ↩︎
TIOBE排行榜是衡量编程语言流行度的一个权威指数,每月更新一次。它通过统计全球范围内搜索引擎(如Google、Bing、Wikipedia等)的查询结果、课程数量、技术岗位需求等数据,评估各编程语言的流行趋势。其核心目的是为开发者、企业和教育机构提供语言趋势的参考。 ↩︎