Python 简介与入门

一、Python 是什么

Python 是一门解释型、面向对象、跨平台的通用编程语言,由吉多・范罗苏姆于 1991 年发布。它以简洁易读、语法优雅为核心特点,摒弃了 C/C++、Java 等语言繁琐的语法规则,让开发者能更专注于业务逻辑本身,而非代码格式,是编程入门的首选语言,也被广泛应用于各类工程开发场景。

简单来说,Python 能帮我们实现工作自动化(如文件批量处理、数据自动整理)、软件开发(如网站、小游戏、GUI 程序),还能解决专业开发中 “编译 - 测试” 周期长的问题,是兼顾入门友好和工业级应用的编程语言。

二、Python 的核心优势

  1. 易上手,可读性强:语法接近自然语言,新手能快速入门,代码书写规范统一,团队协作时易读易维护。
  2. 功能强大,生态丰富:内置大量标准模块,覆盖文件操作、系统调用、网络通信等基础功能;还有海量第三方库,能快速实现各类需求,无需重复造轮子。
  3. 解释型语言,开发高效:无需编译、链接步骤,编写代码后可直接运行,调试和测试更便捷,还支持交互式编程(像计算器一样实时执行代码)。
  4. 跨平台兼容:一套代码可在 Windows、Linux、MacOS 等系统上运行,无需针对不同系统做大量修改。
  5. 支持模块化开发:可将程序拆分为多个模块,实现代码复用,大幅提升开发效率。
  6. 高级数据结构内置:直接支持列表、字典、元组等灵活的数据结构,能快速实现复杂的数据处理逻辑。

三、Python 的主要应用领域

Python 的通用性让它几乎覆盖所有编程领域,核心应用方向包括:

  1. 数据科学与机器学习:依托 NumPy、Pandas、Scikit-learn、TensorFlow 等库,实现数据处理、模型训练、人工智能开发,是该领域的主流语言。
  2. Web 开发:Django(全能型框架)、Flask(轻量级框架)等工具,能快速开发高性能的网站、后台接口。
  3. 自动化与测试:用 unittest、pytest 等框架实现软件自动化测试,也能编写脚本实现办公、运维自动化(如文件批量重命名、服务器自动监控)。
  4. 网络爬虫:借助 Requests、BeautifulSoup、Scrapy 等库,爬取互联网公开数据,用于数据分析、内容整合。
  5. 数据分析与可视化:通过 Pandas 做数据清洗,Matplotlib、Seaborn 做图表绘制,将数据转化为直观的图形。
  6. 游戏开发:Pygame、Panda3D 等引擎,适合开发 2D 小游戏、游戏原型。
  7. 后端开发:作为服务端语言,为 APP、小程序、网站提供数据接口和业务逻辑支持。

四、Python 运行环境安装(Windows/Linux 通用简易版)

