本文简介
点赞 + 关注 + 收藏 = 学会了
2023年是AI的元年,AI的爆火不仅推动了科技领域的进步,更让 Python
语言成为了这一变革中的关键角色。
Python
语言简单易懂,语法清晰明了,懂一点英语的都能学得会。很适合在职场摸爬滚打多年的前端组长作为捅破天花板的语言;也很适合不懂编程但又想在程序员面前装13的产品汪。
为了上述这两类人群,我打算用半小时把 Python
的基础知识讲一遍(不难,我的猫也学会了)。同时也打算以本文为切入点,开启一个 Python
专栏,在这个专栏中我会讲“如何用 Python
做数据分析”,“如何实现办公自动化” 这些适合产品汪的知识,也会讲 “如何接入OpenAI、文心一言”,“如何用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 官网
PyCarm社区版和商业版,学习的话用社区版就行,免费。
PyCharm Professional 是收费的,PyCharm Community Edition 是免费的。
下载安装完,选择 File -> New Project
创建新项目。在项目里创建一个 .py
文件,输入要运行的代码,然后按 Ctrl + Shift + F10
就可以运行代码。
VS Code
VS Code 官网
VS Code 对前端来说一定不陌生,但要在 VS Code 里运行 Python
需要先装个插件。要认准是 Microsoft 出品的。
接下来只要新建 .py
文件,编写 Python
代码,然后点击右上角运行按钮就能运行你刚写的代码了。
Jupyter Notebook
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()
,在括号里放入要输出的内容,运行后就会输出到控制台。
变量
变量的作用是存储数据。假设有一段很长的话需要经常打印,如果没有变量,每次打印都要输入那段话,即使是复制粘贴也是很麻烦。
python print("雷猴x1000") print("雷猴x1000") print("雷猴x1000") print("雷猴x1000") print("雷猴x1000") print("雷猴x1000")
如果过了几天要改这段话的内容,就需要改很多处了。
比如把“雷猴”改成“鲨鱼辣椒”
python print("鲨鱼辣椒x1000") print("鲨鱼辣椒x1000") print("鲨鱼辣椒x1000") print("鲨鱼辣椒x1000") print("鲨鱼辣椒x1000") print("鲨鱼辣椒x1000")
此时变量就派上用场了。我们可以创建一个变量记住这段话,输出的时候就直接输出这个变量,要修改输出内容就只需要修改一处地方,大大提高工作效率。
python msg = "雷猴x1000" print(msg) print(msg) print(msg) print(msg) print(msg) print(msg)
在 Python
里,创建一个变量的语法如下:
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个双引号将内容包裹起来就形成多行注释。
```python
这是单行注释
""" 这是多行注释 第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...
表示这个句式。
python if 条件: 代码块1 else: 代码块2
需要注意的是,Python
是按照缩进来划分代码块的。
举个例子
```python age = 18
if age >= 18: print("可以喝一点点酒") else: print("一点酒都不能碰")
输出:"可以喝一点点酒" ```
还有一个规则,if
可以单独使用,而 else
无法单独使用,它必须跟着 if
。
那如果要判断多个条件的话,可以使用 elif
。假如我们要给考试分数评个优良中差,可以这么写。
```python 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
的用法如下:
python for 项 in 序列: 代码块
这里的序列可以是列表,也可以是字符串。
```python msg = "Hello"
for txt in msg: print(txt) ```
这段代码会将 Hello
这个字符串一个个字母打印出来。
列表
假如你要收藏一个书单,用前面学到的知识你只能给每一本书分别使用不同变量来存储。学过编程的人都知道给变量起一个有意义的名字是一件非常痛苦的事情。
python book1 = "《红楼梦》" book2 = "《西游记》" book3 = "《三国演义》" book4 = "《水浒传》"
对于这种情况,Python
提供了一个叫“列表”的东西。
列表是用于保存批量的数据类型。上面的代码可以变成这样:
python book_list = ["《红楼梦》", "《西游记》", "《三国演义》", "《水浒传》"]
可以看出,列表是用方括号 []
包裹着,每一项数据之间用逗号 ,
分隔。
要读取列表的数据可以用索引来访问,索引是从0开始的。比如我们想拿到《红楼梦》这本书可以这么做:
python book_list[0]
Python
还提供了很多列表相关的方法,比如
```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
的字典用花括号 {}
表示,键值对用冒号 :
关联。多个键值对用逗号 ,
分隔。
比如:
```python
各科成绩
grade = { "Python": 100, "Java": 88, "C++": 60, "JavaScript": 70 } ```
要查看字典里的值,可以用键来获取。取值的方法是 字典名[键名]
```python print(grade['Python'])
输出:100
```
函数
前面的内容其实已经接触到函数了。print()
就是在调用函数。
函数最大的作用是将需要重复使用的代码放到同一个地方,需要使用时就喊一下函数的名字就能用了。和动漫里出招之前需要先喊招式名是同一个原理的。
在 Python
中使用 def
定义函数,语法如下
python def 函数名(): 代码块
举个例子
```python
定义函数
def sayHi(): print("雷猴")
调用函数
sayHi()
输出:雷猴
```
函数还支持传参,参数名写在括号里面,多个参数用逗号分隔。
python def 函数名(参数1, 参数2, ...): 代码块
举个例子
```python def add(x, y): # 因为字符串不能与数字类型直接相加,所以 x + y 的结果要用 str() 转成字符串 print('x + y = ' + str(x + y))
add(1, 2)
输出:3
```
引入模块
Python
的生态是很丰富的,很多时候并不需要自己一笔一画把所有代码都写出来,我们要实现一个功能首先可以看看官方有没有对应的模块来支持。
引入模块的关键字是 import
,后面加个空格,然后加上模块名即可。
比如想让 Python
生成随机数,可以引入 random
模块。
```python import random
print(random.randint(1, 9)) ```
上面这段代码的意思是引入随机数模块random
,而 random.randint(1, 9)
的意思是在 1\~9 里随机生成一个数。
结尾
以上的知识就够了吗?如果想成为 Python
界的大牛还远远不够,但这足够你看懂基础的 Python
代码,可以自己捣鼓一些小工具了。
之后的 Python
文章还会遇到很多本文没讲到的语法,遇到的时候会讲解。
如果有一定编程基础的工友也可以看看图灵出品的 《Python编程 从入门到实践》
点赞 + 关注 + 收藏 = 学会了