学习Python,第一个实战项目肯定是从写第一个脚本开始的。别被"脚本"两个字吓到,其实就是个能跑起来的程序文件。
先看一个最基础的样子:

第一行的 #!/usr/bin/env python 是条关键指令。这条 shebang 就告诉操作系统,要用什么解释器来跑这个程序。env 呢,是让系统自己去环境变量里找 Python 解释器,这样程序就更有移植性。
第二行 print('Hello, World!') 就是打印语句。这里的 \n 是换行符,当然在这个例子里没用到。print 的作用和 shell 里的 echo、Ja va 和 C 里的 printf 完全是一回事。
执行效果如下:

写 Python 脚本有几个基本规范需要注意:
- 所有 Python 程序的文件名都必须以
.py结尾。这就像给文件贴了个标签,别人一眼就知道这是一个 Python 程序。 - 程序的第一行声明解释器类型,建议加上,但不是强制的。这条指令能让代码在多种环境下直接运行。
- print 就是用来将后面的字符串打印到屏幕上,和 shell 的 echo 是一样的。
变量的定义
变量,说白了就是用来存储数据、调用数据、标识数据的容器。数据存在内存里,而内存和硬盘的区别其实不难理解:内存快,但掉电就消失;硬盘慢,但能永久存储。
Python 是区分数据类型的,最基本的就是字符串和整数。
变量命名有两种常见风格:
- 驼峰体:
NameOfTwinsGf = "FengJie" - 下划线:
son_of_twins_brother_age = 2
变量命名的规则也不算严格,但必须遵守:
- 变量名只能由字母、数字、下划线组成
- 变量名的第一个字符不能是数字
- 不能使用 Python 自带的保留关键字(比如
if、for、while等)
来看一个变量赋值的实际例子:

这里有个关键点需要记住:不管是单引号还是双引号,Python 都把它们当作字符串。整数不需要加引号。
第二个例子展示的是给同一个变量重复赋值的情况:


这里 Name = "jianghua" 和 Name2 = "zhang" 是两个独立的变量。变量名只是对数据的引用,不是数据本身。
字符编码
计算机发展史上,最基础的字符编码是 ASCII 表:

计算机存储信息的最小单位是比特(bit),一个比特就是一个二进制位,只能是 0 或 1。8 个比特组成 1 个字节(byte)。再往上走:1KB = 1024 字节,1M = 1024KB,1G = 1024M。

早期的 Python 脚本如果包含中文,需要加上编码声明:# -*- coding: utf-8 -*-。这句话的作用是告诉 Python 用什么编码来执行源代码,加载对应的字符集,使其能正确输出中文。
ASCII 码只能表示 128 个字符,显然无法覆盖全球的各种文字和符号。所以后来就有了 Unicode(统一码、万国码)。它为每种语言中的每个字符都指定了唯一且统一的二进制编码。
但是 Unicode 的缺点太明显——太占空间。于是 UTF-8 登场。UTF-8 是对 Unicode 的压缩和优化:ASCII 码中的内容用 1 个字节保存,欧洲字符用 2 个字节,东亚字符(包括中文)用 3 个字节。这种方式既兼容了老系统,又大幅节省了存储空间。
