谈谈对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 ...
随机推荐
- centos7下部署Django(nginx+uwsgi+python3+django)
系统版本 centos7 python版本 使用官方python3.6.3正式版 django版本 使用本文发布时最新的1.11.7 uwsgi版本 使用本文发布时最新的2.0.15 nginx版本 ...
- mysql常用的操作
数据库的常用操作:create database db1; #创建数据库show databases; #查看所有数据库show create database db1;#查看创建的指定数据库alte ...
- Thinkphp高仿陌陌网页直播
此项目利用 TP+Redis+Nginx+nginx-rtmp-module+ffmpeg+HLS +Swoole 的架构方案 GitHub 地址:https://github.com/DOUBLE- ...
- 地图开发GIS的应用有哪些?
GIS的应用领域有哪些? 地理信息系统在最近的30多年内取得了惊人的发展,广泛应用于资源调查.环境评估.灾害预测.国土管理.城市规划.邮电通讯.交通运输.军事公安.水利电力.公共设施管理.农林牧业.统 ...
- 使用pg_buffercache查看缓存区缓存
PG提供了一个扩展pg_buffercache来查看缓存区的内容. create database test; CREATE DATABASE create extension pg_bufferca ...
- Pyhton爬虫实战 - 抓取BOSS直聘职位描述 和 数据清洗
Pyhton爬虫实战 - 抓取BOSS直聘职位描述 和 数据清洗 零.致谢 感谢BOSS直聘相对权威的招聘信息,使本人有了这次比较有意思的研究之旅. 由于爬虫持续爬取 www.zhipin.com 网 ...
- 使用Xamarin开发手机聊天程序 -- 基础篇(大量图文讲解 step by step,附源码下载)
如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!而且,Xamarin已经被微 ...
- AspNet Core :创建自定义 EF Core 链接数据库
这两天比较忙,写的会慢一点. 我们以控制台演示 EF Core的链接数据库 首先创建控制台程序 创建数据上下文类 EntityTable /// <summary> /// 继承 DbCo ...
- 框架原理第一讲,熟悉常用的设计方式.(以MFC框架讲解)
框架原理第一讲,熟悉常用的设计方式.(以MFC框架讲解) 一丶什么是框架,以及框架的作用 什么是框架? 框架,简而言之就是把东西封装好了,使用框架开发可以快速开发程序,例如MFC程序的双击写代码. 为 ...
- L贪心基础
<span style="color:#330099;">/* L - 贪心 基础 Time Limit:1000MS Memory Limit:65536KB 64b ...