虽然age = 10
在__init__
方法中定义了一个局部变量age
,但这个局部变量并不会影响类属性age
的值。类属性是在类级别上定义的,不属于任何一个实例。因此,在创建实例s1
和s2
时,它们的age
属性值都为类属性的初始值0。
Python 中的__new__和__init__的区别
【同】
二者均是Python面向对象语言中的函数,__new__比较少用,__init__则用的比较多。
【异】
__new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例对象,是个静态方法。
__init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值,通常用在初始化一个类实例的时候。是一个实例方法。
也就是: __new__先被调用,__init__后被调用,__new__的返回值(实例)将传递给__init__方法的第一个参数,然后__init__给这个实例设置一些参数。
在Python中可以使用os.getcwd()函数获得当前的路径。
我们都知道,使用python时,无论是使用第三方的模块(库),还是自己开发的模块,都需要先在代码中使用import来引入。对于初学者,经常会遇到的一个问题是在使用 import 时,Python 找不到相应的模块,于是编译器报 - ImportError错误。
那么,Python 如何知道在哪里搜索模块的路径呢?
当import某个模块时,解释器首先搜索具有该名称的内置模块,如果没有找到,将在变量 sys.path 给出的目录列表中搜索名为 模块名.py 的文件。
此处引用:
Python 模块搜索路径_搜索路径用的什么模块-CSDN博客
只要随机数种子seed相同,产生的随机数系列就相同。
如果 myArray2
是一个五行四列的数组,那么 myArray2[[2,4],3]
将会选取数组中第三行和第五行的第四个元素(因为索引是从0开始的)。所以,myArray2[[2,4],3]
将会返回一个包含两个元素的数组,这两个元素分别是 myArray2[2,3]
和 myArray2[4,3]
。在numpy库中,你可以通过这种方式方便地选取多维数组的子集。