易截截图软件、单文件、免安装、纯绿色、仅160KB

python中的类中属性元素加self.和不加self.的区别

学习PyQt,发现其中一段脚本是这样的:
class Form(QDialog):
  ........
  amountLabel = QLabel("Amount")
  self.amountLabel = QLabel()
  ........

python中的类中属性元素加self.和不加self.的区别是什么?这两个变量都在类定义中。
一样的,如果你不加,解释器也会帮你加上.

一楼说的不对吧,那个amountLabel 和self.amountLabel 定义了两个不同的标签,显示的时候也会显示两个标签,怎么能说一样的呢

加和不加居然是两个变量,太神奇了吧?搞不懂啊~


2个不同概念吧

Python code:

>>> class T(object):
... def __init__(self):
... val = 1
... self.val = 2
... print id(val)
... print id(self.val)
...
>>> t = T()
135716664
135716652
>>> print id(t.val)
135716652





...
  amountLabel = QLabel("Amount")
  self.amountLabel = QLabel()

  layout.addWidget( amountLabel)
  layout.addWidget(self.amountLabel)
...

这里加了2个label

下面是深入 Python :Dive Into Python 中文版中的一段话:
Python 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明。变量通过首次赋值产生,当超出作用范围时自动消亡。 

由于Python的局部变量的定义从赋值的一瞬间而产生,所以,在不使用self.amountLabel引用变


相关问答:

python 正则匹配中文

在文本文件中匹配项包含中文
如内容为:gamename=中文 
  key=天下
文本文件的编码的文件为utf-8
python代码如下:
# -*- coding:UTF-8 -*-
  contents=open(from_pa ......

如何将一段Python代码生成库

如何将Python写的一段代码生成pyd形式的库?
我知道的方法有:将这段Python代码扩展成C代码,然后通过VC将这段C代码生成后缀为.pyd的动态链接库。
不想用这么笨的方法,请问有没有比较简单的方法?谢谢!
顶一下, ......

Python新手报到 大家推荐个IDE

最近一个项目马上就要用Python编了 大家推荐个IDE。。。
1 免费。。。
2 体积最好小一点
3 功能强大
(排名不分先后。。。废话。。)

emacs,最大的优点是因为非图形界面,用SSH远程登录也可以使用。所以可以 ......

请教个python脚本运行总是锁死的问题,请大大指教!

Traceback (most recent call last):
  File "C:\test.py", line 80, in <module>
  cur.execute("update userdata set kb=0 where strAccountID='%s'" % name)
  ......

Python urllib 如何添加进度显示

code:
remote = urllib.urlopen(remote_file)
local_file = open(local_path_name, "wb")
local_file.write(remote.read())
问题:
用这种方式可以很好的下载远程文件, 现在需要加入一个进度显示的功 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号