python--类1

'''
    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)

# 对象可以动态的添加属性
#.对象.属性名 = 属性值  如果属性不存在,就是添加,如果存在就是修改属性值
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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值