今日办完公事参观仪征市枣林湾世界园艺博览会,中国以及世界的各类展馆给我留下了深刻的印象,由于旅游前未查阅资料收集数据,旅行匆忙和潦草了些,这几天后需要查阅相关资料作为补充,写游记作为总结。
午餐和晚餐潦草了点,今日步行时间过长因此晚上不出门跑步,总结一天后早些休息。
蓝桥云课编程继续学习总结
类
类的定义
对象初始化
实验安排如下:
定义简单的类
init 方法
Python 中的继承
多继承
删除对象
属性读取方法
@property 装饰器
代码:
#声明类
>>> class MyClass(object):
... """A simple example class"""
... i = 12345
... def f(self):
... return 'hello world'
image.png
>>> class Complex:
... def __init__(self, realpart, imagpart):
... self.r = realpart
... self.i = imagpart
...
>>> x = Complex(3.0, -4.5)
>>> x.r, x.i
(3.0, -4.5)
类的继承
image.png
#!/usr/bin/env python3
class Person(object):
"""
返回具有给定名称的 Person 对象
"""
def __init__(self, name):
self.name = name
def get_details(self):
"""
返回包含人名的字符串
"""
return self.name
class Student(Person):
"""
返回 Student 对象,采用 name, branch, year 3 个参数
"""
def __init__(self, name, branch, year):
Person.__init__(self, name)
self.branch = branch
self.year = year
def get_details(self):
"""
返回包含学生具体信息的字符串
"""
return "{} studies {} and is in {} year.".format(self.name, self.branch, self.year)
class Teacher(Person):
"""
返回 Teacher 对象,采用字符串列表作为参数
"""
def __init__(self, name, papers):
Person.__init__(self, name)
self.papers = papers
def get_details(self):
return "{} teaches {}".format(self.name, ','.join(self.papers))
person1 = Person('Sachin')
student1 = Student('Kushal', 'CSE', 2005)
teacher1 = Teacher('Prashad', ['C', 'C++'])
print(person1.get_details())
print(student1.get_details())
print(teacher1.get_details())
总结:
怎样在 Student 类和 Teacher 类中调用 Person 类的 init 方法。
在 Student 类和 Teacher 类中重写了 Person 类的 get_details() 方法。
因此,当调用 student1 和 teacher1 的 get_details() 方法时,使用各自类(Student 和 Teacher)中定义的方法。
多继承
删除对象
image.png
属性(attributes)读取方法
image.png
装饰器
image.png
#!/usr/bin/env python3
class Account(object):
"""账号类,
amount 是美元金额.
"""
def __init__(self, rate):
self.__amt = 0
self.rate = rate
@property
def amount(self):
"""账号余额(美元)"""
return self.__amt
@property
def cny(self):
"""账号余额(人民币)"""
return self.__amt * self.rate
@amount.setter
def amount(self, value):
if value < 0:
print("Sorry, no negative amount in the account.")
return
self.__amt = value
if __name__ == '__main__':
acc = Account(rate=6.6) # 基于课程编写时的汇率
acc.amount = 20
print("Dollar amount:", acc.amount)
print("In CNY:", acc.cny)
acc.amount = -100
print("Dollar amount:", acc.amount)
总结:
类的定义
对象初始化
本实验我们了解了类的定义,类的继承以及多继承,并且最后我们还接触了装饰器这个概念,本质上,装饰器也是一种高阶函数。
网友评论