python基础学习 day12---面向对象

'''
面向对象:
  属性:
     公有属性,私有属性(__开头的)
  方法:
      实例方法(self)
      构造方法 __init__(self) ---初始化
      一般我们将需要一开始传递进入类的参数放到这里,在实例化一个对象的时候需要传递

'''

# class A():
#     def fool(self):
#         print('xxxxx')
# a = A()
#
# class A():
#     def __init__(self):
#         print('xxxxx')
# b = A()  # 在实例化对象时,会自动调用__init__函数

# 初始化函数的操作
# class People():
#     def __init__(self,name,age,sex):
#         self.n = name
#         self.a = age
#         self.s = sex
#     def info(self):
#         print(f'姓名为{self.n},年龄为{self.a},性别是{self.s}的朋友向你问好')
#
# p1 = People('张三',28,'男')  # 类使用了初始化函数,在实例化对象的时候就需要将参数传入
# p1.info()

'''
面向对象的方法:
  实例化方法:def定义的(self),比较常用
  类方法:
     使用修饰器来修饰@classmethod,方法里第一个传参为cls,里层通过cls.xxx来调用变量
  静态方法:
     就是一个单纯的函数,需要修饰器来修饰,@staticmethod,没有固定第一个的参数
     
'''

# class People():
#     name = '张三'
#     def get1_name(self,a):
#         self.a = a
#         print(f'实例化方法调用{self.name}')
#     @classmethod
#     def get2_name(cls):
#         print(f'姓名为{cls.name}')
#         # print(f'姓名为{cls.a}')  # 类方法不能调用实例变量
# p1 = People()
# p1.get2_name()
# People.get2_name()  # 类方法,可以通过类直接调用
# # People.get1_name()   # 实例方法不能通过类直接调用
# p1.get1_name(10)
# p1.get2_name()

# 使用实例化方法,类方法操作
#
# class A:
#     a1 = 'test1'
#     @classmethod
#     def fool(cls,c):
#         cls.a = c
#     @classmetho
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以给你提供一个简单的示例代码,用于实现一个课程表的功能。 ```python class Course: def __init__(self, course_name, course_time): self.course_name = course_name self.course_time = course_time class Schedule: def __init__(self): self.schedule = {} def add_course(self, day, course_name, course_time): if day not in self.schedule: self.schedule[day] = [] self.schedule[day].append(Course(course_name, course_time)) def get_schedule(self): for day, courses in self.schedule.items(): print(day) for course in courses: print("\t", course.course_time, course.course_name) # 示例用法 my_schedule = Schedule() my_schedule.add_course("Monday", "Math", "9:00-10:30") my_schedule.add_course("Monday", "Science", "11:00-12:30") my_schedule.add_course("Tuesday", "English", "10:00-11:30") my_schedule.get_schedule() ``` 这个示例代码中,我们定义了两个类 `Course` 和 `Schedule`。`Course` 类表示一个具体的课程,包括课程名称和上课时间;`Schedule` 类则表示一个课程表,其中包含了每天的课程安排。在 `Schedule` 类中,我们定义了 `add_course` 和 `get_schedule` 两个方法,分别用于添加课程和输出课程表。 在示例中,我们先创建了一个 `Schedule` 对象 `my_schedule`,然后通过 `add_course` 方法添加了几个课程,最后调用 `get_schedule` 方法输出了整个课程表。输出结果如下: ``` Monday 9:00-10:30 Math 11:00-12:30 Science Tuesday 10:00-11:30 English ``` 你可以根据自己的需要修改这个示例代码,添加更多的功能和属性,来实现一个更完整的课程表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值