【Python __init ___:这违反惯例吗?】教程文章相关的互联网学习教程文章

Python 类与对象 __init__()参数【代码】

创建类Person1 class Person: 2 def __init__(self, name, age): 3 self.name = name 4 self.age = age 5 pass在上诉的__init__()方法中,有name, age, 在对象实例化的时候就必须要传递两个参数,缺少一个参数都会报错:TypeError: __init__() missing 2 required positional arguments: name and age 给age设定一个默认值,在对象实例化的时候,可以不传递参数age,也可以传递一个就会替换18(给定...

python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument解决办法【代码】【图】

我是在使用bert==0.09的时候,遇到这个问题 原因: numpy和h5py版本兼容问题,网上说h5py 官方已修复合并到 master 分支,但是还没发新版,在发版之前可以用降级 numpy 的方法跳过这个问题。 所以我找到适合我的应用场景的一组版本,问题就解决了。 解决:pip3 install --upgrade h5py==2.9.0 pip3 install --upgrade numpy==1.14.2 # 备注:肯定有其它的版本配合,我这没有过多测试# 另:Linux下解决,mac下 仍然会有报错 bug还原...

Python-类和对象(__new__,__init__,classmethod)【代码】

class Singleton(object): def __new__(cls): # 关键在于这,每一次实例化的时候,我们都只会返回这同一个instance对象 if not hasattr(cls, instance): cls.instance = super(Singleton, cls).__new__(cls) return cls.instance class si():class_arg=a  def __init__(self):   self.obj=b   self.class_arg=c@classmethod def a(cls): return 1 def b(self): ...

Python:init.py文件和、__all__、import、__name__、__doc__【代码】【图】

有时候,很容易忽略一些看上去不起眼的小细节,可能人总是有那么点理所当然的想法。 就像init.py文件,是不是感觉像个熟悉的陌生人?~~~ 这里来浅析一下一些基础概念(都是左右各双下划线)。 1. __init__.py 文件:这个文件,就像一个标识符一样,用来表明一个文件夹是python包还是一般文件夹,如果文件夹中存在该文件,就是python包;可以试试pycharm直接建立package,就会发现刚建完就已经存在__init__.py文件了。 这个文件用处...

python __new__和__init__方法的区别

原文链接:https://blog.csdn.net/weixin_37579123/article/details/89515577 __new__方法:类级别的方法特性:1.是在类准备将自身实例化时调用,并且至少需要传递一个参数cls,此参数在实例化时由python解释器自动提供; 2.始终是类的静态方法,即使没有被加上静态方法装饰器; 3.必须要有返回值,返回实例化出来的实例;在自己实现__new__()时需要注意:可以return父类(通过super(当前类名,cls)).__new__出来的实例,或者直接是...

python-是否有理由不发送super().__ init __()而不是** kwds字典?【代码】

我昨天刚开始构建基于文本的游戏,作为学习Python的练习(我正在使用3.3).我说的是“基于文本的游戏”,但我的意思是,MUD不仅仅是您自己选择的冒险.无论如何,昨天我弄清楚如何使用super()处理继承和多重继承时,我感到非常兴奋,但是我发现传递参数的确使代码混乱,并需要处理许多小的散乱变量.此外,创建保存文件似乎有些噩梦. 因此,我想:“如果某些类层次结构只接受一个参数,一本字典,然后又将字典传递回去呢?”举一个例子,这里有两个...

python-如何在其元类的__init__方法期间将方法绑定到类?【代码】

最终编辑 我的问题是我试图将部分内容绑定到类.不知道我应该删除此问题还是更改其标题. 原始问题 我知道将方法绑定到其元类中的类的the “correct” way是将其添加到元类的__new__方法中的classdict参数中,并且通常,您可以通过简单地将实例方法分配给类来将实例方法绑定至类. 但是,在用例中,我需要在元类的__init__方法期间将方法绑定到类.问题是通常的分配方法不起作用.该函数已分配给该类,并且可以通过ClassName.function_name或...

Python:__ init__中的继承和默认值【代码】

我正在尝试使用通用的__init__值创建一个类,但是其子类具有默认值,如下所示:class Enemy:def __init__(self, difficulty, power, MaxHP, magic, MaxMP, speed, name):self.power = power + 2*difficultyself.HP = self.MaxHP = MaxHP + 5*difficultyself.magic = magic + 2* difficultyself.MP = self.MaxMP = MaxMP + 5*difficulty class Goblin(Enemy):def __init_(self, difficulty = 1, power = 1, MaxHP = 5, magic = 1, Max...

python-如何对同一名称空间执行第二次__init__.py执行【代码】

这是我的目录结构. |-- path1 | `-- mynms | |-- __init__.py | `-- app1 | |-- __init__.py | `-- foo.py |-- path2 | `-- mynms | |-- __init__.py | `-- app2 | |-- __init__.py | `-- bar.py `-- user.py文件内容:$cat user.py #!/usr/bin/pythonimport sys sys.path.append('path1') sys.path.append('path2')from mynms.app2.foo import foo from myn...

Python约定:我通常应该将超类称为__init__吗?【代码】

我读了最高评分为this question的答案,它说如果需要的话,我们应该调用超类的__init__,而不必.但是我的问题更多是关于惯例. 通常,我是否应该总是调用超类的“ __init__在我的类中” __init__,而不管我当前是否“需要”该方法中的功能?解决方法:一些类需要调用其__init__方法才能工作.他们使用其__init__方法设置所需的属性. 例:class one ():def __init__ (self):self.number = 20def show_number(self):return self.number如果从...

python-如何在C中调用tf.initialize_all_variables()?张量流【代码】

我是tensorflow的新手.顺便说一句,如何在C中执行操作,例如tf.initialize_all_variables()或优化程序返回的一些操作self.train_op = self.optimizer.apply_gradients(渐变)?我试过了init_all_vars_op = tf.initialize_variables(tf.all_variables(), name='init_all_vars_op') ... tf.train.write_graph(session.graph_def, 'models/', 'graph.pb', as_text=False)在python中,然后在C中:status = session->Run(inputs, {"init_all...

在Python中,如何避免在派生自其__new__中具有super()的类的类中两次调用__init__:【代码】

我是python的新手.不知何故__init__对于使用其他类派生的类,该类被两次调用super()我的问题是如何避免这种情况,因为那里的计算非常昂贵.class A(object):def __new__(cls, *args, **kwargs):print("Class A: __new__")obj = super(A, cls).__new__(cls) # super is used hereobj.__init__(*args, **kwargs)return objdef __init__(self, x):self.attrib = x+1class B(A):def __init__(self, x):print("Class B: __init__")self.pro...

Python sys.stdout无法用于init.d脚本【代码】

我有一个非常简单的问题.以以下内容开头的python脚本:import sys sys.stdout = open("server.out", 'w')如果我直接输入此命令到终端python start_server.py &它写入server.out文件.如果我输入服务tdserver start,所有init.d脚本所做的就是这样:python start_server.py &相同的命令,仅此而已.但是,在这种情况下,stdout不会写入到server.out中 为什么?没有进程对文件进行锁定,请使用ps -aux确认脚本已停止解决方法:如评论中所述:...

从父类扩展python 3中的__init__的正确方法【代码】

一般问题:完全像父类一样初始化子类,但添加单个属性的最简单/“最pythonic”的方法是什么? 我的具体问题:我想扩展(Urwid)Edit对象,使其包含单个附加属性my_attribute;我已经将原始签名复制到__init__和super().__ init__中,但是签名中有一些未定义的参数/常量(LEFT,SPACE),我不明白在父类中如何设置它们.以下是我的(中断)类定义和父init方法:class MyEdit(urwid.Edit):def __init__(self, my_attribute, caption="", edit_tex...

Python错误TypeError:__init __()恰好接受2个参数(给定1个)【代码】

我在Python中进行编程时遇到了有关需要2个参数且只有一个参数的错误.TypeError: __init__() takes exactly 2 arguments (1 given)我尝试添加其他参数和其他方式,但是我还没有找到使它工作的方法,该参数是类自我参数,我的代码如下所示.import sys, pygamepygame.init()size = width, height = 750, 500 backgroundColour = 23, 195, 74screen = pygame.display.set_mode((size), 0, 32)class NPC():npcList = []def GetNPCList(self...