终于把1000多页的python学习手册啃完了。从来没有从深层次上去理解一门编程语言,学习c是如此,学习java也是如此。总觉得这些语言就是拿来用的。不用管它为什么要创造出来。

这几天认真系统的学习了python语言,泯泯之中和python的作者有点神交。

我的感受:

说python起源于c,一点都不过分。而且,处处是指针,处处是对象。不得不佩服作者的创造力,自己曾经也被c语言的指针整的焦头烂额。能不用就不不碰,那内存崩溃是刚刚的。没想象,python的作者把c语言的指针整这么溜,甚至发展成为一门编程语言,还集成在各种Linux系统中。

现在发现,不能用c语言的思路去理解python语言了。网上很多c#和python的比较,但是我要说的是,这两种语言设计思路从最核心,最底层的解决思路是不一样的。c#更像java。而python更像c。

看看,a =5 在c中是非常普通的赋值,我们也通常把这个语句叫做赋值语句,但是在python中,这样的理解就错了。

我们分别查一下他们的内存地址,发现地址是一样的,原来python把这语句看做是对象实例化的语句。就是把一个整数对象实例化变量为a,如果用c来写的话,要 写成:

a= new 5()

是不是很奇怪,一个类,或者对象是不可以用数字来命名的,但是作为对象实例化,或者类的实例化,问题就很好理解了。

可以a = 5,页可以 a='aaa'等。而且这个时候,原来的a的地址回收了。这里的a又重新指向字符串的地址了。

说白了,并不是定义了一个变量,而是定义了一个指针:

c:  *a = 5

总而言之:python把一切数据,一切的一切都看作对象,在python中,没有变量,只有指针,要说变量,也是指针变量。

啦啦啦啦啦啦啦啦啦啦……

转载于:https://www.cnblogs.com/hzwsj/p/5777973.html

一切都是对象,一切都是指针,一切都是东西(python的编程哲学)相关推荐

  1. 在python中、处理的一切都是对象_Python 3+ 一切都是对象

    对于 Python 来说,一切都是对象 . 这句话很重要,当你对某个特性不了解时,回想下这句话也许就能想通 一个整数一个对象,一个浮点数也是一个对象,一个函数也是一个对象 >>> i ...

  2. python函数赋值给对象_【Python核心编程笔记】一、Python中一切皆对象

    Python中一切皆对象本章节首先对比静态语言以及动态语言,然后介绍 python 中最底层也是面向对象最重要的几个概念-object.type和class之间的关系,以此来引出在python如何做到 ...

  3. 一切都是对象---JAVA编程思想

    一切都是对象 "如果我们说另一种不同的语言,那么我们就会发觉一个有些不同的世界."--Luduing Wittgerstein(1889-1951) 尽管Java是基于C++的,但 ...

  4. 第2章 一切都是对象

    第2章一切都是对象 对象的定义(类型).创建.存储.操纵.销毁.组成,引用(基本变量名)的初始化 2.1 用引用操纵对象 ·编程语言操纵内存中元素的方式: ·C.C++:基于特殊语法的间接表示-指针 ...

  5. Java编程思想学习(一) 一切都是对象

    前言 Java是基于C++的,但Java是一种更加纯粹的面向对象程序设计语言. C++和Java都是混合/杂合型语言.杂合型语言允许多种编程风格. 用引用操纵对象 每种编程语言都有自己操纵内存中元素的 ...

  6. python中一切数据都是对象吗_Python 对象中的数据类型

    对于python,一切事物都是对象,程序中存储的所有数据都是对象,对象基于类创建 计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型. ...

  7. 细读 Thinking in Java (一)一切都是对象

    前言 <Thinking in Java>做为Java最经典的学习书籍之一,不论是对于学习java的新手或是有一定经验的程序员来说都有不同的学习价值,在工作的这两年多当中由于种种杂事一直没 ...

  8. Java学习之一切都是对象(二)

    注:本博客内容是本人在看<Jave编程思想>这本书时从该书上抄录下来的一些片段.这里也强烈建议各位读者去购买这本书进行阅读学习. 一.用引用操纵对象 在Java的世界中,一切都被视为对象, ...

  9. 你好,C++(40)7.1 一切指针都是纸老虎:彻底理解指针

    第7章 C++世界的奇人异事 在武侠小说中,初入武林的毛头小子总是要遇到几位奇人,发生几件异事,经过高人的指点,经历一番磨炼,方能武功精进,从新手成长为高手.在C++世界,同样有诸多的奇人异事.在C+ ...

最新文章

  1. GitHub:我开源我自己;CEO:不存在的
  2. python 编译exe
  3. java设计模——反射的应用 (利用反射来去除if判断语句)
  4. c语言结构体易错点,C语言结构体注意点
  5. Redis的RDB持久化和AOF持久化区别
  6. 20万RMB!学数据分析的朋友一定要看!
  7. 随想录(英语学习的几个误区)
  8. esp32 例程 蓝牙_wifiamp;蓝牙MCU 该不该选ESP32
  9. 云计算将逐渐成为支撑SaaS应用的基础
  10. 获取Excel数据及Sheet的方法
  11. kubernetes 查看pod在哪个node节点运行
  12. 生物信息学常用数据库
  13. iOS微信分享提示“未验证应用”的解决,配置 Universal Link
  14. Python中CRAPS游戏,即花旗骰
  15. 微信群发工具,纯Python编写~
  16. 51单片机教程:8*8 点阵显示字符、数字、简单汉字
  17. QT开发(二十二)——QMainWindow主窗口
  18. Python 等值线生成(TIN三角网)
  19. # BJTUOJ 一颗姜会长多高? (二分+前缀和+简单贪心)
  20. R语言利用igraph和networkD3包快速入门做出炫酷的社交网络图等几类图。

热门文章

  1. Java servlet ajax
  2. Java 学习笔记(121208)
  3. 基于QQ服务器JavaMail邮箱SSL密码第三方发送邮件
  4. 11-6渐变的用途和设定技巧
  5. 关于排版与交互的问题
  6. java 蓝桥杯算法训练 特殊的数字四十
  7. linux stat文件,Linux stat命令:显示文件或文件系统的详细信息
  8. 地线与接地螺丝_快来看看新能源电动汽车充电时,地线的安装情况吧!
  9. d3 svg path添加文本_数据可视化——D3展现数据最炫丽的一面
  10. linux系统python的版本怎么升级,python---linux下升级python的版本