从 class 方法打印时如何打印列表(不是整个列表)中的 'particular' 元素,不带括号和引号?
How to print a 'particular' element in a list (not entire list), without brackets and quotes, while printing from class method?
我正在尝试使用以下代码从列表中打印“特定”元素。
在打印 class 实例变量 self.Engine
时,输出 ['Merlin']
与引号和括号一起打印。我怎样才能打印出没有引号和括号的字符串?
代码如下:
class Rockets(object):
Stages = "2 Stage"
def __init__ (self,Rocket_name,Company_Name, CEO, Headquarters, Established):
self.Rocket_name = Rocket_name
self.Company_Name = Company_Name
self.CEO = CEO
self.Headquarters = Headquarters
self.Established = Established
self.Engine=[]
def add_engine(self,Engine_name):
self.Engine.append(Engine_name)
def Rocket_Details(self):
return(print("Rocket:",self.Rocket_name,"\nEngine:",self.Engine,"\nStages:",self.Stages,"\nCompany Name:",self.Company_Name,"\nCEO:",self.CEO,"\nHeadquarters:",self.Headquarters,"\nEstablished:",self.Established))
Falcon9 = Rockets("Flacon9","Space Exploration Technologies Corp.","Elon Musk","Hawthorne, California",2002)
Falcon9.add_engine('Merlin')
Falcon9.Rocket_Details()
输出:
Rocket: Flacon9
Engine: ['Merlin']
Stages: 2 Stage
Company Name: Space Exploration Technologies Corp.
CEO: Elon Musk
Headquarters: Hawthorne, California
Established: 2002
您可以使用 str.join
。例如:
class Rockets(object):
Stages = "2 Stage"
def __init__(
self, Rocket_name, Company_Name, CEO, Headquarters, Established
):
self.Rocket_name = Rocket_name
self.Company_Name = Company_Name
self.CEO = CEO
self.Headquarters = Headquarters
self.Established = Established
self.Engine = []
def add_engine(self, Engine_name):
self.Engine.append(Engine_name)
def Rocket_Details(self):
return print(
"Rocket:",
self.Rocket_name,
"\nEngine:",
" ".join(self.Engine), # <--- you can use str.join
"\nStages:",
self.Stages,
"\nCompany Name:",
self.Company_Name,
"\nCEO:",
self.CEO,
"\nHeadquarters:",
self.Headquarters,
"\nEstablished:",
self.Established,
)
Falcon9 = Rockets(
"Flacon9",
"Space Exploration Technologies Corp.",
"Elon Musk",
"Hawthorne, California",
2002,
)
Falcon9.add_engine("Merlin")
Falcon9.Rocket_Details()
打印:
Rocket: Flacon9
Engine: Merlin
Stages: 2 Stage
Company Name: Space Exploration Technologies Corp.
CEO: Elon Musk
Headquarters: Hawthorne, California
Established: 2002
class Rockets(object):
Stages = "2 Stage"
def __init__ (self,Rocket_name,Company_Name, CEO, Headquarters, Established):
self.Rocket_name = Rocket_name
self.Company_Name = Company_Name
self.CEO = CEO
self.Headquarters = Headquarters
self.Established = Established
self.Engine=['Unknown'] # you can replace this with empty string ['']
def add_engine(self,Engine_name):
self.Engine.append(Engine_name)
def Rocket_Details(self):
return(print("Rocket:",self.Rocket_name,"\nEngine:",self.Engine[-1],"\nStages:",self.Stages,"\nCompany Name:",self.Company_Name,"\nCEO:",self.CEO,"\nHeadquarters:",self.Headquarters,"\nEstablished:",self.Established))
我猜您之所以将引擎列为列表是因为您希望引擎会随着时间的推移而发生变化。如果这是逻辑,那么上面的代码将输出最近分配的引擎名称。您可以再添加一个属性,例如 self.All_Engines,它会输出火箭所用发动机的完整列表。
我正在尝试使用以下代码从列表中打印“特定”元素。
在打印 class 实例变量 self.Engine
时,输出 ['Merlin']
与引号和括号一起打印。我怎样才能打印出没有引号和括号的字符串?
代码如下:
class Rockets(object):
Stages = "2 Stage"
def __init__ (self,Rocket_name,Company_Name, CEO, Headquarters, Established):
self.Rocket_name = Rocket_name
self.Company_Name = Company_Name
self.CEO = CEO
self.Headquarters = Headquarters
self.Established = Established
self.Engine=[]
def add_engine(self,Engine_name):
self.Engine.append(Engine_name)
def Rocket_Details(self):
return(print("Rocket:",self.Rocket_name,"\nEngine:",self.Engine,"\nStages:",self.Stages,"\nCompany Name:",self.Company_Name,"\nCEO:",self.CEO,"\nHeadquarters:",self.Headquarters,"\nEstablished:",self.Established))
Falcon9 = Rockets("Flacon9","Space Exploration Technologies Corp.","Elon Musk","Hawthorne, California",2002)
Falcon9.add_engine('Merlin')
Falcon9.Rocket_Details()
输出:
Rocket: Flacon9
Engine: ['Merlin']
Stages: 2 Stage
Company Name: Space Exploration Technologies Corp.
CEO: Elon Musk
Headquarters: Hawthorne, California
Established: 2002
您可以使用 str.join
。例如:
class Rockets(object):
Stages = "2 Stage"
def __init__(
self, Rocket_name, Company_Name, CEO, Headquarters, Established
):
self.Rocket_name = Rocket_name
self.Company_Name = Company_Name
self.CEO = CEO
self.Headquarters = Headquarters
self.Established = Established
self.Engine = []
def add_engine(self, Engine_name):
self.Engine.append(Engine_name)
def Rocket_Details(self):
return print(
"Rocket:",
self.Rocket_name,
"\nEngine:",
" ".join(self.Engine), # <--- you can use str.join
"\nStages:",
self.Stages,
"\nCompany Name:",
self.Company_Name,
"\nCEO:",
self.CEO,
"\nHeadquarters:",
self.Headquarters,
"\nEstablished:",
self.Established,
)
Falcon9 = Rockets(
"Flacon9",
"Space Exploration Technologies Corp.",
"Elon Musk",
"Hawthorne, California",
2002,
)
Falcon9.add_engine("Merlin")
Falcon9.Rocket_Details()
打印:
Rocket: Flacon9
Engine: Merlin
Stages: 2 Stage
Company Name: Space Exploration Technologies Corp.
CEO: Elon Musk
Headquarters: Hawthorne, California
Established: 2002
class Rockets(object):
Stages = "2 Stage"
def __init__ (self,Rocket_name,Company_Name, CEO, Headquarters, Established):
self.Rocket_name = Rocket_name
self.Company_Name = Company_Name
self.CEO = CEO
self.Headquarters = Headquarters
self.Established = Established
self.Engine=['Unknown'] # you can replace this with empty string ['']
def add_engine(self,Engine_name):
self.Engine.append(Engine_name)
def Rocket_Details(self):
return(print("Rocket:",self.Rocket_name,"\nEngine:",self.Engine[-1],"\nStages:",self.Stages,"\nCompany Name:",self.Company_Name,"\nCEO:",self.CEO,"\nHeadquarters:",self.Headquarters,"\nEstablished:",self.Established))
我猜您之所以将引擎列为列表是因为您希望引擎会随着时间的推移而发生变化。如果这是逻辑,那么上面的代码将输出最近分配的引擎名称。您可以再添加一个属性,例如 self.All_Engines,它会输出火箭所用发动机的完整列表。