json - 如何正确保存和读取类参数?
问题描述
我想实现将字符保存到 json 文件,但我不知道以后如何正确读取它。你能告诉我如何正确地做吗?
class Hero:
def __init__(self, name: str, hp: int, damage: int, arch_spw: int = 0):
self.__name = name
self.__hp = hp
self.__hp_for_restore = hp
self.__damage = damage
self.__superpower_archer = arch_spw
.........
class Mage(Hero):
def __init__(self, *args, **kwargs):
super().__init__(*args)
self.__lifestill = round(uniform(0.3, 0.7), 2)
我正在尝试这样做
mage = Mage("Mage", 100 + randint(0, 50), 25 + randint(0, 20))
pprint(mage.__dict__)
mage2 = Mage(mage.__dict__)
pprint(mage2.__dict__)
但它不起作用,我得到了错误
{'_Hero__damage': 25,
'_Hero__hp': 125,
'_Hero__hp_for_restore': 125,
'_Hero__name': 'Mage',
'_Hero__superpower_archer': 0,
'_Mage__lifestill': 0.51}
Traceback (most recent call last):
File "C:\Users\oleg.korshunov\Desktop\rpgsagapython\saga\main.py", line 9, in <module>
mage2=Mage(mage.__dict__)
File "C:\Users\oleg.korshunov\Desktop\rpgsagapython\saga\characters\mage.py", line 7, in __init__
super().__init__(*args)
TypeError: Hero.__init__() missing 2 required positional arguments: 'hp' and 'damage'
Process finished with exit code 1
解决方案
推荐阅读
- react-native - 可以在 React Native 库中加载 .XIB 或 Storyboard 吗?
- python - MacO 上的证书验证失败
- angular - 在 nativescript angular 中,component.ts 和 html 上的变量的双重绑定在某些页面中不起作用。(虽然仅在登录页面中工作)
- angular - Angular 7 Reactive Form Builder,自定义交叉验证器不起作用
- python - Keras网络训练速度下降
- cordova - ionic 3 Location Accuracy Get Error Object(...) 不是函数
- javascript - 使用正则表达式重命名对象数组的键
- java - 字节码中的内部 kotlin 修饰符是什么?
- c++ - 如何正确使用矩阵进行数学运算以进行 opengl 转换?
- android - RecyclerView 在项目插入时显示错误的元素