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

 终于把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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值