01 环境准备与介绍
Python 介绍
如果你经常使用电脑进行工作,最终你会发现有一些任务想要自动化。例如,你可能希望在大量文本文件中查找和替换,或者以复杂的方式重命名和重新排列一堆照片。也许你想编写一个小型定制数据库、一个专用的图形用户界面应用程序,或者一个简单的游戏。
如果你是一名专业的软件开发人员,可能需要处理多个 C/C++/Java 库,但发现通常的编写/编译/测试/重新编译周期太慢。也许你正在为这样的库编写一个测试套件,却觉得编写测试代码是一项让人破防的任务。
Python 正是为此准备的语言。
你可以为这些任务编写一个脚本,但脚本更擅长处理文件移动和文本数据的修改,不太适合编写图形用户界面应用程序或游戏。你也可以编写 C/C++/Java 程序,但即便是编写一个简单的程序也需要大量开发时间。而 Python 更简单易用,能够更快地完成工作。
Python 虽然简单,但它是一门真正的编程语言,提供了比脚本更多的支持以构建大型程序。另一方面,Python 也提供了比 C 更多的错误检查,而且作为一种高级语言,它内置了高级数据类型,如灵活的数组和字典。
Python 允许你将程序分割成可以在其他 Python 程序中重用的模块。它还附带了大量的标准模块,这些模块可以作为程序的基础,或者作为学习 Python 编程的示例。这些模块中的一些提供了文件 I/O、系统调用、网络编程,甚至GUI(如 Tk)的接口。
Python 是一种解释型语言,在程序开发过程中可以为你节省大量时间,因为不需要编译和链接。解释器可以交互使用,这使得你可以轻松地实验语言的各种功能,编写一次性程序。
Python 使程序编写变得紧凑且可读。且用它编写的程序通常比其他语言写的短得多,原因有以下几点:
- 通过缩进进行语句分组,而不是使用起始和结束括号 演示
- 不需要变量或参数声明 演示
Question
准备用 Python 做什么 / 学编程为了什么
安装
Python HTTP Server
初次尝试
交互式的 Python
在命令行中输入python进入交互式界面。
>>> a = "Hello"
>>> print(a)
...
Hello
数字
Python 交互式可以充当一个简单的计算器(加减乘除),无需额外的代码。
>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5 # 似乎是个优势)
1.6
Tip
在 Python 中,涉及到除法的运算,无论其他数字是否为小数,结果永远是小数
其他语言(尤其是严格静态类型的),由参与运算的变量类型而定
也可以有些稍微高级的运算:
>>> 17 // 3 # 整除
5
>>> 17 % 3 # 取余
2
>>> 2 ** 7 # 2的7次方
128
变量
不同于其它语言先声明再赋值,Python 在赋值时也就意味着声明变量。
>>> width = 20
>>> height = 5 * 9
>>> width * height
900
这也就意味着不可能做到仅声明但不赋值变量:
>>> n # 这变量从未出现过,没有人知道这是什么
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined
字符串
用单/双/三(?)引号包裹东西基本都是字符串
>>> 'hello'
hello
>>> "world"
world
>>> '''awa'''
awa
Why?
拼接:
>>> 'hello' + 'world'
helloworld
>>> 3 * 'hello' # 甚至可以乘起来
hellohellohello
输入
可以从控制台获取用户的输入,并存储到一个变量上
>>> a = input() # 回车后就可以输入了
hello
>>> a
'hello'
输出
一个 print() 函数就够了
>>> print(a)
aaaaa
扩展
解释型语言是什么
编译型语言
需通过编译器将源代码编译成机器码,之后才能执行的语言。一般需经过编译、链接这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。
优点:编译器一般会对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。
缺点:编译之后如果需要修改就需要整个重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间运行就会有可能出问题。
代表语言:C、C++
解释型语言
解释性语言的程序不需要编译,在运行程序的时候才逐行解释。
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
代表语言:JavaScript、Python、PHP
混合型语言
当然有人考虑到把这俩rua一块。
比如C#,在编译的时候不是直接编译成机器码而是中间码,.NET平台提供了运行库来运行中间码,中间语言运行库将其保存在dll中,首次运行时由JIT在编译成机器码缓存在内存中,下次直接执行。
动态类型语言和静态类型语言
动态类型语言
Warning
动态类型语言 ≠ 动态语言
静态类型语言 ≠ 静态语言
动态类型语言:在运行时做数据类型检查的语言
动态类型语言的数据类型不是在编译阶段决定的,而是延后到了运行阶段。
比如:Python、Ruby、JavaScript、Swift、PHP。
静态类型语言
静态类型语言是在编译时确定的或者说运行前确定的,编写代码的时候要明确变量的数据类型。
主要语言:C、C++、C#、Java。
探索IO函数
如果有时间就讲(
总结
| 关键知识点 | 简介 |
|---|---|
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法 |
| // | 整除 |
| % | 取余 |
| ** | 幂 |
| input() | 输入 |
| print() | 输出 |
FAQ