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

Python和Jupyter简介

在本notebook中,你将:

1、学习如何使用一个Jupyter notebook

2、快速学习Python语法和科学库

3、学习一些IPython特性,我们将在之后教程中使用。

这是什么?

这是只为你运行在一个个人"容器"中的一个Jupyter notebook,存储了你能够运行和修改的示例数据,演示和教程。所有你需要的软件已经安装并且准备用于使用。

运行某段Python代码

要运行以下代码:

1、点击单元来选取它。

2、在键盘上按Shift + ENTER或者工具栏中Run按钮。

注意:你可以编辑一个单元并且重新运行它。notebook文档混合了可执行代码和叙述内容。它支持文本,链接,嵌入的视频甚至排版的数学:

Python语法的简介

列表list

字典dict

提示:对于大型或嵌套字典,使用list()更方便。自定义python对象经常可以用相同方式查询。

函数

在IPython f?或?f显示有关f的信息,注入它的参数。

 

参数可以有默认值:

 任何参数可以由键盘输入。这输入更慢,但之后阅读清楚。

如果使用关键字,你不需要记住参数顺序。

使用numpy快速的数值计算

对于数值计算,一个numpy数组比普通列表list更有用并且高性能:

我们使用IPython %%timeit魔术测量内建python列表和numpy数组之间的速度差别。

如果单个循环需要更长计算,在所需行上使用%time

使用matplotlib绘图

在一个交互设置中,这将显示你可以移动和缩放的画布。(继续阅读我们能够在非交设置中做什么,例如本教程的静态网页版本)。

我们可以像这样绘图某些数据。在交互设置中,这将更新以上画布。

并且到此,通过显示图形自身,我们可以显示图形状态的一个非交互快照。

显示plt.gcf()(或任何图形)显示一个图形的非交互快照。显示plt.gcf().canvas或者任何Canvas给我们这个图形的另一个交互的,实时更新视图。 

中断IPython内核

运行这个单元,并且点击notebook工具栏中方形的'stop'按钮来中断这个无限循环。

(这等价于在中断中按下Ctrl + C)

"Magics"

在此输入的代码由IPython解析,IPython通过添加了帮助你最大化地交互使用Python的快捷方式扩展Python。"Magics"是特殊的IPython语法。它们不是Python语言的组成部分,并且它们不应该在脚本或库中被使用;它们是为了交互使用。

# hello_world.py
message = 'hello world'
print(message)

当脚本结束时,在那个脚本中定义的任何变量将被输出到我们的命名空间。例如,(如我们将在下面见到的),这个脚本定义了一个名为message的变量。现在我们用%runm运行这个脚本,message在我们的命名空间中。

这个命令可能使人混淆,在此情况中,读者必须发掘来理解message定义在何处以及它是什么,但它有其用处。整个教程中,我们将使用%run magic作为运行公式化配置代码以及定义代表硬件的变量的快捷方式。

%load magic复制一个文件的内容到一个单元但不运行它:%load scripts/hello_world.py

第二次执行这个单元来实际运行这个代码。整个教程中,我们使用%load magic来装置方法来练习。

系统shell访问

任何以一个!字符开头的输入行被传递,传递到下层操作系统。

numpy数组

目标

1)对于新手,感受如何使用一个数组。

2)对于更有经验的练习者,更深入地理解数组如何运行并且可能加你到一或两个有用的新东西。

项和分片

1、从数组中取单个元素,以下取第一行和第一列的元素

2、从数组中取一行元素,以下取第0行的元素

3、从数组中取一列元素,以下取0列的元素 

4、从数组中取0到2行和0到2列中的元素

 5、以下取10行到999行,因为这些行是在原数组中不存在,所以返回一个空数组

不同维度的数组通过"广播"被组合

 广播规则:

基本运算:当两个要运算的数组形状不一致时,需要进行广播,使两者的形状一致再进行计算。1
例如,计算`a + b`,其中`a.shape=(2, 2, 3)`和`b.shape=(2, 3)`,那么`b`会被广播为`b.shape=(1, 2, 3)`,然后进行加法运算。
广播规则:

