python子类定义报错:TypeError: __init__() missing 1 required positional argument: ‘prilege‘

2023-10-26

在学习《Python编程:从入门到实践》中类这一章节,其中子类的案例代码如下:

class Car():
--snip--
class Battery():
"""一次模拟电动汽车电瓶的简单尝试"""
     def __init__(self, battery_size=70):
"""初始化电瓶的属性"""
        self.battery_size = battery_size
      def describe_battery(self):
"""打印一条描述电瓶容量的消息"""
        print("This car has a " + str(self.battery_size) + "-kWh battery.")
class ElectricCar(Car):
"""电动汽车的独特之处"""
    def __init__(self, make, model, year):
""" 初始化父类的属性,再初始化电动汽车特有的属性
"""
        super().__init__(make, model, year) 
        self.battery = Battery()

my_tesla = ElectricCar('tesla', 'model s', 2016)
print(my_tesla.get_descriptive_name())

于是我仿照案例写了如下代码:

class User():
    def __init__(self, first_name, last_name):
        self.fist_name = first_name
        self.last_name = last_name

    def describle(self):
        print("The uses\'s name is " + str(self.fist_name) + ' ' + str(self.last_name) + '.')

    def greet(self):
        print('Hello !' + str(self.fist_name) + ' ' + str(self.last_name) + '.')


class Privilege():
    def __init__(self, prilege):
        self.prilege = prilege

    def show_privilege(self):
        print("The privilege of the user is " + self.prilege)


class Admin(User):
    def __init__(self, first_name, last_name):
        User.__init__(self,first_name, last_name)
        self.prilege = Privilege()


people1 = Admin('hans', 'D')
people1.prilege.show_privilege()

 运行报错如下:

TypeError: __init__() missing 1 required positional argument: 'prilege'

报错原因:

定义将 类Privilege作为Admin属性 定义时没有传参!

而案例中不需要传参是因为定义 类Battery时,其类内部初始化了,没有额外参数的读入

改正后的代码如下:

class User():
    snip '''代码段同上'''

class Privilege():
    snip '''代码段同上'''


class Admin(User):
    def __init__(self, first_name, last_name,prilege):    '''读入参数:privilege'''
        User.__init__(self,first_name, last_name)
        self.prilege = Privilege(prilege)  '''此处传入''


people1 = Admin('hans', 'D','adding post')     '''加了一个'adding post'''
people1.prilege.show_privilege()

