我是一个22年8月加入享学课堂的学生,主要学习python基础和爬虫课程,学到现在,发现以前的学习知识容易忘记,听了老师的建议之后,决定在CSDN写博客,可以复习自己学过的知识,今天分享类和对象学习了什么。
1 类和对象介绍
类是什么,说白了就是对现实中某个事物的模拟,比如花、草、人等,而这些事物都有他们自己的属性和动作,也可以用类来模拟,比较抽象。对象则是对类的实体化,用来具体表现,这些事物到底有哪些属性和动作,下面说说怎么使用类和对象。
2 类
Python定义类是通过class
关键字,下面模拟小狗,每条小狗都有名字和年龄属性, 并且有被命令是蹲下和打滚的动作。
class Dog: #1
"""一次模拟狗的简单尝试"""
def __init__(self, name, age): #2
"""初始化属性age和name"""
self.name = name #3
self.age = age
def sit(self): #4
"""模拟小狗被命令时蹲下"""
print(self.name.title() + "is now sitting")
def roll_over(self):
"""模拟小狗被命令时打滚"""
print(self.name.title() + "rolled over")
# 1 我们定义了一个名为Dog的类,根据约定,在python定义类需要将首字母大写
# 2 方法__init__是一个初始化类属性的方法
# 3 sit,包括下面的roll_over是类方法,用来描述类的动作
3 对象
上面我们定义一个Dog类,下面我们用这个类实例化一个小狗,代码如下所示
my_dog = Dog('willie', 6) # 1
print(my_dog.name) # 2
print(my_dog.age)
my_dog.sit() # 3
my_dog.roll_over()
# 1 这里实例化了Dog类,传入了willie(name)和6(age)两个参数,实例对象为my_dog
# 2 实例化对象之后,就可以访问它的属性,方式为实例对象.属性
# 3 实例化对象之后,也可以使用相应的方法,方式为实例对象.方法
关于类和对象的简单介绍就到这,下面分享一下作业,要求为
1)定义名为MyTime(我的时间)的类 2)其中应有三个实例变量 时hour 分minute 秒second 3)对时分秒进行初始化,写入__init__()中 4) 定义方法get和set方法,get方法获取时间,set可以设置时间 5) 调用set设置一个时间 调用get输出时间
从要求看,跟我们上面的模拟的小狗类基本类似,套用一下,代码如下:
class MyTime:
def __init__(self, hour=0, minute=0, second=0):
self.hour = hour
self.minute = minute
self.second = second
def get(self):
return print(f'时间是{self.hour}时{self.minute}分{self.second}秒')
def set(self, hour, minute, second):
self.hour = hour
self.minute = minute
self.second = second
mytime = MyTime()
mytime.set(8, 22, 36)
mytime.get()
mytime.get()的结果为时间是8时22分36秒