python基础(1)

 声明:学习视频来自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(并集)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/910083.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

USB 设备数据安全管理解决方案

在当今数字化的办公环境中,USB 设备的广泛使用为企业和组织带来了便捷,但同时也隐藏着巨大的数据泄露风险。许多企业和机构都曾因 USB 设备使用不当而遭受严重损失。 一方面,员工可能会无意或有意地使用未经授权的 USB 设备接入公司网络。这…

【UE5】一种老派的假反射做法,可以用于移动端,或对反射的速度、清晰度有需求的地方

没想到大家这篇文章呼声还挺高 这篇文章是对它的详细实现,建议在阅读本篇之前,先浏览一下前面的文章,以便更好地理解和掌握内容。 这种老派的假反射技术,适合用于移动端或对反射效果的速度和清晰度有较高要求的场合。该技术通过一…

Flink滑动窗口(Sliding)中window和windowAll的区别

滑动窗口的使用,主要是计算,在reduce之前添加滑动窗口,设置好间隔和所统计的时间,然后再进行reduce计算数据即可。 窗口设置好时间间隔,和处理时间窗口的时间,比如将滑动窗口的时间间隔都设置为5s,处理时间…

基于YOLO11/v10/v8/v5深度学习的煤矿传送带异物检测系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

Golang--文件操作

1、文件 文件:文件用于保存数据,是数据源的一种 os包下的File结构体封装了对文件的操作(记得包os包) 2、File结构体--打开文件和关闭文件 2.1 打开文件 打开文件,用于读取(函数): 传…

BSAchongsds、

一、 ## 统计基因组整体信息 srun -A 2022099 -p Debug -n 2 -N 1 seqkit stats ~/yiyaoran/workspace/06.BSRseq/guo_BSR_pipline/ref/genome.fasta > genome.allstatcat genome.allstat 文件名 格式 类型 序列数量 总长度 最小长度 平均长…

聊一聊Elasticsearch的基本原理与形成机制

1、搜索引擎的基本原理 通常搜索引擎包括:数据采集、文本分析、索引存储、搜索等模块,它们之间的协作流程如下图: 数据采集模块负责采集需要搜索的数据源。 文本分析模块是将结构化数据中的长文本切分成有实际意义的词,这样用户…

**AI的三大支柱:神经网络、大数据与GPU计算的崛起之路**

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Python | Leetcode Python题解之第542题01矩阵

题目: 题解: class Solution:def updateMatrix(self, matrix: List[List[int]]) -> List[List[int]]:m, n len(matrix), len(matrix[0])# 初始化动态规划的数组,所有的距离值都设置为一个很大的数dist [[10**9] * n for _ in range(m)]…

RabbitMQ 管理平台(控制中心)的介绍

文章目录 一、RabbitMQ 管理平台整体介绍二、Overview 总览三、Connections 连接四、Channels 通道五、Exchanges 交换机六、Queues 队列查看队列详细信息查看队列的消息内容 七、Admin 用户给用户分配虚拟主机 一、RabbitMQ 管理平台整体介绍 RabbitMQ 管理平台内有六个模块&…

【机器学习】聚类算法分类与探讨

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

易语言模拟真人动态生成鼠标滑动路径

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…

Linux:防火墙和selinux对服务的影响

1-1selinux 1-1 SELinux是对程序、文件等权限设置依据的一个内核模块。由于启动网络服务的也是程序,因此刚好也 是能够控制网络服务能否访问系统资源的一道关卡。 1-2 SELinux是通过MAC的方式来控制管理进程,它控制的主体是进程,而目标则是…

华为eNSP:QinQ

一、什么是QinQ? QinQ是一种网络技术,全称为"Quantum Insertion",也被称为"Q-in-Q"、"Double Tagging"或"VLAN stacking"。它是一种在现有的VLAN(Virtual Local Area Network&#xff0…

运动控制 PID算法

文章目录 一、自动控制简介1.1 开环控制系统1.2 闭环控制系统1.3 电机速度闭环控制系统 二、PID算法2.1 比例2.1.1 静态误差 2.2 积分2.3 微分环节2.4 位置式PID2.5 增量式PID 一、自动控制简介 自动控制系统是使用自动控制装置对关键控制参数进行自动控制,使它在收…

Pytorch实现transformer语言模型

转载自&#xff1a;| 03_language_model/02_Transformer语言模型.ipynb | 从头训练Transformer语言模型 |Open In Colab | Transformer语言模型 本节训练一个 sequence-to-sequence 模型&#xff0c;使用pytorch的 nn.Transformer <https://pytorch.org/docs/master/nn.ht…

C语言例题练手(1)

前几篇博客的内容已经涉及了C语言的部分语法知识&#xff0c;我们可以尝试做一些编程题&#xff0c;或者换一种说法就是可以写出什么样的程序以此来解决一些问题。 题目来自牛客网https://www.nowcoder.com和C语言菜鸟教程C 语言教程 | 菜鸟教程 数值计算 【例1】带余除法计…

Spring AI 核心概念

SpringAI 核心概念 1. Models2. Prompts3. Prompt Templates4. Embeddings5. Tokens6. Structured Output7. Bringing Your Data & APIs to the AI Model7.1 Retrieval Augmented Generation7.2 Function Calling 1. Models AI 模型是用于处理和生成信息的算法&#xff0c…

http请求响应详解

http介绍 http协议&#xff1a; Http”协议称为是“超文本传输协议”&#xff08;HTTP-Hypertext transfer protocol&#xff09;。它定义了浏览器怎么向万维网服务器请求万维网文档&#xff0c;以及服务器怎么样把文档传送给浏览器。 https协议&#xff1a; 传统的HTTP协议…

直播系统搭建教程安装说明

需要安装的软件(宝塔【软件商店】中查找安装): 1.PHP7.0 ~ PHP7.3 需要安装的扩展:(宝塔【PHP管理】【安装扩展】中安装) *PDO PHP Extension * MBstring PHP Extension * CURL PHP Extension * Mylsqi PHP Extension * Redis PHP Extension * fileinfo PHP Extension …