学习一门语言——Python(自学版)
学习一门语言首先要了解它的发展历史让我们先来了解一下Python的发展历史吧。一、诞生背景1989创始人吉多・范罗苏姆Guido van Rossum荷兰程序员。 1989 圣诞假期Guido 在荷兰 CWI 国家数学和计算机研究所为打发假期基于 ABC 语言开发新脚本语言。 取名 Python源自他喜爱的喜剧《蒙提・派森》Monty Python本意希望语言简单、有趣、易读。设计核心初衷替代复杂难用的 Shell 脚本与 C解决 ABC 语言封闭、扩展性差的缺陷强调可读性、简洁、可移植。二、初代版本Python 0.x 原型期Python 0.9.01991 年 2 月首个公开版本已具备现代 Python 核心骨架类、继承、异常处理函数、动态类型if/for/while基础控制流模块化编程import 标志性特色缩进代替大括号从这一版本定型。0.9.x 小版本完善列表、字典、字符串基础数据结构。三、Python 1.x 稳定普及期1994–2000Python 1.01994正式稳定发行新增关键能力函数式编程工具lambda、map、filter、reduce模块系统、类完整继承支持跨平台Unix、Windows、Mac。1.1 ~ 1.6 迭代更新1.2引入异常捕获语法1.4支持关键字参数、内置复数类型1.51997加入完整正则库re、Tkinter GUI 标准库1.6Unicode 初步支持、垃圾回收优化。痛点1.x 字符串不区分字节与文本编码混乱埋下重大兼容隐患。四、Python 2.x 全民主流时代2000–20201.Python 2.02000.10里程碑大更新彻底重塑语言奠定长达 20 年的工业基础垃圾回收引入引用计数 分代 GC支持循环引用回收列表推导式[x for x in ...]Unicode 字符串类型unicode()统一跨平台标准库、网络模块支持yield生成器。2. 2.x 关键子版本2.2新式类object基类、迭代器协议2.42004装饰器语法、集合set2.5with上下文管理器、try-except-finally2.6 / 2.7过渡版本大量兼容 Python3 语法提供迁移工具2to3。2.x 致命缺陷两套字符串str字节、unicode文本极易编码报错整数除法3/21不符合直觉语法冗余、标准库设计混乱。2020 年 1 月 1 日Python 2 正式停止所有维护全面淘汰。五、Python 3.x 现代化重构2008–至今当前主流1. Python 3.02008.12不兼容的彻底重构Guido 下定决心打破兼容根治 2.x 历史包袱核心改动字符串统一str Unicode 文本bytes单独表示二进制除法修正3/21.5整数整除用3//2print改为内置函数print()不再是语句移除xrange统一为range异常语法、输入函数input()重构统一编码默认 UTF-8。初期阻力极大大量第三方库仅支持 2.x迁移成本高出现长达十年 “2/3 分裂期”。2. 3.x 划时代重要版本3.32012Windows 原生完整支持、yield from3.42014标准库加入asyncio雏形异步框架3.52015重大更新原生异步语法async/await类型注解def func(x: int) - str矩阵乘法运算符3.62016f-string 格式化字符串fname{name}字典有序存储3.72018数据类dataclass延迟字典有序正式规范3.82019海象运算符:位置仅参数/3.92020字典合并运算符|类型注解简化3.102021模式匹配match-case类 switch、更好错误提示3.112022整体性能提升 60%优化异常堆栈3.122023持续性能优化、简化语法3.132024官方实验 JIT 编译器进一步提速。六、发展时间线极简总结年份版本核心事件1989项目启动Guido 圣诞假期开发19910.9.0公开首发缩进语法成型19941.0稳定正式版函数式特性20002.0Unicode、垃圾回收、统治行业 20 年20083.0重构不兼容解决编码痛点20153.5async/await、类型注解2020Python2 停止维护全面进入 3.x 时代20243.13官方 JIT性能大幅提升看完了它的发展史后Python的特点有哪些呢1.易于学习Python 有相对较少的关键字结构简单和一个明确定义的语法学习起来更加简单。2.易于阅读Python 代码定义的更清晰。3.易于维护Python的 成功在于它的源代码是相当容易维护的。4.一个广泛的标准库Python 的最大的优势之一是丰富的库跨平台的在 UNIX、Windows 和 Mac 兼容很好。5.互动模式互动模式的支持您可以从终端输入执行代码并获得结果的语言互动的测试和调试代码片段。6.可移植基于其开放源代码的特性Python 已经被移植也就是使其工作到许多平台。7.可扩展如果你需要一段运行很快的关键代码或者是想要编写一些不愿开放的算法你可以使用 C 或 C 完成那部分程序然后从你的 Python 程序中调用。8.数据库Python 提供所有主要的商业数据库的接口。9.GUI 编程Python 支持 GUI 可以创建和移植到许多系统调用。10.可嵌入:你可以将 Python 嵌入到 C/C 程序让你的程序的用户获得脚本化的能力。Python环境搭建就自行去搭建吧下面来学习python的基础语法。1.Python标识符在 Python 里标识符由字母、数字、下划线组成。所有标识符可以包括英文、数字以及下划线(_)但不能以数字开头。Python 中的标识符是区分大小写的。以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性需通过类提供的接口进行访问不能用 from xxx import * 而导入。以双下划线开头的 __foo 代表类的私有成员以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识如 __init__() 代表类的构造函数。Python 可以同一行显示多条语句方法是用分号 ; 分开2.行和缩进Python 与其他语言最大的区别就是Python 的代码块不使用大括号 {} 来控制类函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。缩进的空白数量是可变的但是所有代码块语句必须包含相同的缩进空白数量这个必须严格执行。在 Python 的代码块中必须使用相同数目的行首缩进空格数建议你在每个缩进层次使用单个制表符或两个空格或四个空格, 切记不能混用。好了今天的学习就先到这儿吧今天就仅仅了解了下Python的发展史以及一些基础语法让我们明天继续