- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在自学 oop 概念。所以我的学生类里有一台内部类(class)笔记本电脑。我的学生类(class)保存学生信息,笔记本电脑类(class)保存他们的笔记本电脑配置。我通过学生对象(名称、rollno、品牌、cpu、ram)传递所有必需的参数。我有一种方法可以显示所有这些信息已通过。但是意想不到的事情正在发生..
class Student:
def __init__(self, name, rollno, brand, cpu, ram):
self.name = name
self.rollno = rollno
self.lap = self.Laptop(brand, cpu, ram)
def show(self):
print(self.name, self.rollno, self.lap.show())
class Laptop():
def __init__(self, brand, cpu, ram):
self.brand = brand
self.cpu = cpu
self.ram = ram
def show(self):
print(self.brand, self.cpu, self.ram)
s1 = Student('Mayank', '1654302036', 'H.P', 'i3', '4gb')
s1.show()
我的输出是..
H.P i3 4gb
Mayank 1654302036 None
我不明白为什么首先显示我的笔记本电脑的详细信息。
最佳答案
self.lap.show()
在调用 Student 中的
开始。print
之前被评估(并调用 print
本身)。显示
通常,您不会在代码中使用“deep”print
;而是返回一个 str
,让 else 决定是否打印它。
class Student:
def __init__(self, name, rollno, brand, cpu, ram):
self.name = name
self.rollno = rollno
self.lap = self.Laptop(brand, cpu, ram)
def show(self):
return "%s %s %s" % (self.name, self.rollno, self.lap.show())
class Laptop():
def __init__(self, brand, cpu, ram):
self.brand = brand
self.cpu = cpu
self.ram = ram
def show(self):
return "%s %s %s" % (self.brand, self.cpu, self.ram)
s1 = Student('Mayank', '1654302036', 'H.P', 'i3', '4gb')
print(s1.show())
但是,如果您确实有充分的理由让 show
立即调用 print,请不要将 self.lap.show()
作为参数传递给 print。打印首先是学生信息,然后调用lap.show()
。
def show(self):
print(self.name, self.rollno)
self.lap.show()
关于 python : Something unexpected is happening in my code. ...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57442932/
此处给出了基本的 Watir WebDriver 命令: http://watirwebdriver.com/web-elements/ 在大多数情况下,作者使用 :something => 'som
这里给出了基本的 Watir WebDriver 命令: http://watirwebdriver.com/web-elements/ 在大多数情况下,作者使用:something => 'some
我可以发誓我看到一个对象是以这种方式创建的。 somethingelse 有什么作用? 最佳答案 从字面上看,可能类 JSomething 有一个名为 somethingelse 的字段,类型为 JS
我正在阅读一些代码,我看到了一个如下所示的比较: a = b = c 看到在 Javascript 中搜索相等或比较如何产生补救结果,有人愿意解释发生了什么吗? 编辑:这些都是我们在这里讨论的所有对象
这个问题在这里已经有了答案: Is there a "null coalescing" operator in JavaScript? (19 个回答) 关闭 4 年前。 快速提问。我可以用更短的方
我正在尝试为我的网上商店做一个过滤器。我有以下查询 $column = mysqli_query($link, "SELECT brand FROM shields WHERE brand=".$br
我正在尝试将 json 文件映射到 mysql 数据库,请参阅 undefined index Name对于代码 我认为的问题是第三个条目中的任何一个元素都没有值,但有一个名为 aws:autosca
这个问题已经有答案了: Question mark and colon in JavaScript (8 个回答) 已关闭 5 年前。 我从 https://github.com/andrewgodw
我们知道编程语言中的后增量和前增量。据我所知,后增量意味着为下一条语句增加值。所以,something++ 等同于 something = something + 1,不是吗? 但是当 somethi
我有两个结构非常相似的表。 Universidades nombre | contenido | becas | fotos etc etc etc Internados nombre | todo
所以我有3张 table , Companies (company_id, company_name) Stock_Exchanges(stock_exchange_id, stock_exchang
我刚刚开始浏览 backbone fundamentals并且不太明白这里发生了什么: this.$input = this.$('#new-todo'); 有人可以给我概述/分割这实际上是做什么的吗
/*/ comment here do some thing. /*/ do some thing. //*/ 为什么人们会这样写代码?这是一个好的做法吗? 最佳答案 它通常只在暂时测试某些东西时使用
我正在查看一些微 Controller C 头文件,并且有这样的代码: #define OSCCONL OSCCONL extern volatile uint8_t OSCCONL __attrib
在 :contains jquery 调用中实现 OR 语句的最佳方法是什么? 谢谢 最佳答案 唯一的办法就是放两个 together : $('a:contains(b), a:contains(c
我有几个表需要连接。这些表是: 玩家 名字 姓氏 性别 location_id (其他不相关的列) 和 score_entries 得分 日期时间 玩家编号 (其他不相关的列) 我需要根据 playe
这个问题已经有答案了: Difference between single quotes and double quotes in Javascript [duplicate] (6 个回答) 已关闭
这是一段代码: if resp.email is None or resp.email == "": 我认为以下内容更清楚: if not resp.email: 第一个选项比第二个选项有什么优势吗?
我遇到了 this answer张贴者建议 的简写 if(typeof MyNamespace === 'undefined'){ var MyNamespace = {}; } 是 var
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 4年前关闭。 Improve t
我是一名优秀的程序员,十分优秀!