深度学习入门--python入门2

news2025/2/22 12:29:55

以前学的全忘了,现在算是才开始学,有错误,恳请指正。

目录

1.4 Python脚本文件

1.4.1保存为文件

1.4.2 类

1.5 Numpy

1.5.1 导入Numpy

1.5.2  生成Numpy数组

1.5.3 Numpy的算术运算

1.5.4 Numpy的N维数组

1.5.5 广播

1.5.6 访问元素

1.6 Matplotlib

1.6.1 绘制简单的图形

1.6.2 pyplot的功能

1.6.3 显示图像

在家就是不太适合学习(至少我是),今天回学校了,继续开始下面的学习: 

1.4 Python脚本文件

1.4.1保存为文件

 为了可以在以后使用我们写的一串python代码,我们就可以将其保存为文件,也就是我们常说的.py文件,例如:

        如果想在终端执行这个文件代码,那么就需要使用cd命令进入到该文件的保存位置,然后使用python 文件名就可以执行,比如说执行上面的这个代码(代码需要输入,我忘了输入,所以报错了):

        但是在打开终端的时候,默认是在C盘下,如果你的代码在其他盘,那么就需要先转到该盘,然后再执行,就比如说我的在D盘下,所以就先转到D盘,再使用cd进入相应文件夹,去执行相应文件。

运行结果如下:

1.4.2 类

python中自有的类比如:int,float。但是,有时候我们需要自定义类,比如:人,那么人这个类就有自己的属性(比如姓名),也有自己的方法(比如人唱歌),感觉这里和Java中的一样。但是对于他的构造函数,有一定的差别。

python中定义类是使用class 类名:来定义,然后下面写函数,首先就是构造函数,然后就是类的其他方法。

例如:

但是我有一下疑问:

1、定义类的时候必须写构造函数嘛?

2、为什么要有实例变量self.name

解答(来自ai):

  1. 定义类时不需要必须写构造函数,但显式定义__init__方法可以让对象初始化更加方便和清晰。

  2. **实例变量self.name**是必要的,因为它允许每个对象独立存储数据,而self是访问当前对象属性和方法的关键。

如果将上述的代码修改为没有显形的构造函数,那么修改的结果如下:

此时需要手动为对象添加属性。

1.5 Numpy

numpy函数用于数组、矩阵等的数值计算。

1.5.1 导入Numpy

python中函数的导入使用的函数引用是使用import

import numpy as np

意思就是导入numpy函数,然后将此函数命名为np。即以后在使用numpy函数的时候可以直接用你np来代替(下面使用的时候,就直接按照这个来代替了)。

1.5.2  生成Numpy数组

使用的语法是np.array()

一维数组,就是一个中括号。例如:

x = np.array([1,2,3])

二维数组就是两个中括号,例如:

x = np.array([[1,2,3],[2,3,4]])

多维数组道理一样,一直往下写就可以了。

如果想要知道x的类型,使用的还是type()函数。

例如:

1.5.3 Numpy的算术运算

算术运算常见的也就是加减乘除,如果说两个运算的数值,维数相同,那么直接一对一那样运算即可。例如:

从上述例子可以看出,相同维度,只是相同位置进行运算即可。

1.5.4 Numpy的N维数组

可以从上面的例子看出N维数组的样子,二维数组又可以看作是一个矩阵,对于矩阵的运算,我们在前面例子已经看到了,对于相同维数的运算,就是直接对应元素计算即可。

若想要知道N维数组的形状,那么可以用shape(这里shape后面是没有括号的,要注意),例如:

若想知道里面元素的类型,可以使用dtype(后面依旧没有()) ,例如:

1.5.5 广播

Numpy不仅可以进行对应元素的运算,还可以和标量进行运算,在运算的过程中,就需要提到广播了。

我理解的就是,根据所给的数组,将现有的标量进行一个扩写。

例如:现在有数组c,有标量q=2。

若想进行c和q的运算,那么就需要将q扩展成一个与c维度相同的数据进行运算。

得到的结果就是每个元素都乘以标量2。

1.5.6 访问元素

这里访问元素可以直接按照访问数学中的矩阵里面的元素那样,下标从0开始。比如常见的二维数组,若是只指定了一个下标,那么就输出这一行(或列)若是指定了两个下标,那么就直接输出某个元素。

例如:

如果想要遍历整个数组,可以使用for,例如:

2维以及以上的数组,可以进行展平操作,即降成一维,使用函数flatten()

例如:

然后就可以单纯的对里面的元素进行分析。如果使用比较算数符,比如:>,那么输出的结果就是布尔型,例如:

1.6 Matplotlib

Matplotlib常用于绘制图形,实现数据的可视化。

1.6.1 绘制简单的图形

绘制图形的时候,使用的是matplotlib的pyplot模块。

例如:绘制sin函数

#首先导入所需模块,需要的是处理数据的和绘制图形的
import numpy as np
import matplotlib.pyplot as plt