虽然引入了类的概念,但不能忘了函数调用时参数的引用、初始化,这些根本之道

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python子类定义报错:TypeError: __init__() missing 1 required positional argument: ‘prilege‘ 的相关文章

  • Python Numpy TypeError:输入类型不支持 ufunc 'isfinite'

    这是我的代码 def topK dataMat sensitivity meanVals np mean dataMat axis 0 meanRemoved dataMat meanVals covMat np cov meanRemov
  • 不要在异常堆栈中显示 Python raise-line

    当我在 Python 库中引发自己的异常时 异常堆栈将引发行本身显示为堆栈的最后一项 这显然不是一个错误 在概念上是正确的 但是当您在外部使用代码 例如作为模块 时 它会将重点放在对调试无用的东西上 有没有办法避免这种情况并强制 Pytho
  • 是否可以在 SQLAlchemy 中创建一个可以创建父记录的事件侦听器?

    有两个表 父表和子表 我想创建一个事件监听器 触发器 如果孩子没有父母 它可以创建父母 这就是我试图做的 class parent db Model tablename parent id db Column db Integer prim
  • 将 KB/MB/GB 等字符串解析为数值

    为了不发明自行车 我想知道是否有任何库能够将大小字符串 MB KB TB MiB KiB 等 的各种表示形式解析为基于数字字节的值 ActiveState Receipes 有一个示例here http code activestate c
  • 为什么我在 Python 中收到“连接被拒绝”错误? (插座)

    我是套接字新手 请原谅我完全缺乏理解 我有一个服务器脚本 server py usr bin python import socket import the socket module s socket socket Create a so
  • 在 AWS Elastic Beanstalk 中部署 Flask 应用程序

    当我部署 Flask 应用程序时 它显示成功 但是当我检索日志时 我看到错误 找不到 Flask 我的需求文件中有烧瓶 任何帮助 Sat Jan 11 06 51 50 503908 2020 error pid 3393 remote 1
  • PyKCS11 不可哈希列表

    我的 python 脚本旨在获取特定 so 库中插槽 令牌的详细信息 输出如下所示 Library manufacturerID Safenet Inc Available Slots 4 Slot no 0 slotDescription
  • Python - 如何将双引号附加到字符串并存储为新字符串?

    我正在使用 Python 2 6 并且想将双引号附加到字符串并将其存储为新的字符串变量 我不想打印它 但稍后在我的 python 脚本中使用它 例如 a apple b some function a gt b would be equal
  • scipy 的 curve_fit 函数的尺寸问题

    我对 python 中的曲线拟合以及一般的 python 都很陌生 目前 我正在尝试使用 scipy 中的 curve fit 模块来拟合 4 个光谱峰 简而言之 我的文本文件中有两列数据 所以我的第一步是将数据导入到两个数组中 一个包含
  • 在用户提交的正则表达式中查找捕获组

    我有一个 python 应用程序 需要处理用户提交的正则表达式 出于性能考虑 我想禁止捕获组和反向引用 我的想法是使用另一个正则表达式来验证用户提交的正则表达式不包含任何命名或未命名的组捕获 如下所示 def validate user r
  • 没有名为 objc 的模块

    我正在尝试将 cocoa python 与 Xcode 一起使用 但它总是会出现错误 Traceback most recent call last File main py line 10 in
  • 使用 pymongo 查询空字段

    我想使用 python 查询 mongo 中的空字段 但是它很难处理单词 null 或 false 它要么给我错误 它们在 python 中未定义 要么在 mongo 中搜索字符串 null 和 false 这两种情况我都不希望发生 col
  • 有没有更快的方法将数字转换为名称?

    以下代码定义了映射到数字的名称序列 它的设计目的是获取一个号码并检索一个特定的名称 该类通过确保名称存在于其缓存中来进行操作 然后通过索引到其缓存中来返回名称 问题在这 如何在不存储缓存的情况下根据数字计算出名称 该名称可以被认为是一个以
  • 插入失败“OperationalError:没有这样的列”

    我尝试使用我尝试修复的姓名和电话创建一个数据库 但它会随时向我重播 File exm0 py line 14 in
  • numpy.polyfit 没有关键字“cov”

    我试图使用 polyfit 来找到一组数据的最佳拟合直线 但我还需要知道参数的不确定性 所以我也想要协方差矩阵 在线文档建议我写 polyfit x y 2 cov True 但这给出了错误 类型错误 polyfit 得到了意外的关键字参数
  • 嵌套 for 循环以列出具有不同“if”条件的理解

    我正在尝试将此嵌套循环转换为列表理解 但我不确定是否可能 因为 tmp 列表中的项目可能有不同的值 这是最好的方法吗 谢谢 final for a in range 13 1 for b in range 0 4 for c in rang
  • Mac OS 上的 pybluez 安装错误

    我尝试安装pybluez使用以下命令 pip install pybluez sudo easy install pybluez 但对于这两个命令我最终都会出错 环境 Mac OSX 10 9 1 Python 2 7 点日志 cc fno
  • Scrapy文件下载如何使用自定义文件名

    For my scrapy http doc scrapy org index html我目前正在使用的项目文件管道 https doc scrapy org en latest topics media pipeline html scr
  • 如何在Python中检查元组是否包含元素?

    我试图找到可用的方法 但找不到 没有contains 我应该使用index 我只想知道该项目是否存在 不需要它的索引 You use in if element in thetuple whatever you want to do
  • Python list.extend() 是保序的吗?

    我想知道扩展函数是否保留两个列表中的顺序 gt gt list 1 2 3 gt gt list extend 4 5 gt gt list 1 2 3 4 5 扩展总是这样工作吗 Yes list extend just extends给

