博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈谈对Python的感想
阅读量:5862 次
发布时间:2019-06-19

本文共 1793 字,大约阅读时间需要 5 分钟。

写在前面

  我用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

转载于:https://www.cnblogs.com/pleiades/p/8093970.html

你可能感兴趣的文章
20145229吴姗珊《Java程序设计》第二周学习总结
查看>>
本地搭建Jenkins CI环境
查看>>
Alpha 答辩总结
查看>>
代码互审
查看>>
铅酸蓄电池正确使用与充电管理
查看>>
jmeter ssh+jdbc用法
查看>>
微信小程序将view动态填满全屏
查看>>
Android 系统设置中显示设置之亮度调节篇
查看>>
Android 内嵌 webview测试
查看>>
IOS-WebViewJavascriptBridge使用说明
查看>>
python 如何在一个for循环中遍历两个列表
查看>>
(转)Android环境变量的设置
查看>>
java开发中使用枚举表述数据字典
查看>>
三维扫描 FZU 1063
查看>>
window onload || jquery $()
查看>>
排查私有API
查看>>
[git] BabyBluetooth
查看>>
使用IDEA工具创建本地项目并且上传到码云
查看>>
UVA 512 Spreadsheet Tracking
查看>>
关于DropDownList
查看>>