Python中如何拼接类的数据属性?(避免直接字符串拼接写法)
不用直接拼接实现Phone类属性格式化的几种方案
给你几个替代直接用+拼接的实现方式:
封装成类方法
把拼接逻辑封装到Phone类内部,既符合面向对象的封装原则,外部调用也更简洁:class Phone: def __init__(self, brand, name): self.brand = brand self.name = name def get_formatted_info(self): return f"{self.brand}; {self.name}" phone = Phone("apple", "iphone3") phoneData = phone.get_formatted_info()使用f-string格式化
Python中最简洁易读的字符串写法,比+拼接更优雅直观:phoneData = f"{phone.brand}; {phone.name}"利用str.join()方法
适合需要拼接多个属性的场景,扩展性更强,把属性放入列表后用分隔符连接:phoneData = "; ".join([phone.brand, phone.name])重写__str__方法
如果这个格式化后的字符串是对象的标准文本表示,重写__str__后可以直接通过str(phone)获取结果:class Phone: def __init__(self, brand, name): self.brand = brand self.name = name def __str__(self): return f"{self.brand}; {self.name}" phone = Phone("apple", "iphone3") phoneData = str(phone)
内容的提问来源于stack exchange,提问作者fqv572
相关产品推荐
相关产品推荐