如果两个数组的rank(维度数量)不同,会在低级数组的shape的最前面添加1,直到两个数组的rank一致。
如果两个数组的某一层维度相同,或者其中一个数组在该维度的大小为1,则称两个数组在该维度上是兼容的。若数组在所有维度上兼容,则可以一起广播。
广播后,该维度为1的数组在该维度上进行复制。
特殊情况:

如果数组的某一维度为1,但该维度在其他数组中没有对应的值,那么这个维度不会参与广播。
如果数组的形状在任何维度上都匹配,但有一个维度为1,那么这个维度上的值会被扩展到整个数组。
以上规则确保了NumPy能够有效地处理不同形状的数组进行运算,是一种高效的运算方式。

用切片自己可以创建切片并且被再次使用

 

数组解剖

获取维度,维度数,元素数目,字节数目,元素数据类型以及转成list

软件内部窥探,仅一会

一个内存块,具有跨越它和解析它的规则

相关文章:

Python和Jupyter简介

在本notebook中,你将: 1、学习如何使用一个Jupyter notebook 2、快速学习Python语法和科学库 3、学习一些IPython特性,我们将在之后教程中使用。 这是什么? 这是只为你运行在一个个人"容器"中的一个Jupyter noteboo…...

Linux——静态库

Linux——静态库 静态库分析一下 ar指令生成静态库静态库的使用第三方库优化一下 gcc -I(大写的i) -L -l(小写的l),头文件搜索路径,库文件搜索路径,连接库 今天我们来学习静态库的基本知识。 静态库 在了解静态库之前,我们首先来…...

fastjson序列化MessageExt对象问题(1.2.78之前版本)

前言 无论是kafka&#xff0c;还是RocketMq&#xff0c;消费者方法参数中的MessageExt对象不能被 fastjson默认的方式序列化。 一、查看代码 Override public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,ConsumeConcurrentlyContext context) {t…...

osi模型,tcp/ip模型(名字由来+各层介绍+中间设备介绍)

目录 网络协议如何分层 引入 osi模型 tcp/ip模型 引入 命名由来 介绍 物理层 数据链路层 网络层 传输层 应用层 中间设备 网络协议如何分层 引入 我们已经知道了网络协议是层状结构,接下来就来了解了解下网络协议如何分层 常见的网络协议分层模型是OSI模型 和 …...

ElasticSearch之找到乔丹的空中大灌篮电影

写在前面 本文看一个搜索的实际例子&#xff0c;找到篮球之神乔丹的电影Space Jam&#xff0c;即空中大灌篮。 正式开始之前先来看下要查询的目标文档&#xff0c;以及查询的text&#xff1a; 要查询的目标文档 {..."title": "Space Jam",..."ove…...

CSS @符规则(@font-face、@keyframes、@media、@scope等)

随着前端开发的不断发展&#xff0c;CSS 的功能日益强大&#xff0c;其中 规则扮演着举足轻重的角色。它们不仅扩展了 CSS 的功能边界&#xff0c;还为开发者提供了更加灵活和高效的样式定义方式&#xff0c;让我们来一同探索这些强大而实用的 规则吧&#xff01; font-face …...

uniapp微信小程序解决上方刘海屏遮挡

问题 在有刘海屏的手机上&#xff0c;我们的文字和按钮等可能会被遮挡 应该避免这种情况 解决 const SYSTEM_INFO uni.getSystemInfoSync();export const getStatusBarHeight ()> SYSTEM_INFO.statusBarHeight || 15;export const getTitleBarHeight ()>{if(uni.get…...

项目:shell实现多级菜单脚本编写

目录 1. 提示 2. 演示效果 2.1. 一级菜单 2.2. 二级菜单 2.3. 执行操作 3. 参考代码 1. 提示 本脚本主要实现多级菜单效果&#xff0c;并没有安装LAMP、LNMP环境&#xff0c;如果要用在实际生成环境中部署LNMP、LAMP环境&#xff0c;只需要简单修改一下就可以了。 2. 演…...

