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 条评论
登录 后参与评论

相关文章

来自专栏吾爱乐享

java学习之数组元素排序,冒泡排序和选择排序

12740
来自专栏python百例

37-生成密码/验证码

此文件名为:randpass.py 思路: 1、设置一个用于随机取出字符的基础字符串,本例使用大小写字母加数字 2、循环n次,每次随机取出一个字符 3、...

11210
来自专栏PHP在线

PHP数组操作汇总

对于Web编程来说,最重要的就是存取和读写数据了。存储方式可能有很多种,可以是字符串、数组、文件的形式等。数组,可以说是PHP的数据应用中较重要的一种方式。PH...

33140
来自专栏从流域到海域

《笨办法学Python》 第32课手记

《笨办法学Python》 第32课手记 本节课讲for循环和list,list里类似于c中的数组,但有区别很大。C语言中的数组是数据类型相同的值的集合,list...

21790
来自专栏程序员互动联盟

【编程基础】C语言位

位制就是为了减小存储大小,把一个char, unsigned int, int的存储空间进行拆分后,对每个进行操作。 给出一段代码: #include <st...

33370
来自专栏Python小屋

数学老师从没这么教过,乘法竖式中进位可以是多位(附Python实现与测试源码)

大概十五年前,曾经写过一个C语言版本的类似代码。核心思想是:在乘法竖式计算过程中,每次的进位实际上是可以超过一位的,虽然老师从来没有这么教过。 ? 这样的操作在...

35460
来自专栏lgp20151222

Class.forName()用法详解

主要功能 Class.forName(xxx.xx.xx)返回的是一个类 Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,...

23510
来自专栏C/C++基础

C++11 原生字符串

原生字符串(Raw String)指不进行转义“所见即所得”的字符串。很多编程语言早已支持原生字符串,如C#、Python、Shell等。C++作为一门高级程序...

22220
来自专栏决胜机器学习

PHP面向对象核心(二)——继承、多态、接口

PHP面向对象核心(二) (原创内容,转载请注明来源,谢谢) 三、继承与多态 3.1 继承 1、继承是类级别的复用,关键词为extends;多态是方法级别的复用...

403120
来自专栏Golang语言社区

[基础篇]Go语言变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。 Go 语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。 声...

39570

扫码关注云+社区

领取腾讯云代金券