人工智能
文章平均质量分 85
playwrighter
什么时候想要念书,什么时候选份工作,什么时候决定结婚。三岔路口做出抉择的那日沉闷平凡,以为是生命中普通的一天。
展开
-
数据分析的过程描述
数据分析的过程描述数据分析过程可以用以下几步来描述: 转换和处理原始数据,以可视化方式呈现数据,建模做预测。因此数据分析几乎可以概括为由以下几个阶段组成的过程链:① 问题定义② 数据转换③ 数据探索④ 预测模型⑤ 模型评估⑥ 可视化⑦ 部署问题定义数据分析总是始于要解决的问题,而这个问题需要事先定义。问题定义这一步及产生的相关文档(可交付成果),尤其是问题的规划,将唯一决定整个数据分析项目所遵循的指导方针。定义好问题并形成文档后,接下来就可以进入数据分析的项目规划环节 。该原创 2021-03-24 16:05:42 · 4970 阅读 · 0 评论 -
关于大数据的大数据平台
大数据平台大数据平台,顾名思义就是整合网站应用和大数据系统之间的差异,将应用程序产生的数据导入到大数据系统,经过处理计算后再导出给应用程序使用。大数据平台架构互联网大数据平台互联网产品处理用户请求,需要毫秒级的响应,要在 1 秒内完成计算,普通大数据计算必然不能实现这样的响应要求。如何才能弥补这互联网和大数据系统之间的差异呢?解决方案就是将面向用户的互联网产品和后台的大数据系统整合起来,也就是构建一个互联网大数据平台。图是一个典型的互联网大数据平台的架构。在这张架构图中,大数据平台里面原创 2021-03-14 22:02:12 · 5511 阅读 · 2 评论 -
关于大数据
关于大数据大数据时代即使自己不做大数据与机器学习相关的开发,每个人也应该懂大数据和机器学习原理以及产品。未来,数据会越来越成为公司的核心资产和主要竞争力,公司的业务展开和产品进化也越来越朝着如何利用好数据价值的方向发展。不懂大数据和机器学习,可能连最基本的产品逻辑和商业意图都搞不清楚。如果不了解大数据,生存空间会越来越窄,发展也会处处受限。大数据概念大数据(big data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和原创 2021-03-13 20:23:45 · 5496 阅读 · 0 评论 -
关于大数据中的NOSQL
NOSQL与关系型数据库相比,NoSQL 数据库具有以下几个优点:易扩展大数据量,高性能灵活的数据模型高可用NoSQL 即 Not Only SQL,可直译“不仅仅是 SQL”,这项技术正在掀起一场全新的数据库革命性运动。NoSQL 的出现打破了长久以来关系型数据库与 ACID 理论大一统的局面。NoSQL 数据存储不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势。1.易扩展NoSQL 数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系原创 2021-03-11 17:44:11 · 6961 阅读 · 0 评论 -
基于云服务创建弹性托管集群服务
弹性托管集群服务使用JMR产品,可在几分钟内创建并启动集群,弹性灵活,可根据业务规模与工作负载等需求实现低成本集群组件最优组合,动态扩容缩容,更专注于业务分析。使用京东云的JMR,对于其他云平台可做参考。JMR(JingDong MapReduce)是基于弹性计算能力和开源生态系统提供的 Hadoop/Spark 托管服务,使用者可便捷地使用 MapReduce,Hive,Spark,Presto 等服务低成本开展大数据处理分析。创建集群,配置作业,部署作业,集群监控1.登录京东智联云,原创 2021-03-05 10:06:36 · 4552 阅读 · 3 评论 -
基于云服务创建实时运营数据分析服务(三)
基于云服务创建实时运营数据分析服务实时运营数据分析使用数据计算服务、流数据总线、流计算产品,可对实时业务数据进行归档和分析,实现秒级响应,对接数据大屏或BI报表产品即刻呈现业务状态。使用京东云的流数据总线、流计算以及数据大屏,对于其他云平台可做参考。流数据总线是面向大数据场景下可扩展、分布式、高吞吐量的消息服务,提供低延迟的消息发布及订阅功能,帮助用户快速构建流式数据的分析和应用。流计算是大数据场景下的实时数据处理与分析平台,支持用户以 SQL 方式编写数据处理作业, 降低流式数据开发原创 2021-03-04 17:13:53 · 3426 阅读 · 1 评论 -
基于云服务创建实时运营数据分析服务(二)
基于云服务创建实时运营数据分析服务实时运营数据分析使用数据计算服务、流数据总线、流计算产品,可对实时业务数据进行归档和分析,实现秒级响应,对接数据大屏或BI报表产品即刻呈现业务状态。使用京东云的流数据总线、流计算以及数据大屏,对于其他云平台可做参考。流数据总线是面向大数据场景下可扩展、分布式、高吞吐量的消息服务,提供低延迟的消息发布及订阅功能,帮助用户快速构建流式数据的分析和应用。流计算是大数据场景下的实时数据处理与分析平台,支持用户以 SQL 方式编写数据处理作业, 降低流式数据开发原创 2021-03-04 15:02:44 · 6463 阅读 · 1 评论 -
基于云服务创建实时运营数据分析服务(一)
基于云服务创建实时运营数据分析服务实时运营数据分析使用数据计算服务、流数据总线、流计算产品,可对实时业务数据进行归档和分析,实现秒级响应,对接数据大屏或BI报表产品即刻呈现业务状态。使用京东云的流数据总线、流计算以及数据大屏,对于其他云平台可做参考。流数据总线是面向大数据场景下可扩展、分布式、高吞吐量的消息服务,提供低延迟的消息发布及订阅功能,帮助用户快速构建流式数据的分析和应用。流计算是大数据场景下的实时数据处理与分析平台,支持用户以 SQL 方式编写数据处理作业, 降低流式数据开发原创 2021-03-04 13:38:20 · 5550 阅读 · 1 评论 -
基于云服务创建离线数据统计分析服务(二)
基于云服务创建离线数据统计分析服务离线数据统计分析使用数据工厂、数据计算服务产品,可对多源数据(DB,FILE)整合分析,制定周期性的调度任务,提供任务监控及预警、数据统计分析等功能,可对接BI报表产品可视化分析。使用京东云的数据工厂和数据计算服务,对于其他云平台可做参考。数据工厂是京东云提供的一种数据移动服务产品,帮助用户实现数据自由流动。京东云数据计算服务(Data Computing Service)是一个全托管、低使用成 本的云上数据仓库服务。创建数据计算服务数据库表、任务原创 2021-03-04 10:12:18 · 2956 阅读 · 4 评论 -
基于云服务创建离线数据统计分析服务(一)
基于云服务创建离线数据统计分析服务离线数据统计分析使用数据工厂、数据计算服务产品,可对多源数据(DB,FILE)整合分析,制定周期性的调度任务,提供任务监控及预警、数据统计分析等功能,可对接BI报表产品可视化分析。使用京东云的数据工厂和数据计算服务,对于其他云平台可做参考。数据工厂是京东云提供的一种数据移动服务产品,帮助用户实现数据自由流动。京东云数据计算服务(Data Computing Service)是一个全托管、低使用成 本的云上数据仓库服务。配置数据源,创建数据同步、工作原创 2021-03-04 00:12:12 · 4919 阅读 · 2 评论 -
大数据十大核心原理(互联网上整理)
大数据十大核心原理整理一、数据核心原理从“流程”核心转变为“数据”核心大数据时代,计算模式也发生了转变,从“流程”核心转变为“数据”核心。Hadoop体系的分布式计算框架已经是“数据”为核心的范式。非结构化数据及分析需求,将改变IT系统的升级方式:从简单增量到架构变化。大数据下的新思维——计算模式的转变。 例如:IBM将使用以数据为中心的设计,目的是降低在超级计算机之间进行大量数据交换的必要性。大数据下,云计算找到了破茧重生的机会,在存储和计算上都体现了数据为核心的理念。大数据和云计算的关系:原创 2021-03-03 17:26:14 · 5027 阅读 · 2 评论 -
Python玩转词云图
Python玩转词云图jieba库jieba库是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据搜索引擎模式:在精确模式的基础上,对长词再次进行切分获取的微博数据给微博数据分词# -*- coding: utf-8 -*-import jiebatxt =原创 2021-03-03 17:01:07 · 2383 阅读 · 2 评论 -
Python无监督学习(三)
自组织映射自组织映射是一种基于拓扑表示法的数据降维技术。这样的技术有很多,其中主成分分析便是比较有名的一种。然而,作为降维技术和可视化形式,自组织映射自有其独到之处。自组织映射入门自组织映射算法需要反复迭代一些简单的操作。在目标数据集很小时,自组织映射与k均值聚类非常类似(后面很快会讲到);目标数据集较大时,自组织映射就会用一种强大的方式展现复杂数据集的拓扑结构。自组织映射是由许多节点构成的网格(一般是矩形或六边形),每个节点都包含一个权重向量,该权重向量的维度与输入数据集相同。节点可以随机初始化,原创 2021-03-02 14:44:08 · 2728 阅读 · 0 评论 -
Python无监督学习(二)
开始聚类分析回顾过聚类算法后,接下来运行以下代码并观察聚类的效果。from time import timeimport numpy as npimport matplotlib.pyplot as pltnp.random.seed()digits = load_digits()data = scale(digits.data)n_samples, n_features = data.shapen_digits = len(np.unique(digits.target))原创 2021-03-02 14:20:20 · 1695 阅读 · 0 评论 -
Python无监督学习(一)
无监督机器学习何用无监督学习技术来识别数据集中的模式和结构。无监督学习是用于探索性分析的一系列很有价值的技术。它们能够挖掘出隐藏在数据集中的模式和结构,获取有用的信息或为进一步分析提供指导。拥有一套可靠的无监督学习工具集至关重要,你可以应用它们将陌生或复杂的数据集分解为可用信息。我们将先从主成分分析(principal component analysis,PCA)这个基本的数据操作技术开始,并结合一系列的降维应用。接着探讨一项应用广泛且简单易用的无监督学习技术——k均值聚类。随后会讨论一种能将复杂数原创 2021-03-02 13:34:22 · 3899 阅读 · 1 评论 -
Python监督学习(三)
估算房屋价格是时候用所学的知识来解决真实世界的问题了。让我们用这些原理来估算房屋价格。房屋估价是理解回归分析最经典的案例之一,通常是一个不错的切入点。它符合人们的直觉,而且与人们的生活息息相关,因此在用机器学习处理复杂事情之前,通过房屋估价可以更轻松地理解相关概念。我们将使用带AdaBoost算法的决策树回归器(decision tree regressor)来解决这个问题。准备工作决策树是一个树状模型,每个节点都做出一个决策,从而影响最终结果。叶子节点表示输出数值,分支表示根据输入特征做出的中间决策原创 2021-03-01 13:07:37 · 2217 阅读 · 0 评论 -
Python监督学习(二)
计算回归准确性现在已经建立了回归器,接下来最重要的就是如何评价回归器的拟合效果。在模型评价的相关内容中,用误差(error)表示实际值与模型预测值之间的差值。准备工作下面快速了解几个衡量回归器拟合效果的重要指标(metric)。回归器可以用许多不同的指标进行衡量,部分指标如下所示。平均绝对误差(mean absolute error):这是给定数据集的所有数据点的绝对误差平均值。均方误差(mean squared error):这是给定数据集的所有数据点的误差的平方的平均值。这是最流行原创 2021-03-01 11:50:20 · 1934 阅读 · 0 评论 -
Python监督学习(一)
Python监督学习简介如果你熟悉机器学习的基础知识,那么肯定知道什么是监督学习。监督学习是指在有标记的样本(labeled samples)上建立机器学习的模型。例如,如果用尺寸、位置等不同参数建立一套模型来评估一栋房子的价格,那么首先需要创建一个数据库,然后为参数打上标记。我们需要告诉算法,什么样的参数(尺寸、位置)对应什么样的价格。有了这些带标记的数据,算法就可以学会如何根据输入的参数计算房价了。无监督学习与刚才说的恰好相反,它面对的是没有标记的数据。假设需要把一些数据分成不同的组别,但是对分组原创 2021-03-01 11:32:00 · 6286 阅读 · 2 评论 -
数据可视化Matplotlib库
数据可视化是数据科学家工具箱中的一个重要部分。创建可视化很容易,但创建优秀的可视化却很难。数据可视化有两种主要用途:探索数据交流数据1 matplotlib有许多工具可以用来可视化数据,我们将使用的是应用最广的 matplotlib 库(尽管这暴露了它的年龄。详见 http://matplotlib.org/)。如果你的兴趣是制作用于网络的精良的交互可视化,它可能不是好的选择,但对于条形图、线图和散点图这些简单的图形来说,它很好用。特别地,我们会使用 matplotlib.pyplot 模块原创 2021-02-28 22:57:15 · 2729 阅读 · 9 评论 -
Python处理CSV文件(三)
添加标题行有些时候,电子表格中没有标题行,但你确实希望所有列都有列标题。在这种情况下,可以使用脚本添加列标题。为了演示如何使用脚本添加列标题,需要对输入文件做一下修改:(1) 在电子表格程序中打开 supplier_data.csv。(2) 删除文件中的第一行(即包含列标题的标题行)。(3) 将文件保存为 supplier_data_no_header_row.csv。如图 2-11 所示。图 2-11:包含数据行的 CSV 文件,没有标题行基础Python要使用基础 Python 添加列原创 2021-02-28 16:35:37 · 4064 阅读 · 4 评论 -
Python处理CSV文件(二)
筛选特定的行有些时候,你并不需要文件中所有的数据。例如,你可能只需要一个包含特定词或数字的行的子集,或者是与某个具体日期关联的行的子集。在这些情况下,可以用 Python 筛选出特定的行来使用。你应该很熟悉如何在 Excel 中手动筛选行,使你既能处理因为体积太大以致 Excel 不能打开的 CSV 文件,又能处理多个 CSV 文件。因为要通过手动处理这些文件,时间花费太多了。下面演示了在输入文件中筛选出特定行的 3 种方法:行中的值满足某个条件行中的值属于某个集合行中的值匹配于某个模式(正则原创 2021-02-28 14:38:13 · 10148 阅读 · 6 评论 -
Python处理CSV文件(一)
CSV 文件CSV(comma-separated value,逗号分隔值)文件格式是一种非常简单的数据存储与分享方式。CSV 文件将数据表格存储为纯文本,表格(或电子表格)中的每个单元格都是一个数值或字符串。与 Excel 文件相比,CSV 文件的一个主要优点是有很多程序可以存储、转换和处理纯文本文件;相比之下,能够处理 Excel 文件的程序却不多。所有电子表格程序、文字处理程序或简单的文本编辑器都可以处理纯文本文件,但不是所有的程序都能处理 Excel 文件。尽管 Excel 是一个功能非常强大的工原创 2021-02-27 23:59:20 · 7522 阅读 · 3 评论 -
Python处理Excel文件(三)
3 读取工作簿中的所有工作表到目前为止,都在演示如何处理单个工作表。有些时候,你只需要处理一个工作表就可以了。在这些情况下,这里的示例可以告诉你如何使用 Python 程序去自动处理工作表。但是,在很多情况下你需要处理多个工作表,多到使用手工处理效率非常低或者根本不可行。在这种情况下,Python 会给你惊喜,因为它可以让你自动化和规模化地进行数据处理,远远超过手工处理能够达到的限度。提供了两个示例,演示了如何在一个工作簿的所有工作表中筛选特定的行与列。1 在所有工作表中筛选特定行基础Python原创 2021-02-26 17:03:23 · 1818 阅读 · 3 评论 -
Python处理Excel文件(二)
2 处理单个工作表尽管 Excel 工作簿可以包含多个工作表,有些时候你也只是需要一个工作表中的数据。此外,只要你知道如何分析一个工作表,就可以很容易地扩展到分析多个工作表。1 读写Excel文件基础Python和xlrd、xlwt模块要使用基础 Python 和 xlrd、xlwt 模块读写 Excel 文件,在文本编辑器中输入下列代码,然后将文件保存为 excel_parsing_and_write.py: 1 #!/usr/bin/env python3 2 import sys 3 f原创 2021-02-26 16:08:33 · 2007 阅读 · 0 评论 -
Python处理Excel文件(一)
Excel 文件Microsoft Excel 几乎无处不在,使用 Excel 既可以保存客户、库存和雇员数据,还可以跟踪运营、销售和财务活动。人们在商业活动中使用 Excel 的方式五花八门,难以计数。因为 Excel 是商业活动中不可或缺的工具,所以知道如何使用 Python 处理 Excel 数据可以使你将 Python 加入到数据处理工作流中,进而从其他人那里接收数据,并以他们习惯接受的方式分享数据处理结果。与 Python 的 csv 模块不同,Python 中没有处理 Excel 文件(就是原创 2021-02-26 15:14:29 · 6182 阅读 · 5 评论 -
Python读写文本文件
Python读写文本文件读取文本文件数据几乎无一例外地是被保存在文件中的。这些文件可能是文本文件、CSV 文件、Excel 文件或其他类型的文件。知道如何访问此类文件以及从中读取数据是在 Python 中进行数据处理、加工与分析的前提。当完成了一个每秒钟可以处理很多文件的程序时,与手动一个个地处理文件相比,你会真正体会到写程序的好处。你需要告诉 Python,脚本要处理何种类型的文件。你可以在程序中写死文件名称,但是如果这样的话,就不能使用这个程序处理多个不同的文件了。能读取多个不同文件的方法是,在命原创 2021-02-26 12:41:17 · 5552 阅读 · 1 评论 -
关于面向对象的真面目
关于面向对象的真面目面向对象是软件开发的综合技术我们先从一个简单的问题开始介绍。“为什么要基于面向对象来开发软件?”不管谁问这样的问题,笔者都会这样回答:“为了轻松地开发软件。”可能有的人听到“轻松”二字会感觉很意外。这是因为当提到面向对象时,不少人仍感觉“很难,难以对付”。面向对象包含了各种技术,几乎涵盖了从 Java、Ruby 等编程语言到需求规格书和设计内容的图形表示、可重用的软件构件群、优秀设计的技术窍门、业务分析和需求定义的有效推进方法、顺利推进系统开发的开发方法等软件开发的所有领域原创 2021-02-25 16:52:54 · 3059 阅读 · 3 评论 -
人工智能的应用领域
人工智能的应用人工智能在我们的生活中有许多应用。就在此刻,聪明的工程师正在开发更多的人工智能应用来改善生活的各个方面。人工智能的一个非常流行的应用是知识表示。这包括试图复制人脑的超强能力,通过一种易于检索和关联的方式存储大量信息,以便回答问题。如果我问你第一天工作时的情景,你可能记得很清楚,很可能还有美好的回忆,但你可能记不太清楚其他时间的事情了,比如工作的第15 天,除非那天发生了什么大事。我们的大脑非常擅长存储大量上下文相关联的信息。因此,当需要时,它可以根据上下文快速查找正确的信息并进行检索。类似原创 2021-02-25 15:59:26 · 4716 阅读 · 1 评论 -
大数据和人工智能的概念
大数据和人工智能我们将看到世界如何通过数字化而改变,从而导致消费和工业领域的大数据现象;了解到数据量呈指数级增长,从太字节到艾字节再到泽字节;意识到计算机的处理能力增加了成百上千倍;讨论软件随着人工智能的应用变得更加智能,比如IBM的Watson 在《危险边缘》节目中击败人类冠军,Facebook 在照片中自动为你标记朋友,还有谷歌的自动驾驶汽车;最后阐释分析技术的类型,并介绍一个简单示例:构建由分 析驱动的系统来交付结果。1.1 数据是新石油,人工智能是新电力我们生活在互联网时代。在亚马逊网站上购物原创 2021-02-25 15:47:37 · 5963 阅读 · 3 评论 -
数据预处理概念的分享(二)
1-4 3种编程语言我们需要使用各种各样的工具实现预处理,比如Excel和一些专门用于分析的收费软件,本书将以如下3种比较受数据科学家青睐的编程语言为工具。下面列举的3种编程语言基本上可以免费使用,但部分用于执行SQL代码的数据库会收费。SQL(应用于BigQuery、Redshift等数据库的数据操作语言)RPython上述3种编程语言都能用于预处理,但它们之间有很大的不同,各自的特征如表1-1所示。表1-1 3种编程语言各自的特征SQL(DataBase)RPython(版本3)操原创 2021-02-25 10:30:19 · 1851 阅读 · 0 评论 -
数据预处理概念的分享(一)
第 1 章 什么是预处理1-1 数据下面介绍一下本书要处理的数据。记录数据究竟何为数据呢?在IT领域,数据指的是数值数据,实体以0和1这两个二进制数表示。数据有各种各样的形式,主要包括以下3种。由数值和字符等构成的记录数据图片、语音和视频等多媒体数据表示数据之间关联的图数据记录数据是一组数据,每组数据又包含多个数据类型不同的值。如图1-1所示,图中用实线框起来的一行(row)就是一条记录,各种类型的数据以某种单位被收录其中,比如图中的记录就收录了与一次预订信息相关的不同类型的数据。而图中用虚原创 2021-02-24 16:56:46 · 3768 阅读 · 1 评论 -
Python算法的分享(三)
1.4.5 定义函数之前的过程抽象例子调用了Python数学模块中的sqrt函数来计算平方根。通常来说,可以通过定义函数来隐藏任何计算的细节。函数的定义需要一个函数名、一系列参数以及一个函数体。函数也可以显式地返回一个值。例如,下面定义的简单函数会返回传入值的平方。def square(n):… return n**2…square(3)9square(square(3))81复制代码这个函数定义包含函数名square以及一个括号包含的形式参数列表原创 2021-02-23 16:08:44 · 3381 阅读 · 1 评论 -
Python算法的分享(二)
1.4.2 输入与输出程序经常需要与用户进行交互,以获得数据或者提供某种结果。目前的大多数程序使用对话框作为要求用户提供某种输入的方式。尽管Python确实有方法来创建这样的对话框,但是可以利用更简单的函数。Python提供了一个函数,它使得我们可以要求用户输入数据并且返回一个字符串的引用。这个函数就是input。input函数接受一个字符串作为参数。由于该字符串包含有用的文本来提示用户输入,因此它经常被称为提示字符串。举例来说,可以像下面这样调用input。aName = input('Please原创 2021-02-23 11:13:21 · 2190 阅读 · 3 评论 -
Python算法的分享(一)
1.4 Python基础本节将复习Python,并且为前一节提到的思想提供更详细的例子。如果你刚开始学习Python或者觉得自己需要更多的信息,建议你查看本书结尾列出的Python资源。本节的目标是帮助你复习Python并且强化一些会在后续各章中变得非常重要的概念。Python是一门现代、易学、面向对象的编程语言。它拥有强大的內建数据类型以及简单易用的控制语句。由于Python是一门解释型语言,因此只需要查看和描述交互式会话就能进行学习。你应该记得,解释器会显示提示符>>>,然后计算你原创 2021-02-23 10:45:01 · 3437 阅读 · 15 评论 -
对于算法概念的一些分享
何谓计算机科学要定义计算机科学,通常十分困难,这也许是因为其中的“计算机”一词。你可能已经意识到,计算机科学并不仅是研究计算机本身。尽管计算机在这一学科中是非常重要的工具,但也仅仅只是工具而已。计算机科学的研究对象是问题、解决问题的过程,以及通过该过程得到的解决方案。给定一个问题,计算机科学家的目标是开发一个能够逐步解决该问题的算法。算法是具有有限步骤的过程,依照这个过程便能解决问题。因此,算法就是解决方案。可以认为计算机科学就是研究算法的学科。但是必须注意,某些问题并没有解决方案。尽管这一话题已经超原创 2021-02-22 17:28:46 · 2594 阅读 · 1 评论 -
Python句法的分享(五)
2.10 避免except:子句带来的潜在问题在异常处理中有一些常见的错误,这些错误可能导致程序无响应。最常见的一种错误就是except:子句使用不当。如果不谨慎处理现有异常,那么可能还会出现其他错误。本实例将介绍一些可以避免的常见异常处理错误。2.10.1 准备工作2.9节介绍了设计异常处理时的一些注意事项。该实例不鼓励使用BaseException,因为可能会干扰终止行为异常的Python程序。本实例将扩展不该做什么(what not to do)思想。2.10.2 实战演练使用exce原创 2021-02-22 14:38:32 · 1420 阅读 · 0 评论 -
Python句法的分享(四)
2.8 避免break语句带来的潜在问题通常for语句可以理解为:该语句创建一个for all条件。在语句结束时,可以肯定已经对集合中的所有元素进行了某些处理。但是,这并不是for语句唯一的语义。当for语句的循环体中引入了break语句时,for语句的语义将变为“there exists”(存在)。当break语句跳出for(或while)语句时,我们只能断言存在至少一个导致语句结束的元素。这里有一个小问题。如果循环结束而不执行break语句怎么办?甚至没有一个元素触发break语句。德摩根定律(D原创 2021-02-22 14:23:53 · 1645 阅读 · 0 评论 -
Python句法的分享(三)
2.6 设计复杂的if…elif链在大多数情况下,脚本涉及大量选择。有时这些选择很简单,我们一眼就能判断出设计的质量。有时这些选择非常复杂,不容易确定if语句是否正确处理了所有条件。在最简单的情况下,假设有一个条件C和它的相反条件\neg C。它们是if…else语句的两个条件,其中一个条件\neg C声明在if子句中,另一个条件隐含在else子句中。本实例将使用p\vee q来表示Python的OR运算符。我们可以称这两个条件完备,因为:C~\vee \neg C=\mathbf{T}之所以称之原创 2021-02-20 11:55:47 · 1742 阅读 · 0 评论 -
Python句法的分享(二)
2.4 添加描述和文档对于有用的脚本,通常要写注释,说明脚本的功能、工作原理和使用场景。文档清晰明了非常重要,这也有现成的实例可参考。本实例还包含一个推荐性的大纲,以便使文档非常全面。2.4.1 准备工作如果使用2.2节的实例构建脚本文件,应首先在脚本文件中添加一个简单的文档字符串,随后再扩展这个文档字符串。另外,其他一些地方也应该使用文档字符串。第3章和第6章将介绍这些需要追加文档字符串的位置。应当编写摘要文档字符串的通用模块有两种。库模块:这些文件通常主要包含函数定义以及类定义。在这种情况原创 2021-02-19 23:48:37 · 2481 阅读 · 0 评论 -
Python句法的分享(一)
1 引言Python的语法非常简单,规则很少,】通过讨论一些常用的语句来理解这些规则。本章将首先介绍一些创建脚本文件的基础知识,然后讨论一些常用的语句。Python只有大约20个不同的命令式语句,第1章已经使用了其中两种:赋值语句和表达式语句。例如:print(“hello world”)hello world复制代码该例实际上执行了一个对print()函数求值的语句。这种对函数或者对象的方法求值的语句是很常见的。另一种之前使用过的语句是赋值语句。Python拥有丰富多样的赋值语原创 2021-02-18 22:47:54 · 2511 阅读 · 3 评论