Python里面所有instance应该现在__init__里面预定义

原因:

Yes, you should assign all attributes of your object in the __init__ method.

The most important reason to do this is tool support. Many Python IDEs can see the assignments in the __init__ and use those attributes for type-based autocompletion. Sphinx-doc can list those attributes in your reference documentation.

来源:

两个讨论:

https://softwareengineering.stackexchange.com/questions/357937/is-it-really-correct-to-declare-all-instance-attributes-in-init?noredirect=1&lq=1#comment774986_357941

https://softwareengineering.stackexchange.com/questions/254576/is-it-a-good-practice-to-declare-instance-variables-as-none-in-a-class-in-python

例子:

Tesorflow project in Githup

时间: 2024-10-19 18:07:50

Python里面所有instance应该现在__init__里面预定义的相关文章

Python即时网络爬虫项目: 内容提取器的定义(Python2.7版本)

1. 项目背景 在Python即时网络爬虫项目启动说明中我们讨论一个数字:程序员浪费在调测内容提取规则上的时间太多了(见上图),从而我们发起了这个项目,把程序员从繁琐的调测规则中解放出来,投入到更高端的数据处理工作中. 这个项目推出以后受到很大关注,因为开放源码,大家可以在现成源码基础上进一步开发.然而,Python3和Python2是有区别的,<Python即时网络爬虫项目: 内容提取器的定义> 一文的源码无法在Python2.7下使用,本文将发布一个Python2.7的内容提取器. 2.

python: class VS instance

在CPP中我们认为class是一个对象的定义,instance就是这个对象的具体实例,所以class没有任何现实的意义不能提供直接的操作.但是在python里面就是完全不一样的世界,python秉承了部分java的every is object的设计理念,那对class本身当然也不能放过,所以这里的class也同样是一个实例,只不过只此一份,不能随便派生,自然我们联想到了CPP中的singlton, 在很大程度来讲两者的作用是相同的,但是从设计理念上来讲两者又是完全不同的,当然在python中也

python class metaclass instance

>>> class CObj(object):... pass...>>> dir()['CObj', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']>>> cob = CObj>>> dir()['CObj', '__builtins__', '__doc__', '__loader__', '__name__', '__

Python中的内置函数__init__()的理解

有点意思,本来我是学习java的.总所周知,java也有构造函数,而python在面向对象的概念中,也有构造函数.它就是 __init__(self) 方法. 其实类似于__init__()这种方法,其实还有很多.类似__del__(self)  ...  __new__(cls,*args,**kwd) 等等.它们被成为 python的常用内置方法. 下面开始介绍一下我对 __init__()的理解: class A(object): def __init__(self,name):  sel

Python常用内建方法:__init__,__new__,__class__的理解

python中所有类都是继承自object, 而object提供了很多原始的内建属性和方法,所以用户自定义的类在Python中也会继承这些内建属性.可以使用dir()函数可以查看,虽然python提供了很多内建属性但实际开发中常用的不多.而很多系统提供的内建属性实际开发中用户都需要重写后才会使用.对于python来说,属性或者函数都可以被理解成一个属性. 使用dir()函数查看python中给对象提供的所有(内建)属性 class Person(object): pass print(dir(P

python中一切皆对象及__init__.py文件的使用

py一切皆对象,数据.函数.后续声明的类也是一个对象,而函数名称就是对象名称 函数名可直直接返回,这种叫做闭包 python中__init__.py文件的作用,__all__属性配置加载的白名单 原文地址:https://www.cnblogs.com/liuchunxiao83/p/12307626.html

Python Simple Unicode Instance

#!/usr/bin/env python #--*-- coding:utf-8 --*-- ''' An example of reading and writing Unicode string :Writes a Unicode string to a file in utf-8 and reads it back in. ''' CODEC = 'utf-8' FILE = 'unicode.txt' hello_out = u"Hello world\n" bytes_ou

python unittest--TestCase类总结2,__init__初始化实例简介

如上为TestCase类里面的__init__初始化函数,目前了解不是很深,目前只知道methodName这个参数传入的就是我们自己编写的用例,已test开头的用例,如果只是用这个类,可以用任意名字,如下例子 原文地址:https://www.cnblogs.com/dmtz/p/11004894.html

(一)Python入门-6面向对象编程:02类的定义-类和对象的关系-构造函数-实例属性-实例方法

一:类的定义 如果把对象比作一个“饼干”,类就是制造这个饼干的“模具”. 我们通过类定义数据类型的属性(数据)和方法(行为),也就是说,“类将行为和状态打 包在一起”. 对象是类的具体实体,一般称为“类的实例”.类看做“饼干模具”,对象就是根据这个“模 具”制造出的“饼干”. 从一个类创建对象时,每个对象会共享这个类的行为(类中定义的方法),但会有自己的属 性值(不共享状态).更具体一点:“方法代码是共享的,属性数据不共享”. Python中,“一切皆对象”.类也称为“类对象”,类的实例也称为“