(一)Linux 环境(CentOS 为例)

  1. 下载 Python3.11.x 版本(官网:https://www.python.org);
  2. 安装基础依赖:yum -y install gcc zlib-devel libffi-devel readline-devel openssl-devel
  3. 解压安装包:tar xvf Python-3.11.x.tar.xz,进入解压目录;
  4. 配置安装路径:./configure --prefix=/usr/local/python3
  5. 编译安装:make && make altinstall(用 altinstall 避免覆盖系统原有 Python);
  6. 建立软链接:ln -s /usr/local/python3/bin/python3 /usr/bin/python3ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
  7. 测试:输入python3,出现版本信息即安装成功,输入print('hello python')验证运行。

(二)Windows 环境

  1. 官网下载 Python3.11.x 的 64 位安装包,双击运行;
  2. 关键步骤:勾选Add Python to PATH(添加到系统环境变量),再点击Install Now默认安装;
  3. 测试:按下Win+R输入cmd,输入python,出现版本信息即安装成功;
  4. 安装编辑器:推荐 VS Code,安装后在扩展中搜索Python插件并安装,即可编写和运行 Python 代码。

(三)通用优化:设置国内 pip 源

pip 是 Python 的包管理工具,默认从国外下载库,速度慢,设置国内阿里源可大幅提速:

  • 升级 pip:pip3 install --upgrade pip

Windows/Linux 通用命令:plaintext

pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple/ pip3 config set install.trusted-host mirrors.aliyun.com 

五、Python 基础语法

(一)标识符与保留字

  1. 标识符:给变量、函数、类等命名的符号,规则如下:
    • 由字母、数字、下划线组成,不能以数字开头
    • 严格区分大小写(如nameName是两个不同标识符);
    • 不能使用 Python 保留字,长度无限制(中文也可作为标识符,不推荐)。
  2. 保留字:Python 官方规定的专用关键字,用于语法功能,不能自定义使用(如ifforTruedef);
    • 查看所有保留字:导入keyword模块,执行import keyword; print(keyword.kwlist)

(二)注释

注释是代码中不执行的说明文字,方便自己和他人理解代码,分为两种:

  1. 单行注释:以#开头,示例:# 这是单行注释,打印hello python

多行注释:用三单引号'''或三双引号"""包裹,示例:plaintext

""" 这是多行注释 可写多行说明文字 适合注释大段代码 """ 

(三)语句与缩进

多行语句:一条语句过长时,用反斜杠\换行,示例:

total = 1 + 2 + 3 + \ 4 + 5 + 6 

缩进:Python 的核心特色,用4 个空格(或 Tab) 表示代码块,替代大括号{}缩进必须统一,否则报错;示例:

a = 15 if a > 10: print('a大于10') # 缩进4个空格,属于if的代码块 else: print('a小于等于10') 

基本语句:一条语句完成一个独立操作,Python无需分号结尾,换行即表示语句结束,示例:

a = 10 # 赋值语句 print(a) # 打印语句 

(四)pass 语句

占位语句,无任何实际功能,仅为保证语法正确性,适用于 “暂时不想写代码细节,但语法要求必须有代码块” 的场景,示例:

a = 8 if a > 5: pass # 暂时不写逻辑,用pass占位,避免报错 else: print('a小于5') 

六、Python 常用内置数据类型

Python 无需声明变量类型,赋值时自动判断,核心内置数据类型包括数字、字符串、列表、元组、字典,是 Python 编程的基础。

(一)数字类型

包含整型(int)、浮点型(float)、布尔型(bool),用于表示数值和逻辑判断。

  1. 整型:整数,如10-50
  2. 浮点型:小数,如3.14-1.985.0
  3. 布尔型:仅两个值True(真)、False(假),用于逻辑判断,注意首字母大写
  4. 常用运算
    • 算术运算:+(加)、-(减)、*(乘)、/(除)、%(取模 / 余数)、**(求幂);
    • 比较运算:><==!=,结果为布尔值(如3>5结果为False)。

示例:

x = 20 # 整型 y = 3.5 # 浮点型 z = True # 布尔型 print(x + y) # 23.5 print(x % 7) # 6(20除以7的余数) print(2 ** 3) # 8(2的3次方) print(x > y) # True 

(二)字符串类型

由数字、字母、符号组成的字符集合,用单引号双引号三引号定义,作为一个整体使用。

  1. 特殊处理
    • 字符串含单引号,用双引号定义(反之亦然):title = "Let's Go"
    • 转义字符\:表示特殊符号,如\'(单引号)、\"(双引号)、\n(换行):print('Let\'s Go')
  2. 简单操作:字符串可与整数相乘,实现重复输出:print(3 * 'Python') # 输出 PythonPythonPython。

定义方式

name = 'Python' # 单引号 address = "北京市" # 双引号'Python入门教程 多行字符串用三引号''' # 三引号(支持多行) 

(三)列表(list)

可变、有序的元素集合,用[]定义,元素可修改、添加、删除,支持多种操作,是 Python 最常用的数据结构。

  1. 定义num = ['001', '002', 100, True](元素可混装不同类型);
  2. 核心操作
    • 取值:num[0](取第一个元素,索引从 0 开始)、num[0:2](取索引 0 到 1 的元素,左闭右开);
    • 修改:num[0] = '004'
    • 添加:num.append('003')(末尾添加)、num.insert(1, '005')(指定索引前插入);
    • 删除:del num[1](删除指定索引元素);
    • 查找:'001' in num(判断元素是否存在,返回布尔值);
    • 合并:num1 + num2(两个列表合并);
    • 重复:num * 2(列表元素重复 2 遍)。
  3. 索引技巧:支持负数索引,num[-1]表示最后一个元素,num[-2]表示倒数第二个。

(四)元组(tuple)

不可变、有序的元素集合,用()定义,创建后元素不能修改、删除,比列表操作速度快,数据更安全。

  1. 定义t = ('001', '002', 3.14)
  2. 核心特点:仅支持取值(操作与列表一致,如t[0]t[1:3]),不能修改、删除单个元素,可删除整个元组(del t);
  3. 类型转换:与列表可互相转换,list(t)(元组转列表)、tuple(num)(列表转元组)。

(五)字典(dict)

可变、无序键值对(key:value) 集合,用{}定义,通过获取值,而非索引,适合存储有对应关系的数据(如姓名 - 电话、学号 - 成绩)。

  1. 定义student = {'name': '小明', 'age': 18, 'score': 90}(键唯一,且为不可变类型,如字符串、数字;值可任意);
  2. 核心操作
    • 取值:student['name'](通过键取值);
    • 添加:student['gender'] = '男'(新键赋值,自动添加);
    • 修改:student['age'] = 19(已有键重新赋值);
    • 删除:del student['score'](删除指定键值对);
  3. 注意:键严格区分大小写,且不能重复(重复键会保留最后一个值);字典不支持+合并操作。

七、列表、元组、字典的核心区别

表格

数据类型定义符号可变性有序性取值方式核心特点
列表[]可变有序索引灵活,支持增删改查,最常用
元组()不可变有序索引数据安全,操作速度快
字典{}可变无序存储键值对,适合关联数据

八、Python 入门小技巧

  1. 交互式编程:直接在终端输入python/python3,可实时执行代码,适合测试简单语法;
  2. 快捷键:终端中Ctrl+D或输入exit()退出 Python 交互模式;VS Code 中Shift+Alt+F可格式化代码;
  3. 避免索引越界:列表 / 元组索引从 0 开始,最大索引为 “元素个数 - 1”,超出会报错;
  4. 规范命名:标识符尽量见名知意(如name表示姓名,score表示成绩),多个单词用下划线分隔(如student_name);
  5. 多练多试:Python 入门的核心是实践,哪怕是简单的print、赋值语句,多敲代码才能快速掌握。

Read more

【前端实战】Axios 错误处理的设计与进阶封装,实现网络层面的数据与状态解耦

【前端实战】Axios 错误处理的设计与进阶封装,实现网络层面的数据与状态解耦

目录 【前端实战】Axios 错误处理的设计与进阶封装,实现网络层面的数据与状态解耦 一、为什么网络错误处理一定要下沉到 Axios 层 二、Axios 拦截器 interceptors 1、拦截器的基础应用 2、错误分级和策略映射的设计 3、错误对象标准化 三、结语         作者:watermelo37         ZEEKLOG优质创作者、华为云云享专家、阿里云专家博主、腾讯云“创作之星”特邀作者、火山KOL、支付宝合作作者,全平台博客昵称watermelo37。         一个假装是giser的coder,做不只专注于业务逻辑的前端工程师,Java、Docker、Python、LLM均有涉猎。 --------------------------------------------------------------------- 温柔地对待温柔的人,包容的三观就是最大的温柔。 --------------------------------------------------------------------- 【前

By Ne0inhk
一文了解Blob文件格式,前端必备技能之一

一文了解Blob文件格式,前端必备技能之一

文章目录 * 前言 * 一、什么是Blob? * 二、Blob的基本特性 * 三、Blob的构造函数 * 四、常见使用场景 * 1. 文件下载 * 2. 图片预览 * 3. 大文件分片上传 * 四、Blob与其他API的关系 * 1. File API * 2. FileReader * 3. URL.createObjectURL() * 4. Response * 五、性能与内存管理 * 六、实际案例:导出Word文档 * 七、浏览器兼容性 * 八、总结 前言 最近在项目中需要导出文档时,我首次接触到了 Blob 文件格式。作为一个前端开发者,虽然经常听到 "Blob" 这个术语,但对其具体原理和应用场景并不十分了解。经过一番研究和实践,

By Ne0inhk

超酷!前端人必备的 3 个 Skills:搞定高级 UI,拿捏最佳实践,最后一个直接拉满“续航”!

最近和几位前端开发者聊天,发现一个有趣的现象:AI 写代码越来越快,但代码质量的差距反而越来越大。 有人用 Cursor 写出来的页面,一眼就能看出是 AI 生成的——紫色渐变背景、Inter 字体、千篇一律的卡片布局。而有的人用同样的工具,却能产出让人眼前一亮的作品。 差距在哪里?不在 AI 工具本身,而在于你给 AI 注入了什么样的"技能包" 。 今天想分享前端开发必备的三个 Skills。前两个是干货分享,能立刻提升你的代码质量;第三个可能出乎你的意料,但确实是我最近的真实体会。 Skill 1: 让 AI 懂设计,告别"AI 味"的界面 你有没有遇到过这种情况——AI 生成的页面虽然能用,但总觉得哪里不对劲? 布局平庸、配色单调、

By Ne0inhk