''' 1.声明一个类:花类 1.1 花类属性:颜色、花季、名称、花语、花瓣数 1.2 花类功能:泡茶、洗澡、是否爱我(花瓣数)、清新空气 创建花对象: rose = Flower('红色', '5-9月', '玫瑰', '爱情', 21) rose.泡茶() rose.是否爱我() 判断花瓣数是奇数,输出不爱我,是偶数,输出爱我 2.声明一个类:犬类 2.1 犬类属性:颜色、品种、名称、犬龄 2.2 犬类行为方法:导航、寻物、搜捕、拆房子。。。。 创建对象 dog = Dog('金色', '金毛', '小七', 1.5) 执行函数..... ''' class Flower(object): # 类变量 total = 0 # 可以通过初始化函数 给对象添加属性 # init初始化函数,不需要手动调用,在创建该类对象的时候,会自动调用这个函数 def __init__(self,color,name,hy,number): self.color = color self.name = name self.hy = hy self.number = number # 声明私有属性 使用__属性名 self.__city = '郑州' # 写一个函数,用来获取私有属性 def get_city(self): return self.__city # 写一个函数用来设置私有属性值 def set_city(self,value): self.__city = value # 对象函数 def is_love(self): # 判断花瓣奇偶数 if self.number %2 == 0: print('你不爱我') else: print('我爱你') # 对象名 = 类名(参数1,参数2.....) rose = Flower('红色','玫瑰','爱情',21) # 对象调用函数 rose.is_love() # 类调用对象函数,需要将一个对象作为参数传入对象函数中 Flower.is_love(rose) # 对象可以动态的添加属性 #1.对象.属性名 = 属性值 如果属性不存在,就是添加,如果存在就是修改属性值 rose.money = 399 rose.number = 22 print(rose.money) print(rose.number) # 2.setattr(object,name,value)函数,也可以添加\修改属性 setattr(rose,'date','5-9月') setattr(rose,'money',299) print(rose.date) print(rose.money) # 获取对象的属性值 name = rose.name print(name) # getattr(object,name,default) 获取对象的属性值 # 即使获取的属性不存在,也可以给一个默认值 date = getattr(rose,'date','全年') print(date) # 删除对象的属性 del rose.date # delattr(object,name)删除对象属性 delattr(rose,'money') # hasattr()判断对象是否拥有某个属性 # 如果有属性 返回True rs = hasattr(rose,'name') print(rs) # 实际上在这做的是给对象添加了一个total属性 rose.total = 100 Flower.total = 1000 print(Flower.total) # rose获取的是自己的total属性值 print(rose.total) # 在类生命的外部,无法访问私有属性 # 通过调用函数获取私有属性值 city = rose.get_city() print(city) # 设置私有属性值 # 这种写法是给rose添加了一个新的属性,属性名叫__city,但是这个属性不是私有属性 # rose.__city = '南京' # 调用函数设置私有属性之 rose.set_city('南京') city = rose.get_city() print(city)
python--类1
最新推荐文章于 2022-12-18 16:32:57 发布