近几年,AI的爆火不仅推动了科技领域的进步,更让 Python 语言成为了这一变革中的关键角色。
Python 语言简单易懂,语法清晰明了,懂一点英语的都能学得会。很适合在职场摸爬滚打多年的前端组长作为捅破天花板的语言;也很适合不懂编程但又想在程序员面前装13的产品汪。
为了上述这两类人群,我打算用半小时把 Python 的基础知识讲一遍。
安装和运行
安装
要使用 Python ,首先要把它安装到你电脑里。打开 [Python 官网]下载安装包。
在Windows上安装
打开安装包,选择“Use admin privileges when installing py.exe” 和 “Add python.exe to PATH”,然后点击 “Install Now” 即可。
然后打开命令行(在开始菜单搜索“CMD”),看看能不能输出 Python 版本号。如果能输出就证明安装成功
# version前面2个横杠
python --version
# 或者
# 大写V前面1个横杠
python -V
在MacOS上安装
在 Mac 上打开 Python 官网 会自动推荐你下载 Mac 的 Python 安装包。
点击下载之后,一直点“继续”就能安装成功。
由于 Mac 默认安装了 python 2 ,要检测 python 3 是否安装成功,可以终端输入以下命令:
python3 --version
# 或
python3 -V
需要使用 python3 开头的命令。
运行
在终端输入以下命令可以进入 python 的交互模式
python
# Mac可能要输入以下命令
python3
在终端输入完 python 进入交互模式后会出现“>>>”,在3个尖括号后面输入你要执行的代码,python 运行完会接着输出。
比如上面输入 1+1 ,python 接着会输出 2。
最后使用 exit() 可以退出交互模式。
编辑器
我推荐的编辑器有 [PyCharm],[VS Code]和 [Jupyter Notebook]
PyCarm
PyCarm社区版和商业版,学习的话用社区版就行,免费。
PyCharm Professional 是收费的,PyCharm Community Edition 是免费的。
下载安装完,选择 File -> New Project 创建新项目。在项目里创建一个 .py 文件,输入要运行的代码,然后按 Ctrl + Shift + F10 就可以运行代码。
VS Code
VS Code 对前端来说一定不陌生,但要在 VS Code 里运行 Python 需要先装个插件。要认准是 Microsoft 出品的。
接下来只要新建 .py 文件,编写 Python 代码,然后点击右上角运行按钮就能运行你刚写的代码了。
Jupyter Notebook
如果做数据分析,用 [Jupyter Notebook] 会更好。 [Jupyter Notebook] 是运行在浏览器上的编辑器,很好用。
本文简单讲讲怎么安装和运行,之后会写一篇专门介绍 Jupyter Notebook 的文章。
使用 pip 安装 Jupyter Notebook。pip 在前面安装 Python 已经带上了。
pip install notebook
安装完成后,在你的电脑找个位置新建一个项目文件夹,打开终端,进入刚刚新建的项目文件夹地址,使用以下命令启动 Jupyter Notebook。
jupyter notebook
运行这条命令后,浏览器会自动打开 Jupyter Notebook 的使用界面。
点击右侧 New 按钮,选择 “Python 3” 创建一个 .ipynb 文件,在里面编辑和运行代码即可。
编写完代码,点击 “Run” 按钮,或者选择要运行的那行然后按 shift + enter 就能运行。
基础用法
环境搭建好就开始学一下 Python 的基础用法吧,本文只讲基础用法,不涉及高阶用法,学完立刻应用,不会伤到初学者的信心。
打印输出
打印输出内容的方法是 print() ,在括号里放入要输出的内容,运行后就会输出到控制台。
变量
变量的作用是存储数据。假设有一段很长的话需要经常打印,如果没有变量,每次打印都要输入那段话,即使是复制粘贴也是很麻烦。
print("雷猴x1000")
print("雷猴x1000")
print("雷猴x1000")
print("雷猴x1000")
print("雷猴x1000")
print("雷猴x1000")
如果过了几天要改这段话的内容,就需要改很多处了。
比如把“雷猴”改成“鲨鱼辣椒”
print("鲨鱼辣椒x1000")
print("鲨鱼辣椒x1000")
print("鲨鱼辣椒x1000")
print("鲨鱼辣椒x1000")
print("鲨鱼辣椒x1000")
print("鲨鱼辣椒x1000")
此时变量就派上用场了。我们可以创建一个变量记住这段话,输出的时候就直接输出这个变量,要修改输出内容就只需要修改一处地方,大大提高工作效率。
msg = "雷猴x1000"
print(msg)
print(msg)
print(msg)
print(msg)
print(msg)
print(msg)
在 Python 里,创建一个变量的语法如下:
变量名 = 值
变量命名规则
Python 的变量名支持字母、下划线、数字。但不能在变量名里加入空格,不能以数字开头。
数据类型
前面的例子 msg = "雷猴x1000" 里的 msg 属于字符串类型(str),字符串可以使用单引号或者双引号将内容包着。
Python 还支持其他类型的数据。
| 数据类型 | 值 |
|---|---|
| 字符串 str | “雷猴”、'鲨鱼辣椒' |
| 整数 int | 6、100、0、-20 |
| 浮点数 float | 6.0、100.0、-10.02 |
| 布尔类型 bool | 只有 True 和 False |
| 空值 NoneType | None |
注释
注释的作用是告诉别人或者日后的自己,这段代码是用来干嘛的。
在 Python 里,使用 # 表示单行注释,使用6个双引号将内容包裹起来就形成多行注释。
# 这是单行注释
"""
这是多行注释 第1行
这是多行注释 第2行
这是多行注释 第3行
……
"""
数学运算
数学运算主要包括我们义务教育里学的加减乘除,除此之外 Python 还提供了求余等方法。
| 运算符 | 例子 | 结果 |
|---|---|---|
| +:加法 | 1 + 1 | 2 |
| -:减法 | 1 - 1 | 0 |
| *:乘法 | 10 * 2 | 20 |
| /:除法 | 10 / 3 | 3.3333333333333335。最后这个5是因为浮点数不精确问题导致的,初学者可以先不管这个5。 |
| //:整除 | 10 // 3 | 3 |
| %:求余 | 10 % 3 | 1 |
| **: 次方 | 2 ** 3 | 8。意思是2的3次方。 |
比较运算
所谓的比较,就是大于、小于、等于……
使用比较运算符会得到一个布尔类型的结果,也就是真或者假。
| 运算符 | 例子 | 结果 |
|---|---|---|
| ==:等于 | 1 == 10 | False |
| !=:不等于 | 1 != 10 | True |
| >:大于 | 1 > 1 | False |
| >=:大于等于 | 1 >= 1 | True |
| <:小于 | 1 < 1 | False |
| <=:小于等于 | 1 <= 1 | True |
条件判断
所谓的条件判断,简单来说就是“看情况”。就是“如果...否则...”的句式。
在 Python 里,用 if...else... 表示这个句式。
if 条件:
代码块1
else:
代码块2
需要注意的是,Python 是按照缩进来划分代码块的。
举个例子
age = 18
if age >= 18:
print("可以喝一点点酒")
else:
print("一点酒都不能碰")
输出:"可以喝一点点酒"
还有一个规则,if 可以单独使用,而 else 无法单独使用,它必须跟着 if。
那如果要判断多个条件的话,可以使用 elif。假如我们要给考试分数评个优良中差,可以这么写。
grade = 99
if grade >= 90:
print("优")
elif 80 <= grade < 90:
print("良")
elif 60 <= grade < 80:
print("中")
else:
print("差")
# 输出:“优”
条件运算符
条件运算符通常会配合前面说的条件判断一起使用。
Python 里的条件运算符有“与、或、取反”。
| 运算符 | 例子 | 结果 |
|---|---|---|
| and:与。and两边的条件都为True时,结果才为True | 3 > 2 and '雷猴' == '鲨鱼辣椒' | False |
| or:或。or两边的条件只要有一个为True时,结果就为True | 3 > 2 or '雷猴' == '鲨鱼辣椒' | True |
| not:取反。 | not 1 > 0 | False |
循环
Python 里有 for 和 while 两种循环。初学者可以先学 for,用熟了再自行了解 while 吧。
for 的用法如下:
for 项 in 序列:
代码块
这里的序列可以是列表,也可以是字符串。
msg = "Hello"
for txt in msg:
print(txt)
这段代码会将 Hello 这个字符串一个个字母打印出来。
列表
假如你要收藏一个书单,用前面学到的知识你只能给每一本书分别使用不同变量来存储。学过编程的人都知道给变量起一个有意义的名字是一件非常痛苦的事情。
book1 = "《红楼梦》"
book2 = "《西游记》"
book3 = "《三国演义》"
book4 = "《水浒传》"
对于这种情况,Python 提供了一个叫“列表”的东西。
列表是用于保存批量的数据类型。上面的代码可以变成这样:
book_list = ["《红楼梦》", "《西游记》", "《三国演义》", "《水浒传》"]
可以看出,列表是用方括号 [] 包裹着,每一项数据之间用逗号 , 分隔。
要读取列表的数据可以用索引来访问,索引是从0开始的。比如我们想拿到《红楼梦》这本书可以这么做:
book_list[0]
Python 还提供了很多列表相关的方法,比如
# len: 查看列表长度
len(book_list)
# append: 在列表末尾添加元素
book_list.append("《庄子》")
# insert: 在列表指定位置插入元素
book_list.insert(1, "《庄子》")
# remove: 删除指定值的元素
book_list.remove("《西游记》")
# pop: 删除指定索引的元素
book_list.pop(1)
还有很多很多操作数组的方法,可以在项目中用到时再查。
字典
字典是用来存储键值对的数据类型,和现实世界中的字典一样。我们打开新华字典,可以根据拼音或者偏旁部首查到到指定的字放在字典里的哪一页。
在 Python 的字典里,可以通过“键名”找到对应的“值”。“键”是用来定位数据的,重点在定位。“值”是用来存放数据的,重点是存放。
Python 的字典用花括号 {} 表示,键值对用冒号 : 关联。多个键值对用逗号 , 分隔。
比如:
# 各科成绩
grade = {
"Python": 100,
"Java": 88,
"C++": 60,
"JavaScript": 70
}
要查看字典里的值,可以用键来获取。取值的方法是 字典名[键名]
print(grade['Python'])
# 输出:100
函数
前面的内容其实已经接触到函数了。print() 就是在调用函数。
函数最大的作用是将需要重复使用的代码放到同一个地方,需要使用时就喊一下函数的名字就能用了。和动漫里出招之前需要先喊招式名是同一个原理的。
在 Python 中使用 def 定义函数,语法如下
def 函数名():
代码块
举个例子
# 定义函数
def sayHi():
print("雷猴")
# 调用函数
sayHi()
# 输出:雷猴
函数还支持传参,参数名写在括号里面,多个参数用逗号分隔。
def 函数名(参数1, 参数2, ...):
代码块
举个例子
def add(x, y):
# 因为字符串不能与数字类型直接相加,所以 x + y 的结果要用 str() 转成字符串
print('x + y = ' + str(x + y))
add(1, 2)
# 输出:3
引入模块
Python 的生态是很丰富的,很多时候并不需要自己一笔一画把所有代码都写出来,我们要实现一个功能首先可以看看官方有没有对应的模块来支持。
引入模块的关键字是 import,后面加个空格,然后加上模块名即可。
比如想让 Python 生成随机数,可以引入 random 模块。
import random
print(random.randint(1, 9))
上面这段代码的意思是引入随机数模块random,而 random.randint(1, 9) 的意思是在 1~9 里随机生成一个数。
结尾
以上的知识就够了吗?如果想成为 Python 界的大牛还远远不够,但这足够你看懂基础的 Python 代码,可以自己捣鼓一些小工具了。
之后的 Python 文章还会遇到很多本文没讲到的语法,遇到的时候会讲解。