当前位置: 首页 > news >正文

Python 简介与入门

Python 简介与入门

目录
一、Python 初识
1. Python 的优势
2. Python 的特性
3. Python 的应用领域
二、Linux 环境中安装 Python
1. 下载 Python 源码包
2. 安装依赖包
3. 解压安装 Python
4. 编译安装 并 建立软链接
5. 测试运行
6. 设置国内 pip 更新源
7. 更新 pip
三、Windows 系统中安装 Python
1. 安装 Python 程序
2. 安装 vscode 编译器
3. 安装 vscode 插件
4. 设置国内更新源
四、Python 的语法基础
1. 标识符
2. Python 保留字
3. 注释
4. 语句与缩进
(1)语句
(2)代码块
(3)多行语句
5. pass 语句
五、Python 常用的数据类型
1. 数字
2. 字符串
3. 列表
(1)列表的定义
(2)列表的取值
(3)修改列表元素值
(4)添加列表元素
(5)删除列表元素
(6)查找列表元素
(7)合并列表
(8)重复列表
(9)列表常见问题
4. 元组
(1)元组的创建
(2)元组的操作
5. 字典
(1)字典的创建
(2)字典的取值操作
(3)字典的添加、修改、删除操作
(4)字典的常见问题

一、Python 初识

1. Python 的优势
2. Python 的特性
3. Python 的应用领域
领域典型应用常用库/框架
Web 开发构建网站后端、API 服务(如 Instagram、豆瓣)Django、Flask、FastAPI
数据分析数据清洗、统计分析、可视化(金融、科研领域)Pandas、NumPy、Matplotlib
人工智能机器学习、深度学习、自然语言处理(如 ChatGPT 模型训练)TensorFlow、PyTorch、scikit-learn
自动化运维批量部署、日志分析、监控告警Ansible、Paramiko、Fabric
科学计算物理模拟、工程计算(如 NASA 航天器轨迹分析)SciPy、SymPy
游戏开发快速原型开发、游戏脚本(如《文明 IV》AI 逻辑)Pygame、Panda3D
网络爬虫抓取网页数据(如电商价格监控)Scrapy、BeautifulSoup、Requests
教育领域编程入门教学、算法演示Turtle、PySimpleGUI

二、Linux 环境中安装 Python

1. 下载 Python 源码包

通过 Python 的官网下载,网址是 http://www.python.org

2. 安装依赖包
1.设置yum仓库 2.安装依赖包 yum -y install gcc zlib zlib-devel libffi libffi-devel #安装源码编译需要的编译环境 yum -y install readline-devel #可以避免解决后期出现的方向键、删除键乱码问题 yum -y install openssl-devel openssl11 openssl11-devel export CFLAGS=$(pkg-config --cflags openssl11) export LDFLAGS=$(pkg-config --libs openssl11) #设置编译FLAG,以便使用最新的openssl库
3. 解压安装 Python
tar xvf Python-3.11.6.tar.xz cd Python-3.11.6/ ./configure --prefix=/usr/local/python3
4. 编译安装 并 建立软链接
make && make install #编译安装 #软链接 ln -s /usr/local/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
5. 测试运行
python3
6. 设置国内 pip 更新源
#案例为阿里的更新源 方法1: cat <<EOF> /root/.config/pip/pip.conf [global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com 方法2: pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple pip3 config set install.trusted-host mirrors.aliyun.com
7. 更新 pip
pip3 install --upgrade pip

三、Windows 系统中安装 Python

1. 安装 Python 程序

双击安装python

2. 安装 vscode 编译器

python提供的IDLE编译器,使用起来不太友好,需要安装一个编译器更方便使用。(如vscode、pycharm)

设置路径

3. 安装 vscode 插件

4. 设置国内更新源
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple pip config set install.trusted-host mirrors.aliyun.com pip install --upgrade pip (或python -m pip install --upgrade pip)

四、Python 的语法基础

1. 标识符

定义
标识符是用于标识变量、函数、类、模块等对象的名称。
命名规则

合法标识符:age_3、_count、MyClass、PI 非法标识符:3name(以数字开头)、if(保留字)、my-name(包含连字符)
2. Python 保留字

保留字(关键字)是 Python 语言中具有特殊功能的专用标识符,不能用作任何自定义标识符名称

import keyword print(keyword.kwlist) # 输出(Python 3.11): ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

常见关键字用途

3. 注释

