码迷,mamicode.com
首页 > 编程语言 > 详细

编程语言学习——python(1)

时间:2016-07-16 11:13:56      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

  python中一切皆对象,我觉得这里的对象和面向对象编程中的对象应该是不一样的。python中变量1,‘a‘,函数,类,模块都是对象,在使用type()函数的时候,对于上面的几个对象都会返回一个结构相似的内容<type ‘类型‘>,其中a为定义的函数,b为定义的类。

>>> print type(a)
<type function>
>>> print type(b)
<type classobj>
>>> print type(1)
<type int>

  python是动态类型语言,即应用与对象分离的(定义变量时不要声明它的类型,而是在赋值的时候将变量的应用给变量名)。这里的应用是指内存地址,和指针有点类似。我们用名字表示应用,变量名、函数名、类名等,使用id()函数可以查看名字所对应的地址值。对象则就是上面说的变量(1,‘a‘,True),函数,类等。

  

  python中一切皆对象,则内存中python应该是使用相同的方法管理各种对象的。应用是用来使用对象的,赋值语句可以看做对象与应用的链接。

#变量,这里只有一个对象1,a/b/c都是对象1的应用
a=1
b=1
c=a

#新的对象2,此时a不再是1的应用,而是2的应用
a=2

#函数,f,f2为下面同一个函数的应用
def f():
    print "abc"

f2=f
#此时f变成了‘a‘对象的应用,不再是上面函数的应用
f=a

  python对象在内存中,都维护着一个应用计数,新增应用时加,删除应用时减。计数为0时,就有可能清除该对象所占的内存。清除与否是与对象的内容和python中的gc设置有关的。gc是python关于垃圾回收相关的一个库。

编程语言学习——python(1)

标签:

原文地址:http://www.cnblogs.com/z964166725/p/5675725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!