#设置数据(生成数据)
x = np.arange(0,6,0.1)
y = np.sin(x)

#绘制图形
plt.plot(x,y)
plt.show()

绘制结果:

1.6.2 pyplot的功能

pyplot不仅可以绘制图形,还可以对图形进行添加标签、标题等。

例如:绘制sin&cos函数图形,并添加主题和标签。

#导入模块
import numpy as np
import matplotlib.pyplot as plt

#生成数据
x = np.arange(0,6,0.1)
y1 = np.sin(x)
y2 = np.cos(x)

#添加标签,主题等
plt.plot(x,y1,label="sin")
plt.plot(x,y2,linestyle="--",label="cos") #使用linestyle定义绘制曲线的款式
plt.xlabel("x")
plt.ylabel("y")
plt.title("sin&cos")
plt.legend()
plt.show()

绘制结果:

 

1.6.3 显示图像

前面提到的plt.show()是用来显示绘制的图形,这里的是显示图像,也就是对现有的某种图片进行显示。

使用的imshow()方法。图像的读入使用的是matplotlib.image的imread()方法。

注意:这里我在没写代码之前以为使用了imshow()方法就不需要show来显示的,但是事实并不是这样。

  • plt.imshow():用于将图像数据加载到当前图形中,但不会显示图形窗口。

  • plt.show():用于显示图形窗口,是将图形渲染到屏幕上的关键步骤。

例如:随机读一个棉花的RGB图:

#导入所需模块和函数
import matplotlib.pyplot as plt
from matplotlib.image import imread

#读入图像
imag = imread("D:/5.23/zc-x7/zc-x7-20.tif")
plt.imshow(imag)

plt.show()

显示结果:

除了上面注意点,还有一个要注意的就是,自己复制的路径很可能是反斜杠(\,用来转义的),但是这里的路径是需要斜杠(/)的。

ok,第一章python基础就先这样了,后面遇到什么不会的,就再学吧,明天开始学习下一章,感知机。

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

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

相关文章

题海拾贝:【枚举】P2010 [NOIP 2016 普及组] 回文日期

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 1、题…

Mac端homebrew安装配置

拷打了一下午o3-mini-high&#xff0c;不如这位博主的超强帖子&#xff0c;10分钟结束战斗 跟随该文章即可&#xff0c;2025/2/19亲测可行 mac 安装HomeBrew(100%成功)_mac安装homebrew-CSDN博客文章浏览阅读10w次&#xff0c;点赞258次&#xff0c;收藏837次。一直觉得自己写…

Python高级语法之selenium

目录&#xff1a; 1、selenium的使用2、selenium元素定位3、selenium使用功能Phantomjs模拟浏览器启动4、selenium使用功能ChromsHandless模拟浏览器启动 1、selenium的使用 2、selenium元素定位 3、selenium使用功能Phantomjs模拟浏览器启动 4、selenium使用功能ChromsHandles…

2025年3月最新算法-鲸鱼迁徙优化算法Whale Migration Algorithm-附Matlab免费代码

引言 本期介绍了一种基于座头鲸协同迁移行为的创新生物启发式优化方法——鲸鱼迁徙优化算法Whale Migration Algorithm&#xff0c;WMA。该算法于2025年3月最新发表在期刊 Results in Engineering 在本节中&#xff0c;我们概述了开发鲸鱼迁移算法&#xff08;WMA&#xff09;…

flowable适配达梦数据库

文章目录 适配相关问题无法从数据库产品名称“DM DBMS”中推断数据库类型分析解决 构建ibatis SqlSessionFactory时出错&#xff1a;inStream参数为null分析解决 liquibase相关问题问题一&#xff1a;不支持的数据库 Error executing SQL call current_schema: 无法解析的成员访…

Jenkins整合Jmeter实现接口自动化测试

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、安装jmeter 下载&#xff1a;http://jmeter.apache.org/download_jmeter.cgi 这里我用了一台Windows安装jmeter用来写接口测试的脚本&#xff0c;启动前修改j…

高级推理的多样化推理与验证

25年2月来自波士顿大学、NotBadMath.AI、谷歌、哥伦比亚大学、MIT、Intuit公司和斯坦福大学的论文“Diverse Inference and Verification for Advanced Reasoning”。 OpenAI o1、o3 和 DeepSeek R1 等推理 LLM 在数学和编码方面取得重大进展&#xff0c;但仍发现 IMO 组合问题…

清华大学:DeepSeek与AI幻觉(31页PDF)

PDF深入探讨了AI幻觉的概念、原因、评测方法及其实用应用&#xff0c;特别是在金融领域的具体案例。首先介绍了AI幻觉的定义&#xff0c;主要包括数据偏差、泛化困境、知识固化和意图误解四种情况&#xff0c;以及这些因素导致AI产出不合理结果的原因。随后&#xff0c;通过音乐…

AWS云从业者认证题库 AWS Cloud Practitioner(2.21)