Collections常用方法(Java)

Collections常用方法 使用 sort(List<T> list) 对 List 进行排序&#xff1a; List<Integer> numbers new ArrayList<>(Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6)); Collections.sort(numbers); System.out.println("排序后的列表&#xff1a;" …...

Mysql整理-概述

Mysql概述 MySQL是一种流行的开源关系数据库管理系统(RDBMS),它使用结构化查询语言(SQL)来访问、管理和处理数据。它是基于客户端-服务器模型的数据库,意味着数据存储在服务器上,而用户可以通过客户端软件从不同的位置访问这些数据。 MySQL的主要特点包括: 开源软件:M…...

ubuntu+QT+ OpenGL环境搭建和绘图

一&#xff0c;安装OpenGL库 安装OpenGL依赖项&#xff1a;运行sudo apt install libgl1-mesa-glx命令安装OpenGL所需的一些依赖项。 安装OpenGL头文件&#xff1a;运行sudo apt install libgl1-mesa-dev命令来安装OpenGL的头文件。 安装GLUT库&#xff1a;GLUT&#xff08;Ope…...

Vue实现打印功能(vue-print-nb)

1、安装依赖 npm install vue-print-nb --save2、在main.js中引入 import Print from vue-print-nb Vue.use(Print)3、在组件的打印区域标签上加 id“printArea” <div id"printArea"> 打印区域 </div>4、在组件的打印按钮标签上使用指令 v-print“pr…...

【JSON2WEB】06 JSON2WEB前端框架搭建

【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 前端技术路线太多了&#xff0c;知识点更多&…...

【蓝桥杯单片机入门记录】动态数码管

目录 一、数码管动态显示概述 二、动态数码管原理图 &#xff08;1&#xff09;原理图 &#xff08;2&#xff09;动态数码管如何与芯片相连 &#xff08;3&#xff09;“此器件” ——>锁存器74HC573 三、动态数码管显示例程 &#xff08;1&#xff09;例程1&#xf…...

12 Redis之Lua脚本

11. Lua脚本 Lua 是一个由标准 C 语言开发的、开源的、可扩展的、轻量级的、弱类型的、解释型脚本语言 常用于Nginx/分布式锁/ 先下载并安装Lua...

网络安全之内容安全

内容安全 攻击可能只是一个点&#xff0c;防御需要全方面进行 IAE引擎 DFI和DPI技术--- 深度检测技术 DPI --- 深度包检测技术--- 主要针对完整的数据包&#xff08;数据包分片&#xff0c;分段需要重组&#xff09;&#xff0c;之后对 数据包的内容进行识别。&#xff08;应用…...

在CentOS上使用Docker搭建Halo博客并实现远程访问的详细指南

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;网络奇遇记、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. Docker部署Halo1.1 检查Docker版本1.2 在Docker中部署Halo 二. Linux安装Cpol…...

数据结构day5

link_stack.c #include "link_stack.h" //申请栈顶指针 top_p create_top() {top_p top (top_p)malloc(sizeof(top_t));if(topNULL){printf("空间申请失败\n");return NULL;}top->len 0;top->ptop NULL; //刚申请栈指针时没有指向元素return to…...

基础!!!吴恩达deeplearning.ai:神经网络中使用softmax

以下内容有任何不理解可以翻看我之前的博客哦&#xff1a;吴恩达deeplearning.ai 文章目录 softmax作为输出层的神经网络Tensorflow的实现softmax的改进实现数值舍入误差(Numerical Roundoff Errors)sigmoid修改修改softmax 在上一篇博客中我们了解了有关softmax的原理相关内容…...

mapbox高德地图与相机

mapbox高德地图与相机 本案例使用Mapbox GL JavaScript库创建高德地图。 演示效果引入 CDN 链接地图显示 创建地图实例定义地图数据源配置地图图层 设置地图样式实现代码 1. 演示效果 2. 引入 CDN 链接 <script src"https://api.mapbox.com/mapbox-gl-js/v2.12.0/mapb…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...