python基础(1)

news2024/11/26 14:26:14

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【大数据学习 | HBASE】hbase的整体架构

hbase的region存储原理图 首先我们看到hbase的组成分为两个大的部分,分别是hmaster和hregionserver,主节点用于协调数据,regionserver用于真正的去管理表,其中regionserver存在多个,他们共同协调管理全有的表&#xff…

软信天成:您企业的数据资产真的安全吗?

您企业的数据资产真的安全吗?当下,数据已成为企业的核心资产,但如何找到、保护这些资产,却是许多企业面临的难题。在此背景下,数据分类分级显得尤为重要。本文将深入探讨数据分类分级,并结合国家标准和行业…

【Android】时区规则库tzdata更新

1 背景: 最近我遇到墨西哥城时区,会出现夏令时,而墨西哥城在2022年底都已经取消夏令时了。 看起来是要更新RK3588上的时区库,我的还是2021a,而现在都已经2024年了 这样能看版本号: cat /system/usr/sha…

国际版JAVA同城打车源码同城服务线下结账系统源码适配PAD支持Android+IOS+H5

架构分析 导航栏:位于界面上方,包含了“数据中心”、“消息”、“用户中心”等主要功能模块的入口,方便用户快速访问。左侧功能模块:在界面的左侧,以列表形式展示了多个功能模块,如“数据中心”、“消息中…

【软服之家-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

海外营销新利器:米壳AI视频编辑工具全解析

抖知书老师推荐: 随着AI技术的飞速发展,跨境电子商务领域迎来了新的变革。今天,我要向大家介绍一款名为米壳Medio.cool的AI视频营销工具,它专为企业出海而生,助力商品在全球市场上的推广。 米壳Medio.cool以其AI驱动…

常见 HTTP 状态码分类和解释及服务端向前端返回响应时的最完整格式

目前的开发项目,准备明年的国产化,用了十年的自研系统借这个机会全部重写,订立更严格的规范,这里把返回格式及对应状态码记录一下。 常见 HTTP 状态码及解释 HTTP 状态码用于表示客户端请求的响应状态,它们分为五类&a…

Docker在CentOS上的安装与配置

前言 随着云计算和微服务架构的兴起,Docker作为一种轻量级的容器技术,已经成为现代软件开发和运维中的重要工具。本文旨在为初学者提供一份详尽的指南,帮助他们在CentOS系统上安装和配置Docker及相关组件,如Docker Compose和私有…

echart折线图动感设计

效果: 起由: 需求设计大大觉得EChart图表的折线图太过于死板,没有交互感,希望可以实现上图的效果,经过一顿摸索发现EChart折线图effect属性可以让光点沿着折线的路径移动,从而实现动态效果,注意…

2-2.STM32之定时器TIM---输入捕获--实验2( PWMI模式测频率占空比)

输入捕获模式测频率、PWMI模式测频率占空比-CSDN博客 参考这篇文章! 来利用一个GPIO的定时器的两个通道进行捕获占空比和频率,看出可以看出。TI1FP1和TI2FP2,计数值分别在CCR1和CCR2中取, 测周法 IC.c #include "stm32f1…

mathtype中自定义数组维数问题

1 选中红框里的内容 2 设置矩阵维数,即行列数 3 选中中间数字部分,选中左边大括号,或者快捷键ctrll. ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/39ec0c8ed76a46d8b83d484a84ac59a7.png选中内部a

普吕克线( Plücker 线)

普吕克线 在 Plcker 坐标表示中,一条直线 l ‾ 1 \underline{l}_1 l​1​可以用以下两个向量来表示: l ‾ 1 l 1 ϵ m 1 \underline{l}_1 l_1 \epsilon m_1 l​1​l1​ϵm1​ 方向向量 l 1 l_1 l1​:表示直线的方向。动量向量 m 1 m_…

SLMi350DB-DG适用于驱动低边侧和高边侧的MOSFET和IGBT 兼容光耦的单通道隔离驱动器

SLMi350DB-DG是一款兼容光耦的单通道隔离驱动器,具有4A/7A源电流/灌电流以及3.75kVRMS隔离耐压值,适用于驱动低边侧和高边侧的MOSFET和IGBT。与光耦栅极驱动器相比,SLMi350DB-DG具有高共模瞬态抗扰度(CMTI)、低传播延迟和较小的脉宽失真等关键…

帕金森患者必看!这些维生素能帮你改善生活质量!

帕金森病,这个看似遥远的疾病,却悄然影响着许多人的生活质量。作为一种慢性神经退行性疾病,帕金森不仅会导致患者的运动能力受限,还会引发一系列非运动性症状,如便秘、情绪波动等。然而,你知道吗&#xff1…

5G智能对讲终端|北斗有源终端|北斗手持机|单兵|单北斗

在当今这个快速发展的数字化时代,5G技术的广泛应用正以前所未有的速度推动着各行各业的变革。作为这一技术浪潮中的重要一环,5G智能终端QM630D凭借其卓越的性能和多样化的功能,在林业、渔业、安保、电力、交通等多个领域展现出了巨大的应用潜…

【comfyui教程】ComfyUI有趣工作流推荐:快速换脸,创意随手掌握!

前言 在数字影像处理和创意表达领域,ComfyUI 绝对是你的得力助手!今天我们推荐一个非常有趣的工作流——快速换脸。无论你是图像编辑小白,还是深耕AI影像的达人,这个工作流都能让你快速实现面部迁移,体验全新的照片玩…

GPT原理;ChatGPT 等类似的问答系统工作流程如下;当用户向 ChatGPT 输入一个问题后:举例说明;ChatGPT不是通过索引搜索的传统知识库

目录 GPT原理 GPT架构 GPT 主要基于 Transformer 的解码器部分 ChatGPT 等类似的问答系统工作流程如下: 用户输入 文本预处理 模型处理 答案生成 输出回答 当用户向 ChatGPT 输入一个问题后:举例说明 文本预处理: ChatGPT不是通过索引搜索的传统知识库 GPT GPT…

Linux云计算 |【第五阶段】CLOUD-DAY8

主要内容: 掌握DaemonSet控制器、污点策略(NoSchedule、Noexecute)、Job / CronJob资源对象、掌握Service服务、服务名解析CluterIP(服务名自动发现)、(Nodeport、Headless)、Ingress控制器 一…

基于Zynq FPGA对雷龙SD NAND的测试

一、SD NAND 特征 1.1 SD 卡简介 雷龙的 SD NAND 有很多型号,在测试中使用的是 CSNP4GCR01-AMW 与 CSNP32GCR01-AOW。芯片是基于 NAND FLASH 和 SD 控制器实现的 SD 卡。具有强大的坏块管理和纠错功能,并且在意外掉电的情况下同样能保证数据的安全。 …

探索空间计算与 VR 设备的未来:4K4DGen 高分辨率全景 4D 内容生成系统

在当今科技飞速发展的时代,空间计算和 VR 设备正逐渐成为人们体验沉浸式场景的重要工具。而今天,我们要为大家介绍一款具有创新性的技术 ——4K4DGen 高分辨率全景 4D 内容生成系统,它为 VR/AR 沉浸式体验带来了全新的可能性。 一、项目概述 4K4DGen 项目的核心目标是实现 …