随机推荐

  • Xilinx FFT IP核详解(二)

    引言 本文我们继续介绍Xilinx FFT IP核 主要对IP核的接口进行详细说明 并对IP核信号各个通道接口数据格式进行详细介绍 方便我们进行FPGA软件设计 本文介绍以下接口信号 时钟信号 复位信号 事件信号 AXI4 Stream信号
  • 如果将PC电脑变成web服务器:使用python3监测公网IP实现DDNS

    如果将PC电脑变成web服务器 使用python3监测公网IP实现DDNS 上一篇文章中 我们使用Nignx的反向代理和端口转发实现域名访问家里主机上的web了 由于家庭宽带基本都是动态IP 每当你重启一次光猫 IP地址就会变化一次 当光猫
  • java实现手机号验证码登录功能,并限制同一个IP10分钟以内最多发3次。保姆级教程

    第一步 引入依赖
  • Microsoft 登陆微软账号一直加载不进去 解决方案整理

    今天我登陆visual studio的时候发现到期了 要我登陆Microsoft账号 试了很久 之前其实就发现了我登陆微软账户会很卡 无论是OneNote还是其他微软的软件都卡 还进不去微软商店 加速器也没有用 我找了很多方法 不是每一种都
  • Hive(6) Hive的DDL语句详解-创建数据库以及Hive表的分类和创建

    Hive 2 DDL语句 DDL 数据定义语言 数据库操作 创建数据库 创建数据库 create database if not exists lt 表名 gt comment lt 表的说明 gt localtion lt 路径 gt w
  • Eclipse可以查看源码的插件步骤

    Eclipse可以查看源码的插件步骤 一 点击window Eclipse可以查看源码的插件步骤 图片 带尺寸的图片 二 点击preference 进入一下页面 三 点击java 再点击Installed JREs 再双击jdk1 8 或D
  • 服务器ME位置,me配置服务器前端文件路径

    me配置服务器前端文件路径 内容精选 换一换 AOM支持虚机 这里的虚机指操作系统为Linux的弹性云服务器或裸金属服务器 日志采集 即采集您自定义的日志文件并展现在AOM界面中 以供您检索 使用该功能前首先要配置日志采集路径 配置方法详见
  • Day16-20 Python语言进阶

    Python语言进阶 重要知识点 生成式 推导式 的用法 prices AAPL 191 88 GOOG 1186 96 IBM 149 24 ORCL 48 44 ACN 166 89 FB 208 09 SYMC 21 29 用股票价格
  • 网络编程总结和正则表达式

    今天主要学习了网络编程和正则表达式 网络编程概述 Java是 Internet 上的语言 它从语言级上提供了对网络应用程 序的支持 程序员能够很容易开发常见的网络应用程序 Java提供的网络类库 可以实现无痛的网络连接 联网的底层 细节被隐
  • 2020最佳mac端app新鲜出炉!今年,你发现了哪些好软件?

    虽然2020年对于整个世界来说都是多舛的一年 但不管怎么说生活都在继续 而进入十二月之后 各大年度榜单也逐渐出现在了大家的视野里 今天为大家总结了12款2020年度最佳mac app 有了它们的加成 mac的使用体验更加流畅不说 生产力也能
  • C#调用带结构体指针的C Dll的方法

    在C 中调用C C 类的DLL的时候 有时候C的接口函数包含很多参数 而且有的时候这些参数有可能是个结构体 而且有可能是结构体指针 那么在C 到底该如何安全的调用这样的DLL接口函数呢 本文将详细介绍如何调用各种参数的方法 一 调用接口仅含
  • Flask电影网站项目

    1 开发环境搭建 1 1 Windows环境 下载Python 下载PyCharm 下载virtualenv 下载MySQL 可以安转一个数据库GUI 1 2 Linux环境 下载VMware Workstation Pro 下载ubunt
  • Redhat/CentOS Linux 进入单用户模式

    以 CentOS 7 9 和 Redhat 8 2 为例进行操作 因为CentOS是Redhat的发行版 所以同版本号界面和操作是一样的 CentOS 7 9 开机在 grub 引导界面时 按下 e 键进入编辑模式 找到 linux16 这
  • Ubuntu安装软件步骤

    Ubuntu安装软件步骤 sudo apt get update sudo apt get install flex bison gperfbuild essential curl zlib1g dev g multilib g 4 4 m
  • Source Insight 4.0 下载 安装 配置

    目录 下载地址 安装 打开 试用 导入工程 代码 1 新建一个项目 project 2 填充项目名及代码路径 3 这个直接点OK 4 导入项目文件 5 重建一下项目 6 打开项目文件 project Files 修改source insig
  • CS162 13-17 虚拟内存

    起源 为啥我们需要虚拟内存 需求是啥 可以给程序提供一个统一的视图 比如多个程序运行同一个代码段的话 同一个kernel 就可以直接共享 cpu眼里的虚拟内存 无限内存的假象 设计迭代过程 为啥这样设计 一个迭代过程 用上下界来做 缺点 还
  • Basic Level 1065 单身狗 (25分)

    题目 单身狗 是中文对于单身人士的一种爱称 本题请你从上万人的大型派对中找出落单的客人 以便给予特殊关爱 输入格式 输入第一行给出一个正整数 N 50 000 是已知夫妻 伴侣的对数 随后 N 行 每行给出一对夫妻 伴侣 为方便起见 每人对
  • cv2.error: OpenCV(4.6.0) :-1: error: (-5:Bad argument) in function ‘seamlessClone‘

    Can t parse p Sequence item with index 0 has a wrong type 1 软件环境 2 问题描述 3 解决方法 4 结果预览 1 软件环境 Windows10 教育版64位 Python 3 6
  • 函数式接口

    接口 package cn dali5 code01 函数式接口 有且仅有一个抽象方法的接口 可以有其他的方法 默认 静态 私有 函数式接口 适用于函数式编程场景的接口 Java中函数式编程的提现就是lambda表达式 所以函数式接口就是可
  • python子类定义报错:TypeError: __init__() missing 1 required positional argument: ‘prilege‘

    在学习 Python编程 从入门到实践 中类这一章节 其中子类的案例代码如下 class Car snip class Battery 一次模拟电动汽车电瓶的简单尝试 def init self battery size 70 初始化电瓶的