python中关于创建类的一些小结
今天遇到了一个题目,关于python中创建类的一个简单问题,我顺便复习了一下python中关于类创建的问题。
题目:
python展示:
#! conda env
# -*- coding:utf-8 -*-
# Author : nishizzma
# File : Flower.py
"""
关于python类创建的一些学习与复习
"""
class Flower:
#初始数据类型定义,在3.6版本后好像已经不需要,不过这里还是可以提供大家一个数据类型,方便后期查看
__flowerName = ''
__petalNum = 0
__flowerPrice = 0.0
#初始化函数
def __init__(self,name,number,price):
#题目需要保证一个健壮性,所以这里进行了一个简单的判断,如果不满足条件,则需要重新调用
if number >= 0 and price >=0:
self.__flowerName = name
self.__petalNum = number
self.__flowerPrice = price
else:
print("输入数据有误,请重新输入")
name = str(input("请输入花名"))
number = int(input("请输入花瓣数量"))
price = float(input("请输入花的价格"))
#在定义类的函数时,如果需要进行内部调用,则需要加上前缀self
self.__init__(name, number, price)
#设置函数,同样需要保证健壮性
def setName(self):
name = input("请输入花的名称")
self.__flowerName = name
def setNum(self):
number = int(input("请输入花瓣数量"))
if number >= 0:
self.__petalNum = number
else:
print("输入有误,请重新输入")
self.setNum()
def setPrice(self):
price = float(input("请输入花的价格"))
if price >= 0:
self.__flowerPrice = price
else:
print("输入有误,请重新输入")
self.setPrice()
#检索函数,这里采用了一个format进行输出
def showInf(self):
print('花名:{0}\n花瓣数量:{1}\n花的价格:{2}\n'.format(self.__flowerName,self.__petalNum,self.__flowerPrice))
print("-------------------------------------------------")
def showName(self):
print(self.__flowerName+'\n')
#下面的转换只是为了对齐一下格式,所以转换成str类型
def showNum(self):
print(str(self.__petalNum)+'\n')
def showPrice(self):
print(str(self.__flowerPrice)+'\n')
if __name__ == '__main__':
name = str(input("请输入花名"))
number = int(input("请输入花瓣数量"))
price = float(input("请输入花的价格"))
flower = Flower(name,number,price)
flower.showInf()
flower.setName()
flower.showName()
flower.setNum()
flower.showNum()
flower.setPrice()
flower.showPrice()
flower.showInf()