Python DEBUG

>>> l = [3]
>>> l()
Traceback (most recent call last):
  File "<pyshell#77>", line 1, in <module>
    l()
TypeError: 'list' object is not callable

是把list对象当函数使了。 l = [3] 然后执行了l()


>>> k = []
>>> k = k.append(4)
>>> k
>>> k
>>> print(k)
None
>>> k = k.append(4)
Traceback (most recent call last):
  File "<pyshell#103>", line 1, in <module>
    k = k.append(4)
AttributeError: 'NoneType' object has no attribute 'append'

append方法是没有返回值的。也就是说,上述语句第一次会成功执行,并且将k赋值为None;第二次调用就会报错,因为None是不能调.append方法的,修改方法也简单,k.append(i)就可以了,不要接返回值。


self. & self._

属性赋值时,默认自动调用setattr方法

  1. self.是对属性的访问,使用它的时候编译器会判断_是否为空,为空的话自动实例化。会自动访问getset方法。
  2. _是对实例变量的访问,我们没有实例化它,不能使用。
  3. 对类里局部变量访问使用_,外部变量则用self.
  4. getter方法中,不要再使用self。否则会重复调用getter方法,造成死循环。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Day22psutil&图形界面

    psutil 用Python来编写脚本简化日常的运维工作是Python的一个重要用途。 在Python中获取系统信息的一个好办法是使用psutil这个第三方模...

    林清猫耳
  • Day18内建模块collections&base64collectionsbase64

    collections collections是Python内建的一个集合模块,提供了许多有用的集合类。 namedtuple >>> from collect...

    林清猫耳
  • Day25Web开发

    HTTP协议简介 在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP...

    林清猫耳
  • 你为什么还没有博客?

    最近两年,博客这个词已经很少有人提及了,基本上已经被微博,公众号等淹没。有人说,博客已死,然而我并不这么认为。

    姬小光
  • python 单例模式

    class Singleton(type): def init(self, *args, *kwargs): self.__instance = None ...

    用户5760343
  • 【极客周刊】“无现金“受阻,暗网电商被黑,社交平台遭立案调查...

    一川水巷
  • 最流行的5大开源Web服务器

    根据维基百科介绍,web服务器是“通过HTTP协议处理web请求的计算机系统”(a computer system that processes request...

    魏新宇
  • Golang Leetcode1013. Partition Array Into Three Parts With Equal Sum.go

    更多内容请移步我的repo:https://github.com/anakin/golang-leetcode

    anakinsun
  • hadoop商业版本选择对比

    记得刚接触到hadoop的时候跟大部分人一样都会抱怨hadoop的安装部署问题,对于一个新手来说这这的是个头疼的问题,可能需要花费一整天的时间才能把分布式环境安...

    用户3392176
  • 【网页】HTTP错误汇总(404、302、200……)

    原贴:http://blog.sina.com.cn/s/blog_68158ebf0100wr7z.html

    后端技术漫谈

扫码关注云+社区

领取腾讯云代金券