题库持续更新&#xff0c;上方二维码查看完整题库&#xff01; 公司希望减少开发人员用于运行代码的物理计算资源,通过启用无服务器架构&#xff0c;哪种服务可以满足该需求? A&#xff1a; Amazon Elastic Compute Cloud (Amazon EC2) B&#xff1a; AWS Lambda C&#xff1a…

网络工程师 (43)IP数据报

前言 IP数据报是互联网传输控制协议&#xff08;Internet Protocol&#xff0c;IP&#xff09;的数据报格式&#xff0c;由首部和数据两部分组成。 一、首部 IP数据报的首部是控制部分&#xff0c;包含了数据报传输和处理所需的各种信息。首部可以分为固定部分和可变部分。 固定…

京准电钟:水利控制系统网络时间同步设计与应用

京准电钟&#xff1a;水利控制系统网络时间同步设计与应用 京准电钟&#xff1a;水利控制系统网络时间同步设计与应用 引言 在水利工程中&#xff0c;控制系统的高效运行依赖于精准的时间同步。水电站、泵站、闸门控制、水文监测等子系统的协同作业需要毫秒甚至微秒级的时间…

QML 实现一个动态的启动界面

QML 实现一个动态的启动界面 一、效果查看二、源码分享三、所用到的资源下载 一、效果查看 二、源码分享 工程结构 main.qml import QtQuick import QtQuick.Controls import QtQuick.Dialogs import Qt.labs.platformWindow {id:windowwidth: 640height: 400visible: truetit…

【论文阅读】SAM-CP:将SAM与组合提示结合起来的多功能分割

导言 近年来&#xff0c;视觉基础模型的快速发展推动了多模态理解的进步&#xff0c;尤其是在图像分割任务中。例如&#xff0c;Segment Anything模型&#xff08;SAM&#xff09;在图像Mask分割上表现出色&#xff0c;但在语义及实例分割方面仍存在局限。本文提出的SAM-CP&am…

逻辑架构与软件架构在PREEvision中的设计关系

1 Introduction 在如今汽车电子系统的开发过程中&#xff0c;系统架构设计是至关重要的环节。无论是汽车控制系统、信息娱乐系统&#xff0c;还是电动驱动系统&#xff0c;架构设计都决定了整个系统的功能、性能以及后期的可维护性和可扩展性。 在往期文章中&#xff0c;我们…

武汉火影数字|VR沉浸式空间制作 VR大空间打造

VR沉浸式空间制作是指通过虚拟现实技术创建一个逼真的三维环境&#xff0c;让用户能够沉浸在这个环境中&#xff0c;彷佛置身于一个全新的世界。 也许你会好奇&#xff0c;VR 沉浸式空间究竟是如何将我们带入那奇妙的虚拟世界的呢&#xff1f;这背后&#xff0c;离不开一系列关…

大数据学习之任务流调度系统Azkaban、Superset可视化系统

一.任务流调度系统Azkaban 1.课程介绍 2.为什么需要工作流调度系统 3.AZKABAN是什么 4.AZKABAN下载 5.制作安装包 6.tar包准备 7.MYSQL配置AZKABAN 8.配置EXECUTOR SERVER 9.配置WEBSERVER 10.单作业实战_yaml语言(今天稍晚更新) 11.单作业实战 12.多作业依赖实战 13.失败自动重…

在VS-qt的程序中,后期增加PCH预编译功能,提高编译速度

由于前期创建qt程序的时候未勾选pch功能,导致没有启动预编译的功能. 这种情况下需要增加pch功能应该怎么做? 在项目中增加2个文件 stdafx.h和stdafx.cpp文件 stdafx.h增加qt常用头文件 #pragma once //windows #include <windows.h>//qt常用 #include <QObject&g…

蓝桥云客 路径之谜

11.路径之谜 - 蓝桥云课 路径之谜 题目描述 小明冒充X星球的骑士&#xff0c;进入了一个奇怪的城堡。 城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。 假设城堡地面是nn个方格。如下图所示。 按习俗&#xff0c;骑士要从西北角走到东南角。可以横向或纵向移动&…

【Python项目】基于Python的语音数据及标注核对审核系统

【Python项目】基于Python的语音数据及标注核对审核系统 技术简介&#xff1a; 采用Python技术、MySQL数据库、Django框架等实现。 系统简介&#xff1a; 语音数据及标注核对审核系统是一个基于B/S架构的语音数据处理平台&#xff0c;旨在通过自动化的方式对语音数据进行标…

深入解析BFS算法:C++实现无权图最短路径的高效解决方案

在无权图中&#xff0c;广度优先搜索&#xff08;BFS&#xff09;是解决最短路径问题的高效算法。接下来博主从专业角度深入探讨其实现细节&#xff0c;并给出C代码示例&#xff1a; 目录 一、核心原理 二、算法步骤 三、C实现关键点 1. 数据结构 2. 边界检查 3. 路径回溯…