2021-2022-1 20211306《信息安全专业导论》第八周学习总结

 

作业信息

 

|作业属于哪个课程|
https://edu.cnblogs.com/campus/besti/2021-2022-1fois
|作业要求链接|
https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04

 

学习目标

  • 功能设计与面向对象设计
  • 面向对象设计过程
  • 面向对象语言三要素
  • 汇编、编译、解释、执行

 

教材内容总结

面向对象

在问题背景中中相关的事物或实体是对象。对象类/类是一组具有相似的属性和行为的对象的描述。类中包括域,域中可以包含数据值和/或方法(子程序)。

设计方法

头脑风暴是确定问题中的类的第一个阶段。

定义了类的一种行为的特定算法是方法。

自顶向下的设计方法重点在把输入转化为输出的过程,面向对象设计的重点在于要转换的数据对象。

方法过程:1.头脑风暴    2.过滤    3.场景    4.责任算法    5.总结

翻译过程

翻译用高级程序设计语言编写的程序的程序叫编译器(把用高级语言编写的程序翻译成机器码的程序)。

解释器是一种程序,用于翻译和执行语句序列。

汇编器与编译器只是输出机器码且机器码再单独执行。

程序设计语言范型

范型是“用作模式或模型的实体”和“一组假设、概念、值和实践,构成了共享它们的聚合体观察现实的方式。”

命令式模型给编程语言所用的绝大多数常用模型巨大影响。

逻辑编程基于数理逻辑的原则。

布尔表达式

一个标识符序列,标识符之间有相容的运算符分隔。

一个布尔变量,一个算术表达式加一个关系运算符再加一个算术表达式,一个布尔表达式加一个布尔运算符再加一个布尔表达式,都可以是布尔表达式。

代码运行

class Car(object):
    # 类体
    pass

car = Car()

class Dog:
    def __init__(self, name, age):
        self.name = name #创建和初始化实例变量name
        self.age = age   #创建和初始化实例变量age
        
d = Dog('豆豆',3)        
print('我们家狗狗叫{0}, {1}岁了。'.format(d.name, d.age))

class Dog:
    
    def __init__(self, name, age, sex='雌性'):
        self.name = name
        self.age = age
        self.sex = sex  
       
    def run(self):
        print("{}在跑...".format(self.name))          
    def speak(self, sound):
        print('{}在叫, “{}”!'.format(self.name, sound))
        
dog = Dog('豆豆', 3)
dog.run()
dog.speak('汪汪汪')

class Account:
    interest_rate = 0.0668
    
    def __int__(self, owner, amount):
        self.owner = owner
        self.amount = amount
        
        
    @classmethod
    def interest_by(cls, amt):
        return cls.interest_rate * amt
    
interest = Account.interest_by(12000.0)
print('计算利息:{0:.4f}'.format(interest))

class Account:
    __interest_rate = 0.0568
    
    def __init__(self, owner, amount):
        self.owner = owner
        self.__amount = amount   
    
    
    def desc(self):
        print("{0} 金额:{1} 利率:{2}。".format(self.owner, self.__amount, Account.__interest_rate))
        
account = Account('DWB', 800000.0)
account.desc()

print('账户名:{0}'.format(account.owner))


class Account:
    __interest_rate = 0.0568
    
    def __init__(self, owner, amount):
        self.owner = owner
        self.__amount = amount   
   
    def __get_info(self):
        return "{0} 金额:{1} 利率: {2}。".format(self.owner,
                                        self.__amount,
                                    Account.__interest_rate)
    
    def desc(self):
        print(self.__get_info())
        
account = Account('dwb', 800000.0)
account.desc()        


class Dog:
    def __init__(self, name, age, sex='雌性'):
        self.name = name 
        self.__age = age
    def run(self):
        print("{}在跑...".format(self.name))
    def get_age(self):
        return self.__age        
    def set_age(self, age):
        self.__age = age
        


dog = Dog('豆豆', 2)        
print('狗狗年龄:{0}'.format(dog.get_age()))
dog.set_age(3)
print('修改后狗狗年龄:{0}'.format(dog.get_age()))

class Animal:
    
    def __init__(self, name):
        self.name = name
    def show_info(self):
        return "动物的名字:{0}".format(self.name)
    
    def move(self):
        print("动一动...")
        
class Cat(Animal):
    
    def __init__(self, name, age):
        super().__init__(name)    
        self.age = age
        
cat = Cat('tom', 2)
cat.move()  
print(cat.show_info())


class Horse:
    def __init__(self, name):
        self.name = name
         
    def show_info(self):
        return("马的名字:{0}".format(self.name))
    
    def run(self):
        print("马跑...")
        
class Donkey:    
    def __init__(self, name):
        self.name = name
        
    def show_info(self):
        return("驴的名字:{0}".format(self.name))
    
    def run(self):
        print("驴跑...")
        
    def roll(self):
        print("驴打滚...")
        
class Mule(Horse, Donkey):
    def __init__(self, name, age):
        super().__init__(name)    
        self.age = age
       
m = Mule('骡宝莉', 1)
m.run() 
m.roll()
print(m.show_info())


class Animal:
    def speak(self):
        print('动物叫,但不知道是哪种动物叫!')    

class Dog(Animal):
    def speak(self):
        print('小狗:旺旺叫...')
class Cat(Animal):
    def speak(self):
        print('小猫:喵喵叫...')
an1 = Dog()
an2= Cat()
an1.speak()
an2.speak()

i = input('请输入数字:')
          
n = 8888
try:
    result = n / int(i)
    print(result)
    print('{0}除以{1}等于{2}'.format(n, i, result))
except (ZeroDivisionError,ValueError)  as e:
   print("异常:{}".format(e))


class ZhijieketangException(Exception):
    def __init__ (self, message):
        super().__init__(message)
i = input('请输入数字:') 
n = 8888
try:
    result = n / int(i)
    print(result)
    print('{0}除以{1}等于{2}".format(n, i, result))
except ZeroDivisionError as e:
    raise ZhijieketangException('不能除以0')
except ValueError as e:
    raise ZhijieketangException("输入的是无效数字")

 

 

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时  
第一周 150/150 2/2 20/20  
第二周 150/300 2/4 20/40  
...... ...... ......    
第八周 350/1400 2/18 20/160  
 

 

 

posted @ 2021-11-14 22:27  20211306丁文博  阅读(31)  评论(0编辑  收藏  举报