朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好的理解人工智能技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是要由所写,所以不如我的人工智能技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!

软件质量

从设计来讲,Python秉承了一种独特的简洁和高可读性的语法,以及一种高度一致的编程模式。正如最近的一次Python会议标语所宣称的那样,Python确确实实是“符合大脑思维习惯”,即Python的特性是以统一并有限的方式进行交互,可以在一套紧凑的核心思想基础上进行自由发挥。这使Python易于学习、理解和记忆。事实上,Python程序员在阅读和编写代码时无需经常查阅手册。Python是一个设计风格始终如一的开发平台,可以保证开发出相当规范的代码。

从哲学理念上讲,Python采取了一种所谓极简主义的设计理念。这意味着尽管实现某一编程任务通常有多种方法,往往只有一种方法是显而易见的,还有一些不是那么明显的方法,以及少量风格一致的解决方法。此外,Python并不强制约束用户,当交互含糊不清时,明了的解决办法要优于“魔术”般的方法。在Python的思维方式中,明了胜于晦涩,简洁胜于复杂。

除了以上的设计主旨,Python还采用模块化设计、OOP在内的一些工具来提升程序的可重用性。由于Python致力于精益求精,Python程序员也都自然而然地秉承了这一理念。

开发效率

20世纪90年代中后期互联网带来的信息爆炸,使有限的程序员难以应付繁多的软件开发项目,往往要求开发者以互联网演变一样的速度去开发系统。时过境迁,后信息爆炸时代带来了公司裁员和经济衰退。今天,往往要求程序员以更少的人力去实现相同的开发任务。

无论在以上哪种背景下,Python作为开发工具均以付出更少的精力完成更多的任务而脱颖而出。Python致力于开发速度的最优化:简洁的语法、动态类型、无需编译、内置工具包等特性使程序员能够快速完成项目开发,而使用其他开发语言则需要几倍的时间。其最终结果就是,相对于传统的语言Python把开发者效率提高了数倍。不管处于欣欣向荣还是萧条不景气的时代,无论软件行业将向何处发展,这都是一件值得庆幸的事。

Python是“脚本语言”吗

Python是一门多种用途的编程语言,时常在扮演脚本语言的角色。一般来说,Python可定义为面向对象的脚本语言:这个定义把对面向对象的支持和全面的面向脚本语言的角色融合在一起。事实上,人们往往以“脚本”而不是“程序”描述Python的代码文件。本书中,“脚本”与“程序”是可以相互替代的,其中“脚本”往往倾向于描述简单的顶层代码文件,而“程序”则用来描述那些相对复杂一些的多文件应用。

由于“脚本语言”从不同的视角来观察时有着众多不同的意义,对于Python来讲并不是所有的都适合。实际上,人们往往给Python冠以以下三个不同的角色,其中有些角色相对其余的角色更重要。

Shell工具

当人们听到Python是脚本语言时,他们往往会想到Python是一个面向系统的脚本语言代码工具。这些程序往往从命令行运行,实现诸如文本文件的处理以及调用其他程序等任务。

Python程序当然能够以这样的角色工作,但这仅仅是Python常规应用范围的很小一部分。它不只是一种很好的Shell脚本语言。

控制语言

对其他人而言,脚本可定义为控制或重定向其他应用程序组件的“粘接”层。Python经常部署于大型应用的场合。例如,测试硬件设备时,Python程序可调用相关组件,通过组件在底层和器件之间进行交互。类似地,在终端用户产品定制的过程中,应用程序可以在策略点调用一些Python代码,而无需分发或重新编译整个系统代码。

Python的简洁使其从本质上能够成为一个灵活的控制工具。从技术上来讲,这基本上就是Python的常规角色;许多Python代码作为独立的脚本执行时无需调用或者了解其他的集成组件。然而,Python不只是一种控制语言而已。

使用快捷

对于“脚本语言”最好的解释,也许就是应用于快速编程任务的一种简单语言。对于Python来说,这确实是实至名归,因为Python与C++等类似的编译语言相比,大大提高了程序开发速度。其快速开发周期促进了探索、递增的编程模式,而这些都是必须亲身体验之后才能体会得到的。

但是千万别被迷惑,误以为Python仅可以实现简单的任务。恰恰相反,Python的易用性和灵活性使编程任务变得简单。Python有着一些简洁的特性,但是它允许程序按照需求以尽可能优雅的方式扩展。也正是基于这一点,它通常应用于快速作业任务和长期战略开发。

所以,Python是不是脚本语言呢?这取决于你在问谁。一般意义上讲,“脚本语言”一词可能最适用于描述一种Python所支持的快速和灵活的开发模式,而不是特定的应用领域的概念。

我的微信公众号是“人工智能知识分享”

微信公众号:“人工智能知识分享“

python系列教程2相关推荐

  1. python系列教程91

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  2. python系列教程143——行缩进

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  3. microbit python_刘鹏涛老师用Microbit 学Python系列教程

    本帖最后由 rzyzzxw 于 2018-4-5 11:33 编辑 刘鹏涛老师Microbit 学Python系列教程 经刘老师授权,刘老师订阅号刘鹏涛 捕获.PNG (6.22 KB, 下载次数: ...

  4. 【Python】Python系列教程-- Python3 编程第一步(十八)

    文章目录 前言 打印字符串: 输出变量值: 定义变量并进行简单的数学运算 使用 for 循环打印数字 0 到 4: 根据条件输出不同的结果: end 关键字 前言 往期回顾: Python系列教程–P ...

  5. python系列教程83

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  6. python系列教程145——布尔运算

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  7. python系列教程8

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  8. python系列教程14

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  9. python系列教程171——网页文档

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

最新文章

  1. BAT新风向标:程序员有福利了!
  2. 基于Python利用OpenCV实现Hough变换的形状检测
  3. 连接sftp服务器命令
  4. 第一章 安装OpenResty(Nginx+Lua)开发环境
  5. 【Quartz】问题记录注意事项【四】
  6. C、C++差异之左值右值
  7. 5W-Lora电台的远距离传输优势
  8. NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证
  9. GitHub 超 3W Star,最受欢迎的 VS Code IDE 是如何炼成的?
  10. Windows 2016 安装单机版本Oracle ASM 的简单说明
  11. L1-049__056
  12. 【揭秘】一个小团队真正能落地的微服务架构实践
  13. Linux 系统SVN客户端安装-支持https
  14. 将m个相同的球全部放到n个相同的盒子里面有几种放法,盒子不能为空
  15. java map put map_关于Java中有关Map中put方法理解
  16. DRV_03_编写最简单的触摸屏驱动程序_基于QEMU
  17. 给你一台大疆无人机,你能用来做点啥?(二)-----——倾斜摄影建模
  18. 使用gpg来加密数据
  19. *2-1 OJ 254 翻煎饼
  20. 数独问题求解代码总结

热门文章

  1. 四大AI+金融场景,10+真实产业范例,智慧金融行业实战课火爆开启
  2. 解决Firefox不响应window.resize事件
  3. 【JAVA 杨辉三角 数学文字游戏】
  4. Exome ?加两个字百度云满速?
  5. 快捷启动软件的软件——Launchy
  6. java中异常子类可以捕捉到他的父类的异常吗
  7. html中文本不自动换行,CSS禁止文本自动换行代码
  8. 微信企业号开发(3)
  9. 检测数据类型、小数点后保留后N位方法、数据类型转换、window对象的方法 、分支结构 (if单分支、if-else 双分支、多重if结构)isNaN() 与 Number.isN的区别
  10. impdp 并行_EXPDP/IMPDP 中的并行度PARALLEL参数