声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章
感谢泷羽sec 团队的教学
视频地址:初识python,环境配置,编程基础以及数据类型_哔哩哔哩_bilibili
一、什么是python
Python 是一种高级、解释型、通用编程语言,创建于 1991 年,由 Guido van Rossum 设计。它具有简洁的语法和广泛的应用,适用于开发 web 应用程序、数据科学、自动化任务、人工智能等各种领域。
二、Python 的特点
- 简洁易读:Python 的语法直观,代码结构清晰,非常适合初学者。
- 跨平台:支持多种操作系统(Windows、macOS、Linux 等),且 Python 脚本具有很好的可移植性。
- 广泛的库支持:Python 拥有丰富的标准库和第三方库,涵盖了数据处理、图形界面、网络、人工智能等领域。
- 动态类型:无需声明变量类型,Python 会自动识别。
- 解释型语言:无需编译,Python 代码可以直接运行,提高了开发效率。
三、学会 Python 能做什么?
- Web 开发:使用 Django、Flask 等框架创建网站和 web 应用。
- 数据分析与科学计算:使用 Pandas、NumPy、Matplotlib 等库进行数据分析、可视化。
- 人工智能与机器学习:使用 TensorFlow、PyTorch 等库进行 AI 开发。
- 自动化脚本:编写脚本来完成自动化任务,比如文件管理、数据抓取等。
- 网络安全:可以编写扫描工具、渗透测试工具等,Python 在网络安全领域也非常流行。
四、pip 介绍
pip 是 Python 的包管理工具,用于安装和管理 Python 包和库。使用 pip,可以轻松下载、更新、删除第三方包。
1、pip 的安装
一般来说,Python 的安装会自动附带 pip。也可以通过以下命令手动安装:
python -m ensurepip --upgrade
2、查看 pip 版本
pip --version
3、卸载 pip
可以通过以下命令卸载 pip:
python -m pip uninstall pip
4、批量导出系统依赖
导出当前系统中所有已安装的依赖包,并生成一个 requirements.txt 文件:
pip freeze > requirements.txt
5、批量安装依赖库
根据 requirements.txt
文件中的包列表,批量安装依赖库:
pip install -r requirements.txt
6、列出所有已安装的包
查看当前环境中所有已安装的包及其版本:
pip list
7、更新指定的包
更新指定的 Python 包,例如更新 requests:
pip install --upgrade requests
8、指定下载的源
可以指定国内镜像源来加速下载,例如使用清华大学的源:
pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple
五、Python 基本数据类型
Python 提供了多种数据类型,可以根据不同的用途来选择适合的数据结构。以下是 Python 中常用的基本数据类型:
1. 数字(Number)
数字类型用于表示数值。Python 支持多种数字类型:
- 整数(int):用于表示整数值,例如 10。
- 浮点数(float):用于表示小数,例如 10.41。
- 复数(complex):用于表示复数,例如 c=3j。
2. 字符串(String)
字符串用于存储文本数据,是不可变的(即一旦创建,内容无法更改)。字符串可以用单引号 ''
或双引号 ""
表示:
name = "Python" message = 'Hello, world!'
字符串支持多种操作,例如:
- 拼接:'Hello' + ' ' + 'world!' 结果为 'Hello world!'
- 重复:'name' * 3 结果为 'pythonpythonpython'
- 切片:message[0:5] 结果为 'Hello'
- 长度:len(name)结果为6,即字符串的长度
- 大小写转换:upper,将字符串全都转换为大写;lower,将字符串全都转换为小写
- 字符串替换:message.replace('world', 'Python'),将world替换为Python
3. 布尔(Boolean)
布尔类型用于表示逻辑值,只有 True 和 False 两个值。这种类型常用于条件判断和逻辑运算。
a= True
c = (5 == 5) # 该结果也为 True
4. 字典(Dictionary)
字典是一种无序的数据结构,存储键值对,可以通过键来快速访问对应的值。字典使用大括号 {} 定义:
person = { "name": "GGB", "age": 18, "city": "china" }
- 访问字典元素:通过键访问值,例如 person["name"] 结果为 'GGB'
- 增加/修改元素:person["age"] = 31
- 删除元素:del person["city"]
- 增加元素:person['gender']=’male‘
字典推导式
5. 列表(List)
列表是一种有序的数据结构,可以存储多个元素,且列表是可变的。列表使用方括号 [] 定义:
fruits = ["apple", "banana", "cherry"]
- 访问列表元素:使用索引访问,例如 fruits[1] 结果为 'banana'
- 增加元素:fruits.append("orange")在列表末尾添加元素;fruits.insert(1,grape)在指定位置插入元素
- 删除元素:fruits.remove("banana")删除指定的元素;fruits.pop(0)删除指定位置的元素
- 切片:fruits[0:2] 结果为 ['apple', 'banana']
列表推导式
6. 元组(Tuple)
元组与列表类似,但是元组是不可变的,创建后无法修改。元组使用小括号 () 定义:
colors = ("red", "green", "blue")
- 访问元组元素:使用索引访问,例如 colors[0] 结果为 'red'
- 不可修改: colors[0] = "yellow"会报错,因为元组是不可变的
元组推导式
元组本身没有推导式的,但是可以用列表推导式生成列表,在将结果转换为元组形式
7. 集合(Set)
集合是无序的、不可重复的元素集合,使用大括号 {} 或 set() 函数定义:
numbers = {1, 2, 3, 3, 4,5,6,7,8,9,10,10,10,10}
- 自动去重:集合中的重复元素会自动去掉,numbers结果为 {1, 2, 3, 4,5,6,7,8,9,10}
- 添加元素:numbers.add(11)
- 删除元素:numbers.remove(3),使用discard删除不存在的元素不会报错
- 清空集合:numbers.clear()
- 集合运算:支持交集、并集、差集等操作,例如 a & b(交集),a | b(并集)