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

软件内部窥探,仅一会

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

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

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

相关文章

vivado FSM Components

Vivado合成功能 •同步有限状态机(FSM)组件的特定推理能力。 •内置FSM编码策略,以适应您的优化目标。 •FSM提取默认启用。 •使用-fsm_extraction off可禁用fsm提取。 FSM描述 Vivado综合支持Moore和Mealy中的有限状态机(…

C语言特殊函数

静态函数 背景知识:普通函数都是跨文件可见的,即在文件 a.c 中定义的函数可以在 b.c 中使用。 静态函数:只能在定义的文件内可见的函数,称为静态函数。 语法 staitc void f(void) // 在函数头前面增加关键字 static &#xff…

读取7400MB/s!华为发布eKitStor Xtreme M.2闪存条

今日,华为举行数据存储新春新品发布会,不仅发布全新数据湖解决方案,华为还针对商业市场与分销市场发布了全闪存存储新品。 据介绍,面向游戏加速、影视编辑、户外作业等场景,华为发布eKitStor Xtreme系列高性能M.2闪存条…

常用的函数式接口(Supplier、Consumer、Predicate、Function)

目录 一.函数式接口作为方法的参数 二.函数式接口作为方法的返回值 三.常用的函数式接口 3.1生产型Supplier接口 3.2消费型Consumer接口 抽象方法:accept 默认方法:andThen 3.3判断型Predicate接口 抽象方法:test 默认方法&#xf…

力扣基础刷题---二分查找

704. 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 中心思想:找到中间值,跟中间值比…

2024.2.23

1、消息队列代码 msgsnd.c #include<myhead.h> //定义一个消息类型 struct msgbuf {long mtype; //消息类型char mtext[1024]; //消息正文 };//定义一个宏&#xff0c;表示消息正文大小 #define MSGSIZE sizeof(struct msgbuf)-sizeof(long)int main(int …

Docker容器故障排查与解决方案

Docker是一种相对使用较简单的容器&#xff0c;我们可以通过以下几种方式获取信息&#xff1a; 1、通过docker run执行命令&#xff0c;或许返回信息 2、通过docker logs 去获取日志&#xff0c;做有针对性的筛选 3、通过systemctl status docker查看docker服务状态 4、通过…

数据安全治理实践路线(上)

基于以上数据安全治理实践理念&#xff0c;可以按照自顶向下和自底向上相结合的思路推进实践过程。一方面&#xff0c;组织自顶向下,以数据安全战略规划为指导,以规划、建设、运营、优化为主线&#xff0c;围绕构建数据安全治理体系这一核心&#xff0c;从组织架构、制度流程、…

“从根到叶:深入理解排序数据结构“

一.排序的概念及引用 1.1排序的概念 排序是指将一组数据按照一定的规则重新排列的过程。排序的目的是为了使数据具有有序性&#xff0c;便于查找、插入、删除等操作&#xff0c;提高数据的组织和管理效率。 稳定性是指如果序列中存在相等元素&#xff0c;在排序完成后&#…

网卡本质,网络发展(局域网,广域网概念)

目录 引入 网卡的本质 网络的发展 引入 早期 局域网LAN&#xff08;Local Area Network&#xff09; 广域网WAN&#xff08;Wide Area Network&#xff09; 注意 引入 前面我们已经学习了很多关于linux系统的知识,其中文件系统和线程尤为繁杂 而网络其实也算系统的一部…

2024年开发者的最好选择!!没有之一

中国银河证券1月23日明确指出&#xff1a;鸿蒙应用将在2024年迎来爆发。 2024年Q2推出开发者Beta版&#xff0c;2024年Q4推出商用版。今年年终将有 5000 款应用完成原生鸿蒙开发&#xff0c;未来支持 50 万款应用。覆盖便捷生活、出行文旅、金融便利、社交资讯、生产力工具、影…

2024能源动力、机械自动化与航天航空技术国际学术会议(ICEPMAT2024)

2024能源动力、机械自动化与航天航空技术国际学术会议(ICEPMAT2024) 会议简介 能源动力、机械自动化和航空航天技术国际学术会议&#xff08;ICEPMAT2024&#xff09;将于2024年在北京举行。会议将探讨能源动力、机械自动化、航空航天技术领域的新研究热点、核心技术和发展趋…

【Git】:远程仓库操作

远程仓库操作 一.理解版本控制系统二.远程仓库1.克隆2.Push操作3.fetch操作4. .gitnore文件 一.理解版本控制系统 我们⽬前所说的所有内容&#xff08;⼯作区&#xff0c;暂存区&#xff0c;版本库等等&#xff09;&#xff0c;都是在本地&#xff01;也就是在你的笔记本或者计…

Camtasia Studio2024破解版屏幕录像和视频编辑软件

Camtasia Studio是一款专业的屏幕录像和视频编辑软件&#xff0c;它可以用来进行多种工作&#xff1a; 屏幕录制&#xff1a;Camtasia Studio可以录制电脑屏幕上的任何活动&#xff0c;如软件操作、演示、游戏过程等&#xff0c;非常适合制作教学视频、软件教程、游戏解说等。…

京东前端笔试(附答案解答)

引言 我目前本科大四&#xff0c;正在春招找前端&#xff0c;有大厂内推的友友可以聊一聊&#xff0c;球球给孩子的机会吧。 我整理了一份10w字的前端技术文档&#xff1a;https://qx8wba2yxsl.feishu.cn/docx/Vb5Zdq7CGoPAsZxMLztc53E1n0k?fromfrom_copylink &#xff0c;对…

什么是汽车抛负载Load dump

1.什么是抛负载 抛负载&#xff0c;英文为Load dump&#xff0c;是指断开电源与负载的瞬间&#xff0c;由于负载突变而引起电源电压急剧变化。在汽车电子领域&#xff0c;抛负载是指在蓄电池充电时&#xff0c;断开发电机与蓄电池的连接而引起发电机输出大电压尖峰&#xff0c…

【Linux】一站式教会:Ubuntu(无UI界面)使用apache-jmeter进行压测

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 前言一、Java…

EventStream获得数据流,前端配置获得推送的流

如上图所示&#xff0c;请求一个接口&#xff0c;接口以数据流的方式向客户端推送数据&#xff0c;默认需要消息收集一条&#xff0c;在原来的基础上追加&#xff0c;在create-react-app生成的工程中&#xff0c;如果代理使用了中间件http-proxy-middleware&#xff0c;同时dev…

数据库面试题汇总,助你轻松应对面试!

考虑到最近有些小伙伴准备跳槽&#xff0c;所以更新一些数据库相关的面试题&#xff0c;希望能帮到大家&#xff01; 一 请写出创建表的基本语法结构&#xff1f; 创建表的基本语法结构如下&#xff1a; CREATE TABLE IF NOT EXISTS 表名(字段名1 字段类型,字段名2 字段类型 …

在springboot中调用openai Api并实现流式响应

之前在《在springboot项目中调用openai API及我遇到的问题》这篇博客中&#xff0c;我实现了在springboot中调用openai接口&#xff0c;但是在这里的返回的信息是一次性全部返回的&#xff0c;如果返回的文字比较多&#xff0c;我们可能需要等很久。 所以需要考虑将请求接口响应…