谈谈对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呢?
如果从数学意义上理解,就会错误地得出b和a相同,也应该是'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
谈谈对Python的感想的更多相关文章
- 谈谈有关 Python 的GIL 和 互斥锁
转载:https://blog.csdn.net/Amberdreams/article/details/81274217 有 Python 开发经验的人也许听说过这样一句话:Python 不能充分利 ...
- python爬虫感想
老师说,能用程序解决一个实际问题,说明已经会使用工具了.今天用python做了一个小爬虫,很幸运,成功了. 有几个难点:就是学会伪装,还有一个觉得打开的方式太多,有点糊涂,正则表达式也要加强了.
- 谈谈关于Python里面小数点精度控制的问题
基础 浮点数是用机器上浮点数的本机双精度(64 bit)表示的.提供大约17位的精度和范围从-308到308的指数.和C语言里面的double类型相同.Python不支持32bit的单精度浮点数.如果 ...
- 关于python的感想和turtle作图
第一次知道有python这个东西是在去年七月份,就是一堆编程语言,当时我想它应该离我很远,也没对它有什么兴趣.直到在三月份的某一天我真正接触了它,其实也不是我主动,环境下学期必须学这东西.我有它的必修 ...
- 也谈谈关于WEB的感想
距离上次在博客园发表博文已经是数年以前了,想想自己也确实有够懒惰的,实为不该. 引起我想发这篇博文的原因是 @Charlie.Zheng 所发表的 <Web系统开发构架再思考-前后端的完全分离& ...
- 谈谈对Python装饰器的理解
装饰器,又名函数修饰符.笔者觉得函数修饰符,这个名字更能直观的反应他的作用. 函数修饰符语法特征 : @ + 修饰符 函数修饰符的装饰对象: 函数修饰符,就是说他修饰的是 ...
- Python 经典面试题汇总之基础篇
基础篇 1:为什么学习Python 公司建议使用Python,然后自己通过百度和向有学过Python的同学了解了Python.Python这门语言,入门比较简单,它简单易学,生态圈比较强大,涉及的地方 ...
- 315道python面试题(参考答案)
第一部分 Python基础篇 1:为什么学习Python 家里有在这个IT圈子里面,也想让我接触这个圈子,然后给我建议学的Python, 然后自己通过百度和向有学过Python的同学了解了Python ...
- Python面试题之Python面试题汇总
在这篇文章中: Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Py ...
随机推荐
- Python 动态导入模块
动态导入模块 目录结构: zhangsandeMacBook-Air:1110 zhangsan$ tree . . ├── lib │ └── aa.py ├── test1.py lib目录下 ...
- c语言的extern与static与递归
知识点: 外部函数:定义的函数能被本文件和其他文件访问 1> 默认情况下所有函数都是外部函数 2> 不允许有同名的外部函数 内部函数:定义的函数只能被本文件访问,其他文件不能访问 1> ...
- Less 的使用方法
Less 的使用方法 Less 可以直接在浏览器端运行(支持IE6+.Webkit.Firefox),也可以借助Node.js或者Rhino在服务端运行. Less是一种动态语言,无论是在浏览器端,还 ...
- 【Java疑难杂症】利用Java核心库实现简单的AOP
Spring是一个十分火热开源框架,而AOP(面向切面编程)则是Spring最重要的概念之一,为了更好的理解和学习AOP的思想,使用核心库来实现一次不失为一个好方法. 首先介绍一下AOP的概念,AOP ...
- 虚拟机Ubuntu无法上网问题解决过程
查看了网上大部分经验贴,都没有解决问题,只好自己思考琢磨,以下是思考解决过程 1.查看文件配置 2.查看虚拟机网络配置方式 3.查看硬件驱动是否存在 4.配置完文件ifcfg-eth0后重启,无效(虚 ...
- HTML的iframe标签妙用 - 在线执行前端代码的网站原理是什么?
在我自己的日常前端开发中,其实iframe标签出现的次数并不是很多.作为一个很古老(浏览器兼容性非常好)的标签,有必要去了解一下它的典型应用场景. (图片说明:所有浏览器都支持iframe,无论什么版 ...
- 如何扩展或者添加硬盘给VMware的Linux操作系统
我们在使用Linux系统一段时间以后,可能添加的东西原来越多导致原来开辟的硬盘不够,当硬盘剩余空间过小时Ubuntu系统也会给出提示或者可以通过df -hl命令查看你硬盘使用情况如下图所示:我已经用 ...
- java 邮件发送的公共方法
protected static String host = "true"; protected static String auth = "smtp.163.com&q ...
- day2-Python基本数据类型介绍
百度云连接 链接:https://pan.baidu.com/s/1hsGQx7m 密码:u07q
- 命令行保存指定目录文件的名字(可包含文件夹文字)到txt文本文件
Microsoft Visual Studio中配置OpenCV解决方案属性的时候, 需要将OpenCV的lib扩展名的库文件添加到属性的依赖列表里面,网上的有些人博客里面直接给出的会有问题(但大多数 ...