认真的开发人员知道,代码总是可以改进的。在每次迭代中,您都要进行优化—无论大小—这将对您的应用程序的速度、大小、弹性和可维护性产生巨大的影响。
在《真正优秀的软件:能够工作、生存和成功的代码》一书中,作者、教师和Java专家Marco Faella教授您编写更好代码的技巧。您将从一个简单的应用程序开始,然后通过七个仔细的重构,每个重构都旨在探索质量的另一个维度。
Python Workout提供了50个练习,重点是Python 3的关键特性。在这本书中,Python专家教练鲁文·勒纳(Reuven Lerner)通过一系列小项目指导你,练习你处理日常任务所需的技能。你会喜欢每个技巧的清晰解释,你可以观看Reuven解决每个练习的视频。
https://www.manning.com/books/python-workout
在过去的几年中,Python已经进入了许多领域,包括系统管理、数据科学、devops、文本处理和Web开发。因此,现在有许多课程和书籍旨在教授Python。
本书分为10章,每一章涵盖Python的不同领域。总的来说,随着本书的发展,问题会变得越来越复杂——但这并不意味着我要等到“函数”一章才开始使用函数,或者等到“函数编程”一章才开始理解函数。你可以使用任何你认为必要的工具。
每一章都以一个参考表开始,包括链接,指向可能帮助你更好地理解你已经忘记或从未学过的主题的资源。我希望这些将帮助您加强对Python的理解,而不仅仅是本书本身。
除了练习和解决方案,还有视频,在其中我演示如何解决每个问题,并添加到我在书中的讨论。解决方案和你在书中读到的一样,但对很多人来说,视频让整个过程更加生动;你会在我的现场培训课程中得到更多的感觉。此外,查看编码和解决过程的时间变化通常很有帮助,而不是在页面上一次性查看所有内容。使用视频片段的最佳方法是同时打开该书和视频(在Manning的liveVideo平台中)。对于每个练习,从书开始,完成每个练习,如果你喜欢,阅读解决方案和讨论。然后点击相应的视频片段,看我演示解决方案,并为讨论提供进一步的见解。
通过这个紧凑的实用指南,开始使用Python进行数据分析。这本书包括三个练习和一个用正确的格式从Python代码中获取数据的案例研究。使用Python学习数据分析还可以帮助您使用分析发现数据中的意义,并展示如何可视化数据。
每一节课都尽可能是独立的,允许您根据需要插入和退出示例。如果您已经在使用Python进行数据分析,那么您会发现您希望知道如何使用Python来完成许多事情。然后,您可以将这些技术直接应用到您自己的项目中。
如果您不使用Python进行数据分析,那么本书从一开始就带您了解基础知识,为您在该主题中打下坚实的基础。当你阅读完这本书的时候,你会对如何使用Python进行数据分析有更好的理解。
你将学到什么
这本书是给谁的
想学习使用Python进行数据分析的同学。建议您具有Python方面的经验,但不是必需的,因为您需要具有数据分析或数据科学方面的经验。
使用Microsoft Excel中流行的数据挖掘技术,更好地理解机器学习方法。
软件工具和编程语言包接受数据输入并直接交付数据挖掘结果,对工作机制没有任何见解,并在输入和输出之间造成了鸿沟。这就是Excel可以提供帮助的地方。
Excel允许您以透明的方式处理数据。当您打开一个Excel文件时,数据立即可见,您可以直接使用它。在执行挖掘任务时,可以检查中间结果,从而更深入地理解如何操作数据和获得结果。这些是隐藏在软件工具和编程语言包中的模型构建过程的关键方面。
这本书教你通过Excel进行数据挖掘。您将了解当数据集不是很大时Excel在数据挖掘方面的优势。它可以为您提供数据挖掘的可视化表示,在结果中建立信心。您将手动完成每一个步骤,这不仅提供了一个主动学习体验,而且还告诉您挖掘过程是如何工作的,以及如何发现数据内部隐藏的模式。
你将学到什么
这本书是给谁的
Python程序员将使用这些有用的单行程序来提高他们的计算机科学技能。
Python单行程序将教会您如何阅读和编写“单行程序”:将有用功能的简明语句封装到一行代码中。您将学习如何系统地解包和理解任何一行Python代码,并像专家一样编写雄辩、强大的压缩Python。
本书共分五章,内容包括技巧和技巧、正则表达式、机器学习、核心数据科学主题和有用的算法。对一行程序的详细解释将介绍关键的计算机科学概念,并提高您的编码和分析技能。您将了解高级Python特性,如列表理解、切片、lambda函数、正则表达式、映射和缩减函数以及切片分配。您还将学习如何:
•利用数据结构来解决现实世界的问题,比如使用布尔索引来查找污染水平高于平均水平的城市
•使用NumPy基础,如数组、形状、轴、类型、广播、高级索引、切片、排序、搜索、聚合和统计
•计算多维数据数组的基本统计量和无监督学习的K-Means算法
•使用分组和命名组、负查找头、转义字符、空白、字符集(和负字符集)和贪婪/非贪婪操作符创建更高级的正则表达式
•了解广泛的计算机科学主题,包括字谜、回文、超集、排列、阶乘、质数、斐波纳契数、混淆、搜索和算法排序
在本书的最后,您将了解如何以最精炼的方式编写Python,并仅用一行代码就创建简洁、漂亮的“Python艺术”片段。
改进您的编程技术和方法,成为一个更有生产力和创造性的Python程序员。本书探索了一些概念和特性,这些概念和特性不仅将改进您的代码,而且还将帮助您理解Python社区,并对Python哲学有深入的了解和详细的介绍。
专业的Python 3,第三版给你的工具写干净,创新的代码。它首先回顾了一些核心的Python原则,这些原则将在本书后面的各种概念和示例中进行说明。本书的前半部分探讨了函数、类、协议和字符串的各个方面,描述了一些技术,这些技术可能不是常见的知识,但它们共同构成了坚实的基础。后面的章节涉及文档、测试和应用程序分发。在此过程中,您将开发一个复杂的Python框架,该框架将整合在本书中所学到的思想。
这个版本的更新包括Python 3中迭代器的角色、用Scrapy和BeautifulSoup进行web抓取、使用请求调用没有字符串的web页面、用于分发和安装的新工具等等。在本书的最后,您将准备好部署不常见的特性,这些特性可以将您的Python技能提升到下一个级别。
你将学习
这本书是给谁看的 熟悉Python的中级程序员,希望提升到高级水平。您应该至少编写了一个简单的Python应用程序,并且熟悉基本的面向对象方法、使用交互式解释器和编写控制结构。
数据结构和算法的更新、创新方法
这个权威的指南由其领域的专家组成的作者团队编写,它甚至解释了最困难的数学概念,这样您就可以清楚地理解c++中的数据结构和算法。
权威的作者团队采用面向对象的设计范式,使用c++作为实现语言,同时还提供基本算法的直觉和分析。
本书作者BrettSlatkin以使用场景为主导的精练教学方式,汇聚了59条优秀的实践原则、开发技巧和便捷方案,并以实用的代码范例来解释它们。作者根据自己在Google公司多年开发Python基础架构所积累的经验,揭示了Python语言中一些鲜为人知的微妙特性,并给出了能够改善代码功能及运行效率的习惯用法。通过本书,你能够了解到解决关键编程任务所用的佳方式,并学会编写易于理解、便于维护且利于改进的代码。
本书可以帮你掌握真正的Pythonic编程方式,令你能够发挥出Python语言的强大功能,并写出健壮而高效的代码。Scott Meyers在畅销书《Effective C++》中开创了一种以使用场景为主导的精练教学方式,本书作者Brett Slatkin就以这种方式汇聚了59条优秀的实践原则、开发技巧和便捷方案,并以实用的代码范例来解释它们。
Slatkin根据自己在Google公司多年开发Python基础架构所积累的经验,揭示Python语言中一些鲜为人知的微妙特性,并给出了能够改善代码功能及运行效率的习惯用法。通过本书,你能够了解到解决关键编程任务所用的方式,并学会编写易于理解、便于维护且利于改进的代码。本书核心内容包括:
● 涵盖Python 3.x及Python 2.x主要应用领域的实用指南,以及与之配套的详细解释及代码范例。
● 与函数相关的编程建议,这些建议有助于我们写出意图清晰、便于复用且缺陷较少的函数。
● 如何准确地表达类与对象的行为。
● 在使用元类和动态属性时,如何避免错误的用法。
● 更为高效的并发及并行方式。
● 与Python内置模块相关的编程技巧和习惯用法。
● 多人协作时所用的开发工具和实践方式。
● 旨在改善代码质量和程序性能的调试、测试与优化方案。
这本书在对算法工作原理的高层次理解和对优化模型的具体细节的了解之间找到一个平衡点。这本书将给你的信心和技能时,开发所有主要的机器学习模型。在这本Pro机器学习算法中,您将首先在Excel中开发算法,以便在用Python/R实现模型之前,实际了解可以在模型中调优的所有细节。
你将涵盖所有主要的算法:监督和非监督学习,其中包括线性/逻辑回归;k - means聚类;主成分分析;推荐系统;决策树;随机森林;“GBM”;和神经网络。您还将通过CNNs、RNNs和word2vec等文本挖掘工具了解最新的深度学习。你不仅要学习算法,还要学习特征工程的概念来最大化模型的性能。您将看到该理论与案例研究,如情绪分类,欺诈检测,推荐系统,和图像识别,以便您得到最佳的理论和实践为工业中使用的绝大多数机器学习算法。在学习算法的同时,您还将接触到在所有主要云服务提供商上运行的机器学习模型。
你会学到什么?
这本书是给谁看的
希望转换到数据科学角色的业务分析师/ IT专业人员。想要巩固机器学习知识的数据科学家。
简介:
探索用Python编写代码的正确方法。这本书提供的技巧和技术,你需要生产更干净,无错误,和雄辩的Python项目。
要获得更好的代码,首先要理解对代码进行格式化和编制文档以获得最大可读性的重要性,利用内置的数据结构和Python字典来提高可维护性,并使用模块和元类来有效地组织代码。然后,您将深入了解Python语言的新特性,并学习如何有效地利用它们。接下来,您将解码关键概念,如异步编程、Python数据类型、类型提示和路径处理。学习在Python代码中调试和执行单元测试和集成测试的技巧,以确保您的代码可以投入生产。学习旅程的最后一段为您提供了版本管理、实时代码管理和智能代码完成的基本工具。 在阅读和使用这本书之后,您将熟练地编写干净的Python代码,并成功地将这些原则应用到您自己的Python项目中。
目录:
作者:
Sunil Kapil在过去十年一直从事软件行业,用Python和其他几种语言编写产品代码。 他曾是一名软件工程师,主要从事网络和移动服务的后端工作。他开发、部署并维护了数百万用户喜爱和使用的从小型到大型的生产项目。他与世界各地知名软件公司的大小团队在不同的专业环境中完成了这些项目。他也是开源的热情倡导者,并不断为Zulip Chat和Black等项目贡献力量。Sunil经常在各种会议上发表关于Python的演讲。
Python是世界上最流行的编程语言之一,人们从不同的背景成为Python程序员。有些人受过正规的计算机科学教育。其他人则将Python学习作为一种爱好。还有一些人在专业环境中使用Python,但他们的主要工作不是做软件开发人员。这本中级书中的问题将帮助经验丰富的程序员在学习语言的某些高级功能的同时,从他们的CS教育中重新了解自己的想法。自学成才的程序员将通过学习所选语言(例如Python)中的经典问题来加速CS教育。本书涵盖了各种各样的问题解决技术,以至于每个人都有真正的收获。
这本书不是对Python的介绍。相反,这本书假设您已经是一名中级或高级的Python程序员。尽管这本书需要Python3.7,但我们并不认为它能够精通最新版本的Python的每一个方面。事实上,这本书的内容是建立在这样一个假设上的:它将作为学习材料,帮助读者达到这样的掌握。另一方面,这本书不适合完全不熟悉Python的读者。
目录:
介绍
小问题
斐波那契序列
简单的压缩
牢不可破的加密
计算圆周率
汉诺塔
实际应用
练习
搜索问题
DNA搜索
迷宫求解
传教士和野人问题
实际应用
练习
约束满足问题
构建约束-满足问题框架
澳大利亚的地图着色问题
八皇后问题
单词搜索
SEND+MORE=MONEY
电路板布局
实际应用
练习
图论问题
地图作为图
构建图框架
最短路径查找
最小化网络建设成本
求加权图中的最短路径
实际应用
练习
遗传算法
生物背景
一种通用遗传算法
一个天真的测试
SEND+MORE=MONEY revisited
优化列表压缩
遗传算法的挑战
实际应用
练习
k-means聚类
预备工作
k-means聚类算法
按年龄和经度对州长进行聚类
按长度聚集迈克尔·杰克逊的专辑
K-means聚类的问题和扩展
实际应用
练习
相当简单的神经网络
生物学基础?
人工神经网络
预备工作
构建网络
分类问题
加速神经网络
神经网络问题和扩展
实际应用
练习
对抗搜索
基本棋盘游戏组件
井字游戏
四子棋
除了α-β剪枝之外的极大极小改进
实际应用
练习
其他问题
背包问题
旅行推销员问题
电话号码助记符
练习
附录A 词汇表
附录B 更多资源
附录C 类型提示简介