注释用于解释代码逻辑,不会被解释器执行

语法: #单行注释

语法: #第一行注释

#第二行注释

#第三行注释

''' 这是一个多行注释, 可以跨越多行, 常用于函数或类的文档说明。 '''
4. 语句与缩进
(1)语句

一行代码表示一个独立的操作,如赋值、条件判断、循环、函数调用等。

# 赋值语句 name = "Alice" age = 30 # 条件语句 if age >= 18: print("成年人") # 循环语句 for i in range(5): print(i)
(2)代码块

由一组逻辑相关的语句组成,通过缩进(而非大括号)定义范围。

# 正确缩进(4 个空格) if condition: statement1 # 属于 if 代码块 statement2 # 属于 if 代码块 statement3 # 不属于 if 代码块(与 if 语句同缩进) # 错误缩进(混合 Tab 和空格) if condition: statement1 statement2 # 缩进不一致,报错!
(3)多行语句

当语句过长时,可通过以下方式换行:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] result = (x + y + z for x in range(3) for y in range(3) for z in range(3))
5. pass 语句

pass是空操作语句,用于保持语法完整性(占位符、占位语句)。
作用:作为占位符,用于保持代码结构完整(避免语法错误),不执行任何操作。
常见场景

# 示例 1:空函数 def empty_function(): pass # 不做任何事,但函数语法完整 # 示例 2:条件语句占位 if age < 18: pass # 暂不处理未成年人逻辑 else: print("成年人") # 示例 3:空类 class EmptyClass: pass # 类体为空,但语法正确

五、Python 常用的数据类型

1. 数字

定义:用于表示数值的类型,包括整数、浮点数、复数和布尔值。
分类

特性

2. 字符串

定义:由字符(字母、数字、符号等)组成的有序序列,用单引号、双引号或三引号(多行字符串)表示。

>>> name = 'aaa' >>> address = 'sss' >>> content = '''cccc''' >>> print (name) >>> print (address) >>> print (content)

特点

3. 列表

定义:有序、可变的集合,用方括号[]表示,元素可以是任意数据类型(支持嵌套)。
特点

(1)列表的定义

