首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

写出漂亮 Python 代码的 20条准则

包 / 模块名应该全部小写: 首选使用一个单词命名; 当需要使用多个单词时,使用下划线分割它们。...zip()函数,该函数创建一个迭代器,对来自两个或多个迭代器的元素进行配对。...处理值错误之外的错误。 # 4. 如果没有触发错误就执行。 # 5. 不管是否触发错误都执行。 根据 Python 文档:“即使一个语句或表达式在语法上是正确的,在试图执行它时也可能会导致错误。”...than 3 ) ValueError: 具有多个元素的数组的真值不明确,请使用 a.any() 或 a.all() 如果执行上面代码,你将在输出中发现一个由 5 个布尔值组成的数组,表明值在 3 以下...在 Python 中,命名空间是由以下元素组成的系统: 内置命名空间:可以在不创建自定义函数或导入模块(如print()函数)的情况下调用。

81500
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    NumPy学习笔记—(23)

    2.3.2.绘制二维函数的图形 广播还有一个很有用的场景,就是当你需要绘制一个二维函数的图像时。...如果我们关心的问题是,是否有任何的元素值或全部的元素值为 True,我们可以使用np.any或np.all: # 有没有任何一个元素大于8?...or操作时,等同于要求 Python 把数组当成一个整体来求出最终的真值或假值,这样的值是不存在的,因此会导致一个错误: A or B --------------------------------...Use a.any() or a.all() 类似的,当对于给定的数组进行布尔表达式运算时,你应该使用|或&,而不是or或and: x = np.arange(10) (x > 4) & (x a.any() or a.all() 因此,你只需要记住:and和or对整个对象进行单个布尔操作,而&和|会对一个对象进行多个布尔操作(比如其中每个二进制位)。

    2.6K60

    Python入门教程(六):Numpy计算之布尔运算

    如果我们使用Numpy的通用函数可以用来替代循环,以实现快速的数组的逐元素比较,同样地,我们也可以用掩码来解决这些问题。...bool(42), bool(0) # (True, False) bool(42 and 0) # False bool(42 or 0) # True 当你对整数使用&和|时,表达式操作的是元素的比特...当你在Numpy中有一个布尔数组时,该数组可以被当作是有比特字符组成的,其中1=True,0=False。这样的数组可以用上面介绍的方式进行&和|操作。...Use a.any() or a.all() 同样,对于给定数组的进行逻辑运算时,我们也应该使用&或|,而不是or或and。...Use a.any() or a.all() 总结一下,and和or对整个对象执行单个布尔运算,而对&和|对一个对象的内容(单个比特或字节)执行多个布尔运算。

    4.3K20

    数据科学 IPython 笔记本 9.8 比较,掩码和布尔逻辑

    我们在“NumPy 上的数组计算:通用函数”中看到,NumPy 的ufuncs可用于代替循环,对数组进行快速的逐元素算术运算;以同样的方式,我们可以使用其他ufunc对数组进行逐元素比较,然后我们可以操纵结果来回答我们的问题...作为ufunc的比较运算 在“NumPy 上的数组计算:通用函数”中,我们介绍了ufunc,专注于算术运算符。 我们看到,在数组上使用+,-,*,/和其他,产生了逐元素操作。...它们的语法与 NumPy 版本不同,特别是在多维数组上使用时会失败或产生意外结果。对于这些情况,请确保使用np.sum(),np.any()和np.all(()!...Use a.any() or a.all() ''' 类似地,当在给定数组上执行布尔表达式时,你应该使用|或&而不是or或and: x = np.arange(10) (x > 4) & (x a.any() or a.all() ''' 所以记住这一点:and和or对整个对象执行单个布尔求值,而&和|对对象的内容(单个位或字节)执行多次布尔求值。

    1K10

    Eigen 高维矩阵运算

    Tensor 类 Matrix 和 Array 表示二维矩阵,对于任意维度的矩阵可以使用 Tensor 类(当前最高支持 250 维) 注意:这部分代码是用户提供的,没有获得 Eigen 官方支持,不在官方文档支持的代码包里...,那么可以通过使用 TensorRef 避免在完整张量中具体化该值。...只有在需要表达式值的子集时才使用 TensorRef。TensorRef 只计算您访问的值。但是请注意,如果你要访问所有的值,Tensor 计算将会更快一些。...Tensor 对象是可以获取上述属性的,但是 Operation 就不一定了 比较好的办法是用 TensorRef 指向Tensor 对象,以在没有计算时获取其属性。...= b 所有元素为 True all() a.all() 指定维度所有元素为 True all(const Dimensions& new_dims) a.all(Eigen::array<int, 2

    3.6K30

    tf.compat

    .): 从序列化的小型批处理反序列化和连接稀疏量。device(...): 使用默认图形的graph. device()的包装器。diag(...): 返回具有给定对角值的对角张量。....): 返回元素的真值(x >= y)。group(...): 创建一个对多个操作进行分组的op。guarantee_const(...): 向TF运行时保证输入张量是常数。...matrix_determinant(...): 计算一个或多个方阵的行列式。matrix_diag(...): 返回具有给定批处理对角值的批处理对角张量。....): 在一维张量中找到唯一的元素。unique_with_counts(...): 在一维张量中找到唯一的元素。unravel_index(...): 将平面索引或平面索引数组转换为。....): 根据条件返回x或y中的元素。(弃用)where_v2(...): 根据条件返回x或y中的元素。while_loop(...): 当条件cond为真时,重复body。

    5.3K30

    WebGL: 从 2D 开始

    本文作者:ivweb qcyhust 导语 在网页上绘制3D图形已经不再是什么新鲜的事情,时不时都能遇到一个炫酷的3D模型让人感叹未来的无限可能,在某些使用场景下,用3D呈现内容会更能抓住用户的注意力...WebGL本质来讲仍然是html5画布的功能,浏览器提供一系列的编程接口来在html和JavaScript的环境中绘制3D图形。...在绘制顶点时,把顶点数据以数组的形式存储,这个数组就是所说的缓冲,待绘制的数据都应该在缓冲中定义。...现在尝试使用drawElements和顶点索引绘制一个多个六变形组成的图形。这个像蜂窝的图案由6个正六边形组成。...矢量和矩阵 矢量和矩阵常用来处理计算机图形,在GLSL中,用vec2,vec3,vec4来变数具有相应后缀数子的浮点元素的矢量,ivec表示矢量元素类型为整形数,同理,bvec表示元素类型为布尔值。

    5K10

    python绘图与数据可视化(二)

    在 Matplotlib 中,面向对象编程的核心思想是创建图形对象(figure object)。通过图形对象来调用其它的方法和属性,这样有助于我们更好地处理多个画布。...参数,它也是一个序列,它包含了所有线型的实例; **axes.plot()**这是 axes 类的基本方法,它将一个数组的值与另一个数组的值绘制成线或标记,plot() 方法具有可选格式的字符串参数,...Matplotlib subplot()函数用法详解 在使用 Matplotlib 绘图时,我们大多数情况下,需要将一张画布划分为若干个子区域,之后,我们就可以在这些区域上绘制不用的图形。...在本节,我们将学习如何在同一画布上绘制多个子图。...当对 3D 图像进行设置的时,会增加一个 z 轴,此时使用 set_zlim() 可以对 z 轴进行设置。

    17310

    移动端 Web 渲染解决方案

    SVG 用来定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失 PS:SVG 在IE9以及Firefox和chrome下都支持...元素,canvas和SVG的主要区别是:使用canvas绘制图形是通过调用其API,而SVG则是通过构建一棵XML元素树来实现的。...但是也正是因为每一个 SVG 元素都是一个 DOM 元素,绘制或移动一个 SVG 元素,浏览器都需要重新绘制、渲染页面,导致速度变慢,性能变差。...与 SVG 绘图不同的是,Canvas 内绘制的元素都是预先生成,预先定下元素特性,预先写好动画路径。使用 Canvas 绘图,你需要写下每一个元素的输出的轨迹。...由于 Canvas内绘制的元素并不涉及 DOM 元素,和 SVG 绘制的元素相比,交互性差,但也正因如此,在元素自身的动画特效上不受 DOM 位置限制,能够绘制表现力更强的图形,同时 SVG 生成位图,

    3.6K40

    原 荐 WebGL 3D 电信机架实战之数据

    这个 3D 机架的 Demo 我觉得非常有代表性,首先,3D 机架用途非常广,尤其是在电信行业,就算不是机架,在比如工业方面 3D 模型以及数据绑定的应用也是非常广泛的,毕竟现在工业物联网已经是大趋势了...矢量在 HT for Web 中是矢量图形的简称,常见的 png 和 jpg 这类的栅格位图, 通过存储每个像素的颜色信息来描述图形,这种方式的图片在拉伸放大或缩小时会出现图形模糊,线条变粗出现锯齿等问题...,数组的顺序为组件绘制先后顺序 由于这张图绘制的还是比较复杂的,所以我就将设置了数据绑定的矩形部分的矢量绘制代码粘贴出来: { "width": 48, //一个矢量图标必备的宽度 矢量详细内容请参考...首先,由于数据都是存储在 dm 数据容器中的(通过 dm.add(node) 添加的),所以我们要获取数据除了可以通过 id、tag 等独立的方式,还可以通过遍历数据容器来获取多个元素: var infos...一是快速实现了 3D 机柜模型,二是对模型上的元素进行了数据绑定。

    98460

    【数据可视化】Matplotlib 从入门到精通学习笔记

    我们编写的绘图代码大部分代码都在该层运行,它的主要工作是负责生成图形与坐标系。2) 美工层美工层是结构中的第二层,它提供了绘制图形的元素时的给各种功能,例如,绘制标题、轴标签、坐标刻度等。...基本绘图绘制曲线图提供一对相同长度的数组(或序列),然后使用plot()绘制曲线,示例如下:from numpy import *from pylab import *x=linspace(-5,5,30...,它将一个数组的值与另一个数组的值绘制成线或标记,plot() 方法具有可选格式的字符串参数,用来指定线型、标记颜色、样式以及大小。...当对 3D 图像进行设置的时,会增加一个 z 轴,此时使用 set_zlim() 可以对 z 轴进行设置。...下面示例绘制了一个具有两个 y 轴的图形,一个显示指数函数 exp(x),另一个显示对数函数 log(x)。

    5.4K31

    现实与虚拟的共生,AR响应式手绘技术 | Mixlab增强现实

    RealitySketch 是一种用于绘制交互式图形和可视化效果的增强现实界面交互技术方案。 近年来,越来越多的AR草图绘制工具使用户能够在现实世界中绘制和嵌入草图。...比如像SymbiosisSketch,这些工具使用户可以绘制数字元素并将其嵌入到现实世界中。 ? 但是,绘制的图形内容是静态的,漂浮在空中而无法响应现实世界。...作者研究了一种动态和响应式的新方法,以实现动态的草图。在RealitySketch中,用户在屏幕上绘制图形元素,并将其与物理对象进行绑定,从而使得绘制的元素随着相应的物理运动而动态移动。...原理 4 多角度:移动并制作动画; 交互上,所有绘制的元素都具有3D几何形状和在真实世界坐标中的位置,并锚定在3D空间中。...这样,用户可以移动设备以从不同的角度观看,绘制的元素将始终保持正确锚定在真实对象上。 技术上,利用ARKit和SceneKit在3D场景中进行表面检测和对象放置。 ?

    1.2K40

    【深度学习】 Python 和 NumPy 系列教程(十六):Matplotlib详解:2、3d绘图类型(2)3D散点图(3D Scatter Plot)

    一、前言 Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。...Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。...多子图和布局:Matplotlib允许您在单个图像中创建多个子图,以便同时展示多个相关的图表或数据视图。您可以自定义子图的布局和排列,以满足特定的展示需求。...图形对象 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') # 绘制3D散点图 ax.scatter(x, y, z, c=colors...创建了一个3D图形对象,并将其添加到子图中。 使用ax.scatter函数创建了3D散点图。 我们通过传递x、y和z参数来指定每个散点的位置。

    10710

    浏览器之硬件加速机制

    硬件加速基础 1.1 概念 硬件加速技术是指:使用 GPU 的硬件能力为帮助渲染网页,在为 GPU 的作用主要是用来绘制 3D 图形并且性能特别好。...1.4 3D 图形上下文 WebKit 中的 3D 图形上下文主要是提供一组抽象接口,这组接口能够提供类似 OpenGLES(使用 GPU 硬件能力的 3D 图形应用编程接口)的功能,其主要目的当然是使用...OpenGL 绘制 3D 图形的能力。...在 WebKit 中,3D 图形上下文的主要用途是 WebGL,当然启用硬件加速的 Canvas2D 等 HTML5 技术也会使用 3D 图形技术,不过情况有些不同。...当网页分层之后,部分区域的更新可能只在一层或几层,而不需要更新整个网页,通过重新绘制网页的一个或几个层,并将它们和其他之前绘制完的层合成起来,既能使用GPU的能力,又能够减少重绘的开销。

    1.5K10

    EmguCV 常用函数功能说明「建议收藏」

    如果某些值超出范围,则第一个异常值的位置存储在pos中,然后函数返回false(当quiet = true时)或引发异常。 圆,绘制一个简单或圆形的圆圈,给定的中心和半径。...= 0)时与颜色的角连接。 DrawContours,绘制轮廓轮廓或填充轮廓。 EdgePreservingFilter,Filtering是图像和视频处理的基本操作。...线,绘制图像中pt1和pt2点之间的线段。该行被图像或ROI矩形裁剪。对于具有整数坐标的非抗锯齿线,使用8连接或4连接的Bresenham算法。粗线用圆形末端绘制。使用高斯滤波绘制抗锯齿线。...然而,可以使用一些额外的操作获取负值的真值,如下面的示例,计算数组元素的多维数据集根,如下所示:CvSize size = cvGetSize(src); CvMat * mask = cvCreateMat...RandShuffle,通过在每个迭代上交换随机选择的矩阵元素对(在多通道数组的情况下每个元素可能包含多个组件)来洗牌。

    3.6K20

    HTML5绘画与拖放事件

    html5不仅能制作2d的绘画还能做3d的绘画,但是要注意的是这两者使用的函数不一样但都基于canvas。在网络上我们可以搜索到一些使用html5制作的2D或3D的效果图,例如: ? ? ?...除了以上这些图片效果外,html5的3D绘画还可以制作自由拖动的统计表格或一些图形。...虽然绘画基于canvas,但是canvas本身并没有绘制能力,它仅仅是图形的容器,必须使用js脚本来完成实际的绘图任务。 通过 JavaScript 来绘制: canvas 元素本身是没有绘图能力的。...getContext函数可以传递以下几个参数,webgl是创建3D的绘画对象,而2d则是创建2d的绘画对象,至于experimental-webgl则是实验性质的3D绘画对象,在进行3D绘制的实验阶段可以使用此参数...地图可以自己在二维数组上绘制,1表示显示墙的图片,2表示显示钢板的图片,3则是显示草地的图片。 拖放事件 拖放是一种常见的特性,即抓取对象以后拖到另一个位置。

    3K30

    matplotlib入门

    初开发的Matplotlib,仅支持绘制2d图形,后来随着版本的不断更新,Matplotlib在二维绘图的基础上,构建了一部分较为实用的3D绘图程序包,通过调用该程序包一些接口可以绘制3D散点图、3D曲面图...2)美工层 Matplotlib结构中的第二层,它提供了绘制图形的元素时的给各种功能,例如,绘制标题、轴标签、坐标刻度等。...如果是数组,则根据数组元素取值移动对应的柱子;即直方图上下便宜距离; histtype:{‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’};'bar’是传统的条形直方图...label:字符串(序列)或None;有多个数据集时,用label参数做标注区分; stacked:布尔值。...当normed取默认值时,n即为直方图各组内元素的数量(各组频数); bins: 返回各个bin的区间范围; patches:返回每个bin里面包含的数据,是一个list。

    4.3K20

    【深度学习】 Python 和 NumPy 系列教程(十七):Matplotlib详解:2、3d绘图类型(3)3D条形图(3D Bar Plot)

    一、前言 Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。...Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。...多子图和布局:Matplotlib允许您在单个图像中创建多个子图,以便同时展示多个相关的图表或数据视图。您可以自定义子图的布局和排列,以满足特定的展示需求。...# 创建3D图形对象 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') # 绘制3D条形图 ax.bar3d(x_mesh.flatten...通过使用np.meshgrid函数创建了一个二维网格,将x和y数组扩展为与z数组相同的维度。 创建了一个3D图形对象,并将其添加到子图中。 使用ax.bar3d函数绘制了3D条形图。

    13410
    领券