
python基础
文章平均质量分 90
python语言学习
zyw2002
Talent hits a target no one else can hit; Genius hits a target no one else can see;
展开
-
图像处理库(Opencv, Matplotlib, PIL)以及三者之间的转换
将tensor或ndarray转换为PIL图像——这不会缩放值。将PIL图像或ndarray转换为tensor,并相应地缩放。将PIL图像转换为相同类型的张量-这不会缩放值。opencv的基本图像类型可以和numpy数组相互转化,因此可以直接调用。如果是RGBA图像,返回(H.W, 4) 形状的数组, 图片通道顺序为。如果是RGB图像,返回(H, W, 3) 形状的数组,图片通道顺序为。在其他情况下,张量在不缩放的情况下返回。如果是灰度图:返回(H,W)形状的数组。图像的模式如下图,比如。原创 2023-08-01 22:33:16 · 3810 阅读 · 1 评论 -
python 迭代器和生成器
迭代器是同时实现方法的对象。生成器Python 中,提供了两种 ,一种是,另一种是。可迭代对象,可以简单理解为可遍历对象,即能够使用 循环遍历的对象。Python中常见的可迭代对象有:对于Python中的任意对象,只要它定义了可以返回一个迭代器的 方法,或者定义了可以支持下标索引的 方法,那么它就是一个可迭代对象。对可迭代对象使用 方法后,会返回一个迭代器。我们只需要使用 即可判断给定的 是否为可迭代对象。严格来讲, 只会将有 方法的对象判断为 。换言之,仅用 方法实现的可迭代对象会被 误判原创 2022-12-04 20:51:48 · 338 阅读 · 0 评论 -
python 文件和目录相关操作
绝对路径: 是从根目录开始描述的路径。相对路径:相对于当前目录一个点,表示的是当前文件夹;两个点表示的是上一层文件夹。在 Python 中操作文件路径,使用 os 模块,os.path 模块是 os 模块内部的一个子模块,首先导入该模块。通过os模块提供的通用变量可以获取与系统有关的信息。常用的变量有::用于获取操作系统的类型。:用于获取当前操作系统上的换行符。:用于获取当前操作系统所使用的路径分隔符。os模块提供的一些操作目录的函数把path设置为当前工作目录目录/文件操作:创建多级目录删原创 2022-12-03 20:43:03 · 1443 阅读 · 0 评论 -
python学习笔记(9)—— 虚拟环境和包
Python应用程序经常使用标准库之外的包和模块。有时应用程序需要特定版本的库,因为应用程序可能要求某个特定的bug已经被修复,或者应用程序可能使用过时版本的库接口编写。这意味着一个Python安装不可能满足每个应用程序的需求。如果应用程序A需要某个模块的1.0版本,而应用程序B需要2.0版本,那么这两个需求是冲突的,安装1.0或2.0版本都会导致一个应用程序无法运行。这个问题的解决方案是创建一个虚拟环境,这是一个自包含的目录树,其中包含针对特定版本Python的Python安装,以及一些额外的包。原创 2022-11-25 23:49:43 · 951 阅读 · 0 评论 -
python学习笔记(8)—— 标准库
模块提供了一种工具,用于扫描模块并验证嵌入在程序文档字符串中的测试。模块提供了以简单和复杂的方式操作日期和时间的类。虽然支持日期和时间算术,但实现的重点是高效的成员提取以进行输出格式化和操作。该模块还支持识别时区的对象。模块提供了一种更复杂的机制来处理命令行参数。开发高质量软件的一种方法是在开发过程中为每个功能编写测试,并在开发过程中经常运行这些测试。这将使os.open()不会遮蔽内置的open()函数,后者的操作方式非常不同。常见的实用程序脚本通常需要处理命令行参数。这些参数以列表的形式存储在。原创 2022-11-25 23:46:05 · 380 阅读 · 0 评论 -
python学习笔记(7)—— 类
类定义和函数定义(def语句)一样,必须在它们起作用之前执行。(您可以将类定义放在if语句的分支中,或者放在函数中。)在实践中,类定义中的语句通常是函数定义,但也允许使用其他语句,有时还很有用——我们稍后再讨论这个问题。类内部的函数定义通常有一种特殊形式的参数列表,这是由方法的调用约定规定的—同样,这将在后面解释。当输入一个类定义时,将创建一个新的名称空间,并将其用作局部作用域——因此,对局部变量的所有赋值都将进入这个新的名称空间。特别是,函数定义在这里绑定新函数的名称。原创 2022-11-25 23:41:59 · 488 阅读 · 1 评论 -
python 学习笔记(6)—— 错误和异常
程序可以通过创建一个新的异常类来命名自己的异常(有关Python类的更多信息,请参阅“类”)。异常通常应该直接或间接地从Exception类派生。可以定义异常类,让它们做任何其他类可以做的事情,但通常保持简单,通常只提供一些属性,允许异常处理程序提取有关错误的信息。大多数异常都以“Error”结尾,类似于标准异常的命名。许多标准模块定义了自己的异常,以报告可能在其定义的函数中发生的错误。try语句有另一个可选子句,用于定义在所有情况下都必须执行的清理操作。原创 2022-11-25 23:38:05 · 742 阅读 · 0 评论 -
python学习笔记(5)—— 输入和输出
如果文件的大小是机器内存的两倍,那就是您的问题。通常,文件是以文本模式打开的,这意味着你可以从文件读写字符串,这些字符串以特定的编码方式编码。如果您有一个非常长的格式字符串,不想拆分,那么如果您可以按名称而不是按位置引用要格式化的变量就更好了。返回一个整数,给出文件对象在文件中的当前位置,在二进制模式下表示为从文件开始的字节数,在文本模式下表示为不透明数字。通常情况下,您希望对输出的格式有更多的控制,而不是简单地打印空格分隔的值。)留在字符串的末尾,如果文件不以换行符结束,则只在文件的最后一行被省略。原创 2022-11-25 23:35:06 · 477 阅读 · 0 评论 -
python学习笔记(4)—— 模型
就像使用模块可以让不同模块的作者不必担心彼此的全局变量名一样,使用虚线格式的模块名可以让NumPy或Pillow等多模块包的作者不必担心彼此的模块名。因此,模块的作者可以在模块中使用全局变量,而不必担心与用户的全局变量发生意外冲突。模块中的定义可以导入到其他模块或主模块(在顶层执行的脚本中可以访问的变量集合,并以计算器模式执行)。此外,编译后的模块是平台独立的,因此可以在具有不同体系结构的系统之间共享相同的库。导入的模块名,如果放在模块的顶层(在任何函数或类之外),会添加到模块的全局命名空间中。原创 2022-11-25 23:30:49 · 990 阅读 · 0 评论 -
python学习笔记(3)—— 数据结构
元组是不可变的,通常包含异构的元素序列,可以通过解包(请参阅本节后面的内容)或索引(甚至在namedtuples的情况下通过属性)访问。列表是可变的,它们的元素通常是同构的,可以通过遍历列表来访问。它们的输入可以带括号,也可以不带括号,尽管通常括号是必要的(如果元组是更大表达式的一部分)。常见的应用程序是创建新的列表,其中每个元素都是应用于另一个序列或可迭代对象的每个成员的一些操作的结果,或者创建满足特定条件的这些元素的子序列。例如,混合数值类型是根据它们的数值进行比较的,例如0等于0.0,等等。原创 2022-11-25 23:27:40 · 678 阅读 · 0 评论 -
python学习笔记(2)—— 控制流
关键字def引入一个函数定义。它后面必须跟着函数名和圆括号括起来的形式形参列表。构成函数主体的语句从下一行开始,并且必须缩进。函数的执行会引入一个新的符号表,用于存储函数的局部变量。更准确地说,函数中所有的变量赋值都将值存储在局部符号表中。而变量引用首先会在局部符号表中查找,然后是外部函数的局部符号表,然后是全局符号表,最后是内置名称表。原创 2022-11-25 23:24:33 · 594 阅读 · 0 评论 -
python 学习笔记(1)—— 基础介绍
解释器就像一个简单的计算器: 你可以在它上面输入一个表达式,它就会写值。表达式语法很简单:操作符+ 、-、*和/的工作原理和大多数其他语言(例如Pascal或C)一样;括号()可用于分组。整数(如2,4,20)的类型为int,小数部分的数字(如5.0,1.6)的类型为float。除法(/)总是返回浮点数。要进行下取整除法(floor division)并得到整数结果,可以使用//操作符;要计算余数,可以使用%可以使用**运算符来计算幂等号(=)用于给变量赋值。完全支持浮点;原创 2022-11-25 23:21:32 · 303 阅读 · 0 评论 -
Python库(4)—— Seaborn 可视化库
Seaborn 可视化库import seaborn as snsimport numpy as npimport matplotlib as mplimport matplotlib.pyplot as plt%matplotlib inline风格设置def sinplot(flip=1): x = np.linspace(0, 14, 100) for i in range(1, 7): plt.plot(x, np.sin(x + i * .5) *原创 2021-09-02 09:27:37 · 1139 阅读 · 0 评论 -
Python库(3)—— Matplotlib 可视化库
基本画图import numpy as npimport matplotlib.pyplot as plt%matplotlib inline #自动出现图,不需要再写plot.show()折线图plt.plot([1,2,3,4,5],[1,4,9,16,25])plt.xlabel('xlabel',fontsize = 16)plt.ylabel('ylabel')tang_numpy = np.arange(0,10,0.5)'''两种画图的写法,效果一样'''plt.原创 2021-09-02 08:59:15 · 1762 阅读 · 0 评论 -
Python库(2)—— Pandas 数据分析处理库
Pandas —— 数据分析处理库安装Pandas: pip install pandasimport pandas as pdpd.show_versions() # 显示当前版本信息读取数据读数据pd.read_csv() : 读取csv类型数据df = pd.read_csv('./data/titanic.csv')df.head(n) : 显示前n条数据df.head(6) # head()可以读取前几条数据,指定前几条都可以df.info() : 返回数据的总体信息原创 2021-09-01 20:03:40 · 1349 阅读 · 0 评论 -
Python库(1)—— Numpy 科学计算库
Numpy—— 科学计算库import numpy as np //引入库定义np.array(x) x为list类型。类型:<class ‘numpy.ndarray’>array = np.array([1,2,3,4,5])print (type(array))计算加数组与单个数值相加array2 = array + 1 # 数组中的每一个值与该数字相加# ararry2的值: array([2, 3, 4, 5, 6])数组与数组相加arra原创 2021-09-01 16:16:14 · 3244 阅读 · 0 评论