语法:列表名 = [ 元素1,元素2,…

(2)列表的取值

语法:列表名 [索引位置]
通过索引取值(有序序列,索引从0开始,负数表示从末尾反向索引):

fruits = ['apple', 'banana', 'orange', 'grape'] print(fruits[0]) # 'apple'(第一个元素) print(fruits[-1]) # 'grape'(最后一个元素) print(fruits[2]) # 'orange'(索引 2 的元素)

语法:列表名 [起始位置:终止位置]
通过切片取值(语法:列表[start:end:step],左闭右开,返回新列表):

print(fruits[1:3]) # ['banana', 'orange'](取索引 1~2 的元素) print(fruits[:2]) # ['apple', 'banana'](从开头到索引 1) print(fruits[2:]) # ['orange', 'grape'](从索引 2 到末尾) print(fruits[::2]) # ['apple', 'orange'](步长为 2,隔一个取一个) print(fruits[::-1]) # ['grape', 'orange', 'banana', 'apple'](反转列表)
(3)修改列表元素值

**语法:**列表名 [索引位置] = 值

num = ['1','2','3'] num[0] = '4' #修改 print (num) ['4','2','3']
(4)添加列表元素

语法:
**列表名.append(元素值) #**在列表末尾添加单个元素。

fruits.append('grape') # 末尾添加 'grape' print(fruits) # ['apple', 'mango', 'pear', 'kiwi', 'grape']

**列表名.insert(索引位置,元素值) #**在指定索引处插入元素。

fruits.insert(1, 'banana') # 在索引 1 处插入 'banana' print(fruits) # ['apple', 'banana', 'mango', 'pear', 'kiwi', 'grape']
(5)删除列表元素

语法:del 列表名[索引位置]

del fruits[0] # 删除第一个元素 'apple' print(fruits) # ['banana', 'mango', 'pear', 'kiwi', 'grape', 'orange', 'pineapple'] del fruits[2:4] # 删除索引 2~3 的元素('pear', 'kiwi') print(fruits) # ['banana', 'mango', 'grape', 'orange', 'pineapple']
(6)查找列表元素

语法:元素值 in 列表名 (返回布尔值)

print('orange' in fruits) # True print('apple' in fruits) # False
(7)合并列表

+运算符:创建新列表,合并两个列表(原列表不变)。

list1 = [1, 2, 3] list2 = [4, 5, 6] merged = list1 + list2 # [1, 2, 3, 4, 5, 6]
(8)重复列表

使用*运算符重复列表元素(生成新列表):

zeros = [0] * 5 # [0, 0, 0, 0, 0] words = ['hello'] * 3 # ['hello', 'hello', 'hello']
(9)列表常见问题

示例:索引越界
(1)索引越界
问题描述:当使用超过列表长度的正索引或绝对值超过列表长度的负索引时,会抛出IndexError异常。
示例

numbers = [1, 2, 3, 4, 5] print(numbers[5]) # 报错:IndexError: list index out of range(正索引越界,最大索引为 4) print(numbers[-6]) # 报错:IndexError: list index out of range(负索引越界,最小索引为 -5)

解决方法

(2)负值索引
特性:Python 支持负值索引,-1表示最后一个元素,-2表示倒数第二个,依此类推(需满足abs(index) <= len(列表))。
示例

fruits = ['apple', 'banana', 'orange', 'grape'] print(fruits[-1]) # 'grape'(最后一个元素) print(fruits[-2]) # 'orange'(倒数第二个元素)

(3)当获取列表指定范围的一组元素时,不存在列表索引越界的问题(切片时无索引越界问题
特性:切片操作(列表[start:end:step])即使startend超出列表范围,也不会报错,而是返回合理的子集(空列表或部分元素)。
示例

nums = [1, 2, 3] print(nums[5:10]) # [](start 超出列表长度,返回空列表) print(nums[-10:5]) # [1, 2, 3](start 为负且超出范围,默认从列表开头开始) print(nums[1:100]) # [2, 3](end 超出范围,取到列表末尾)

原理:切片的startend会自动被限制在合法范围内(小于len(列表)或大于-len(列表)),无需手动处理越界。
(4)获取列表指定范围时可以同时使用正数和负数索引(切片支持混合正负索引
用法:切片的startend可以同时使用正数和负数索引,实现灵活的范围选取。
示例

words = ['a', 'b', 'c', 'd', 'e'] # 正数 start + 负数 end:取索引 1 到倒数第一个元素(不包含 end) print(words[1:-1]) # ['b', 'c', 'd'] # 负数 start + 正数 end:取倒数第 3 个元素到索引 3(不包含 end) print(words[-3:4]) # ['c', 'd'] # 负数 start + 负数 end:取倒数第 2 个元素到倒数第 1 个元素(不包含 end) print(words[-2:-1]) # ['d']

表示获取由索引位置0元素开始,到-1元素之前的所有元素。
注意:当step为正时,start需小于等于end(否则返回空列表);当step为负时,start需大于等于end
(5)列表元素也可以是列表
每个元素也是一个列表,使用num[0]表示取到的第一个元素值,对应的是一个列表。
使用num[0][0] 表示取到第一个元素列表的第一个值,使用print num[2][1] 表示取到第三个列表的第二个元素值。

4. 元组

定义:有序、不可变的集合,用圆括号()表示,常用于保存不可修改的数据。

(1)元组的创建

语法:元组名 = (元素 1, 元素 2, …)
元组是写保护的,一旦创建不能修改

(2)元组的操作

与列表的取值操作完全相同,不可修改但可删除
语法: del 元组名
元组和列表可以互相转换操作

元组转换为列表

语法:list (列表名)

num = ('1','2','3') listNum = list(num) #转换为列表 print (listNum) ['1','2','3'] listNum[0]='4' #修改列表 print (listNum) ['4','2','3'] print (type(num)) #输出元组类型 <class 'tuple'> print (type(listNum)) #输出列表类型 <class 'list'>

列表转换元组

语法:tuple(列表名)

num = ['1','2','3'] tupleNum = tuple(num) print (type(num)) <class 'list'> print (type(tupleNum)) <class 'tuple'>
5. 字典

定义:无序的键值对(key-value)集合,用花括号{}表示,键必须唯一且不可变(通常为字符串、数字或元组),值可以是任意类型。

(1)字典的创建

**语法:**字典名 = {键1:值1,键2:值2,…}

mobile = {'Tom':1111,'Alice':2222,'Bob':3333} print (mobile) {'Tom':1111,'Alice':2222,'Bob':3333 } print (type(mobile)) <class 'dict'>
(2)字典的取值操作

通过键获取值,和元组与列表不同。

注意:键是唯一的,而不同的键的值却可以相同,当定义多个键相同时,字典中只会保留最后一个定义的键值对

(3)字典的添加、修改、删除操作

添加 / 修改键值对
注意:字典值对的键名是必须区分大小写

person['job'] = 'engineer' # 添加新键值对 person['age'] = 31 # 修改已有键的值

删除键值对

del person['hobbies'] # 删除 'hobbies' 键 age = person.pop('age') # 删除 'age' 键并返回值 31 last_item = person.popitem() # 删除最后一个键值对(如 ('job', 'engineer')) person.clear() # 字典变为空 {}
(4)字典的常见问题

字典不能使用“+”运算符执行连接操作。

以上得出结论:使用“+”运算符会报错

《网络安全从零到精通全套学习大礼包》

96节从入门到精通的全套视频教程免费领取

如果你也想通过学网络安全技术去帮助就业和转行,我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。

网络安全学习路线图

想要学习 网络安全,作为新手一定要先按照路线图学习方向不对,努力白费。对于从来没有接触过网络安全的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线,大家跟着这个路线图学习准没错。

配套实战项目/源码

所有视频教程所涉及的实战项目和项目源码

学习电子书籍

学习网络安全必看的书籍和文章的PDF,市面上网络安全书籍确实太多了,这些是我精选出来的

面试真题/经验

以上资料如何领取?

irect/6d41d41d77204bfc9459b7a3d079371f.png)

配套实战项目/源码

所有视频教程所涉及的实战项目和项目源码

学习电子书籍

学习网络安全必看的书籍和文章的PDF,市面上网络安全书籍确实太多了,这些是我精选出来的

面试真题/经验

以上资料如何领取?

http://www.jsqmd.com/news/925646/

相关文章:

  • 缠论可视化插件:3分钟让复杂K线结构一目了然的智能分析工具终极指南
  • 构建企业级金融数据中台的3个关键技术决策:AKShare架构实践
  • 【图像融合】基于matlab改进脉冲耦合神经网络医学图像融合【含Matlab源码 15581期】
  • 终极指南:如何用Wand-Enhancer免费解锁WeMod完整功能
  • 2026这6款硬核降AIGC平台大曝光,一键把AIGC率降至安全线! - 降AI小能手
  • Kubernetes自动化运维:使用Operator模式
  • Obsidian PDF导出插件深度解析:解决中文排版与批量导出的技术方案
  • 国家中小学智慧教育平台电子课本下载工具:轻松获取官方教材PDF资源
  • 抖音批量下载助手:3步实现用户主页视频一键保存
  • 实时舆情响应失效?Gemini三大分析断层诊断,92%企业正踩中第2个盲区
  • Kubernetes与Service Mesh高级实践
  • 【图像融合】基于matlab域变换滤波和稀疏表示的红外与可见光图像融合【含Matlab源码 15582期】含报告
  • 如何用手柄操控一切?AntiMicroX游戏手柄映射工具深度解析
  • 树莓派HX711高精度称重传感器实战指南:从入门到精通
  • Beyond Compare 5密钥生成器:三步实现永久激活的完整教程
  • 长沙正规IT职业培训学校排行:资质与就业实力实测对比 - 互联网科技品牌测评
  • 为什么90%的Gemini部署失败?2024最新版SDK兼容性断层、模型漂移补偿、API限流熔断三重避坑手册
  • 3步彻底清理Mac:Pearcleaner开源清理软件终极指南
  • KMS_VL_ALL_AIO:三步永久激活Windows和Office的完整解决方案
  • MSVC 工具链默认版本设置
  • Kubernetes安全加固最佳实践
  • yolov8目标跟踪与行人车辆计数 DeepSORT跟踪 目标检测+目标跟踪
  • 前端持续学习:成为优秀开发者的成长之路
  • Gemini与Claude 4、GPT-4.5对比实测:12类专业任务得分差异+企业选型决策矩阵
  • 2026年苏州黄金回收靠谱门店推荐 足金+K金+铂金回收TOP3排行榜+联系方式 - 百福黄金回收
  • 终极开源音源解决方案:构建跨平台无损音乐播放生态的完整指南
  • 抽沙船售后与质保服务 - 舒雯文化
  • 前端导师制:成长路上的引路人
  • 2026“钉耙编程”中国大学生算法设计春季联赛(10)
  • 鱼塘清淤船怎么挑选 - 舒雯文化