当前位置: 首页 > 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.zskr.cn/news/1436976.html

相关文章:

  • 【图像融合】基于matlab改进脉冲耦合神经网络医学图像融合【含Matlab源码 15581期】
  • 终极指南:如何用Wand-Enhancer免费解锁WeMod完整功能
  • 【图像融合】基于matlab域变换滤波和稀疏表示的红外与可见光图像融合【含Matlab源码 15582期】含报告
  • Beyond Compare 5密钥生成器:三步实现永久激活的完整教程
  • 3步彻底清理Mac:Pearcleaner开源清理软件终极指南
  • MSVC 工具链默认版本设置
  • KMS_VL_ALL_AIO:三步永久激活Windows和Office的完整解决方案
  • Gemini与Claude 4、GPT-4.5对比实测:12类专业任务得分差异+企业选型决策矩阵
  • 终极开源音源解决方案:构建跨平台无损音乐播放生态的完整指南
  • WarcraftHelper:5分钟解决魔兽争霸III所有兼容性问题的终极工具
  • 鱼塘清淤船怎么挑选 - 舒雯文化
  • Flink编程模型与API(一)
  • 从零构建工作流驱动型 Writer Agent
  • 前端职业发展:从初级到专家的成长路径
  • 企业级Gemini生物识别集成成熟度评估矩阵(含12项等保2.0/GB/T 35273-2020对标项),仅开放前200份下载权限
  • 贝叶斯公式
  • 戴森球计划终极工厂蓝图库:5000+免费设计让你轻松构建星际帝国
  • 2026浙江AI搜索优化服务商深度评测与选型指南 - 品牌报告
  • 深入瑞芯微RK3568 BSP:从Android.bp到u-boot.img,带你读懂原厂SDK的目录结构与编译产物
  • 合肥理工学校招生办电话号码是多少?官网最新发布! - 教育为先
  • windows11 C盘文件过大清理方法汇总
  • 基于 Harmony 6.0 应用的宠物寄养预约系统实现
  • 告别电源‘打嗝’:一个恒流电路如何根治RCC的间歇振荡难题?
  • Arduino Nano一体化扩展板设计:集成电源管理与多电机驱动实战
  • 2026南京卫生间漏水免砸砖维修 本地防水堵漏权威测评口碑优选商家 - 吉修匠
  • 用Arduino与WS2812B制作可编程圣诞灯光标志:从硬件到软件全流程
  • Windows 11终极优化指南:用Win11Debloat一键清理系统冗余,让电脑重获新生
  • 2026廊坊GEO优化服务商权威榜单TOP4|全域合规选型指南 - 余小铁
  • 2026无锡防水修缮权威测评 微创免砸砖堵漏高口碑榜单 - 吉修匠
  • 基于Matlab模拟海洋病原体传播建模附GUI界面