zoukankan      html  css  js  c++  java
  • 谈谈对Python的感想

    写在前面

      我用Python已经好几年了,最早学习用Python还是因为对人工神经网络感兴趣,python有个很好用的ANN库neurolab。本人其实也算初学者,充其量算入门了吧,写这篇一来回顾自己所学,二来振奋自己略有懒散的精神,学习不能停啊。

      首先,Python是一门解释性语言,这是他的特点,这让Python似乎与“高效”无缘。然而你知道吗,著名的Instagram服务器就是是用Python+Django搭建的,而且月活用户超过7亿。要知道Python+Django是一个以速度慢著称的web框架,一定是python的某个优点深深的吸引了他们。是的,这个优点就是,开发效率高。

      Python is a programming language that lets you work quickly and integrate systems more effectively.

    --摘自Python官网www.python.org

      Python就是这样一门语言,它运行时不那么“快”,但让你在开发时一路狂飙。它有点反人类的缩进让人抓狂,但同时简洁的语法让你一目十行。更何况,它还有成吨的库,开箱即用,让Python成为百变金刚,并且可以在所有主流平台完美运行。可以说,没有最好的语言,只有最合适的语言。

      最近的TIOBE编程语言排行,Python已经到了第四位,3.777%,紧紧跟在C++之后。说到最近Python的兴起,就不能不谈人工智能的兴起。人工智能如今进入第三次高潮,得益于深度学习Deep Learning技术的出现。随着Theano、TensorFlow、Caffee等框架的出现,深度学习真正走入寻常百姓家,开启了AI的大规模的应用。Python调用ML框架可以说过程完全无痛,而且快速高效。其脚本式开发方式,提供了快速试错的能力,让数据分析、处理、训练时间都大大缩短了。可以说现在再来学习一遍Python正当时!

      IDE方面,之前用过老牌python神器pycharm,不过现在有了另外一个选择Visual Studio Code。这是一个由原Eclipse开发者开发的编辑器,其最大的特点是无限的扩展性,以及背后微软老爹的支持。通过扩展,它能做几乎所有语言的开发,而且小巧、快速,Windows和Mac上都有他。

      我计划通过一系列博文,重温Python3基础、进阶知识,并结合VSCode的使用技巧,分享我做一些神经网络方面的小东西的过程。图个乐在其中,也让更多人关注Python3,关注VSCode。

    Python3的变量

      今天就来开个头,来个Python3的变量:

    a = 1

      这句定义了一个变量a,并将其值初始化为1。同时,变量a是整型。其他的类型包括浮点数、字符串、布尔(True/False)、空值(None)。Python是典型的动态类型语言,并且省略了类型的声明。这有好处,使得开发更快更便捷,但缺点是变量的重名、拼写错误也会造成意外的bug。当然有些第三方插件可以提示这些问题,但仍然要养成细心的习惯。

    赋值:

    b = a

    这句声明了一个新的变量b,令变量b的值等于a的值,也就是1。

    是不是很简单,来个小习题吧:

    最后打印出来的是ABC还是XYZ呢?

      如果从数学意义上理解,就会错误地得出ba相同,也应该是'XYZ',但实际上b的值是'ABC'

    执行a = 'ABC',解释器创建了字符串'ABC'和变量a,并把a指向'ABC'(这类似于C/C++语言的指针)

      执行b = a,解释器创建了变量b,并把b指向a指向的字符串'ABC'

      执行a = 'XYZ',解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改:

     

    所以,最后打印变量b的结果自然是'ABC'了。

    PS.这个题目摘自廖雪峰的网站:

    https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431658624177ea4f8fcb06bc4d0e8aab2fd7aa65dd95000

  • 相关阅读:
    Axis2、Axis1 以及其他接口的调用方式
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
    百度、谷歌、雅虎网站地图提交地址
    MyEclipse 死掉,JVM terminated. Exit code=1073807364
    有关Servlet的面试题
    SpringMVC文件的上传与下载实现
    Java API 操作HBase Shell
    Java内存模型与线程(二)线程的实现和线程的调度
    Java内存模型与线程(一)
    ubuntu环境下搭建Hadoop集群中必须需要注意的问题
  • 原文地址:https://www.cnblogs.com/pleiades/p/8093970.html
Copyright © 2011-2022 走看看