本主题需向作者支付 10 鱼币 才能浏览 购买主题
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:有多态函数
第 1 题的答案是:不管传入参数类型,只管是否有其方法
第 2 题的答案是:可以
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:不属于
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:子类继承父类重写父类同名方法 通过实例对象调用方法
第 1 题的答案是:没有多态要判断对象的类型 然后分支处理
第 2 题的答案是:可以 同一个加号 不同对象执行不同逻辑
第 3 题的答案是:如果它走起来像鸭子,游起来像鸭子,叫起来像鸭子,那它大概就是一只鸭子
第 4 题的答案是:
第 5 题的答案是:不是参数不同而已
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
1.鸭子类型:不需要关心对象的具体类型或继承关系,只关心对象是否具备我们需要的方法或属性。
2.内置运算符的多态:Python 的内置操作符天然支持多态,底层是通过“魔术方法”(如 __add__)来实现的。同一个 + 号,面对不同的数据类型会表现出不同的行为
3.基于继承的方法重写:Python 也完全支持通过继承父类并重写(Override)父类方法来实现多态。
4.内置函数len()的多态:len() 可以作用于字符串、列表、字典等任何实现了 __len__ 方法的对象
第 1 题的答案是:
1.极强的可扩展性;
2.消除冗余的条件判断;
3.提高代码的复用性;
4.降低代码的耦合度
第 2 题的答案是:
可以成为多态
第 3 题的答案是:
"If it walks like a duck and quacks like a duck, it must be a duck."
(如果它走起来像鸭子,叫起来也像鸭子,那它一定就是只鸭子。)
第 4 题的答案是:
降低耦合
第 5 题的答案是:
不是多态,而是默认参数
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
同样的方法面对不同对象有不同作用,比如 ‘*’ 号 整数和整数是相乘 ,字符串和整数是把该字符串复制int遍。
第 1 题的答案是:
灵活
第 2 题的答案是:
可以
第 3 题的答案是:
when i see a bird that walks like a duck swims like a duck quacks like a duck i call that bird a duck
第 4 题的答案是:
降低了耦合
第 5 题的答案是:
属于
-------- 动动手 --------
请将第 0 题的代码写在下方:
class BaseEmployee:
def __init__(self,uid,name,job,grade,year):
self.uid = uid
self.name = name
self.job = job
self.grade = grade
self.year = year
class Employee(BaseEmployee):
def salary(self):
return 3000 + 500 * self.grade + 50 * self.year
class Teamleader(BaseEmployee):
def salary(self):
return 4000 + 800 * self.grade + 100 * self.year
class Manager(BaseEmployee):
def salary(self):
return 5000 + 1000 * (self.grade + self.year)
class Manage:
def __init__(self):
self.emp = {}
self.number = 9999
self.all_job = {'E':'普通员工',
'T':'组长',
'M':'经理'}
self.max_grade = {'E':10,
'T':6,
'M':3,}
self.now_job = ['E','T','M']
def set_employee(self):
self.name = input('请输入员工姓名: ')
self.job = input('职位(E.普通员工;T.组长;M.经理): ')
self.year = int(input('员工工龄: '))
self.grade = int(input('员工级别: '))
while self.year < 0:
print('员工工龄不能小于0,请重新输入: ')
self.year = int(input('员工工龄: '))
while self.grade < 1:
print('员工级别不能小于1,请重新输入: ')
self.grade = int(input('员工级别: '))
while self.grade > self.max_grade:
print(f'员工级别"{self.grade}"超过当前职位"{self.job}"的上限,请重新输入 ')
self.job = input('职位(E.普通员工;T.组长;M.经理): ')
self.grade = int(input('员工级别: '))
self.number += 1
if self.job == 'E':
self.emp = Employee(self.number,self.name,self.job,self.grade,self.year)
elif self.job == 'T':
self.emp = Teamleader(self.number,self.name,self.job,self.grade,self.year)
elif self.job == 'M':
self.emp = Manager(self.number,self.name,self.job,self.grade,self.year)
print(f'录入成功!姓名{self.name}, 工号:{self.number}, 薪资: {self.emp.salary()}')
def find_job(self,find):
each = 0
allE = []
for i in self.emp:
if self.emp.job == find:
each += 1
allE.append(i)
return each , allE
def find_employee(self):
while True:
chose = input('1.员工查询; 2.职位查询: ')
if chose == '1':
find_uid = int(input('请输入工号:'))
if find_uid in self.emp:
print(f'姓名:{self.emp.name}'
f'职位:{self.emp.job}'
f'级别:{self.emp.grade}'
f'工龄:{self.emp.year}'
f'薪资:{self.emp.salary()}')
break
else:
print('该工号不存在')
elif chose == '2':
find = input('请输入职位(E.普通员工;T.组长;M.经理): ')
each, allE, = self.find_job(find)
if each == 0:
print(f'公司当前没有{self.all_job}')
else:
print(f'当前{self.all_job}共有 {each} 人:')
for i in allE:
print(f'{i} - {self.emp.name}')
break
else:
print('请输入正确指令')
continue
def up(self):
while True:
uid = int(input('请输入工号:'))
if uid in self.emp:
break
else:
print('工号不存在请重新输入')
emp = self.emp
print(f'姓名:{emp.name},工号:{emp.uid},当前职位:{emp.job}{emp.grade},当前薪资:{emp.salary()}')
up_grade = int(input('请输入需要增加的级数:'))
zhiwei = self.now_job.index(emp.job)
while up_grade + emp.grade > self.max_grade:
up_grade += emp.grade
if emp.job == self.now_job[-1]:
print('已经是最高等级')
emp.job = self.now_job[-1]
emp.grade = self.max_grade
print(f'当前职位:{self.all_job} {emp.grade}级')
break
if len(self.now_job)-1 >= zhiwei:
up_grade -= self.max_grade]
zhiwei += 1
emp.job = self.now_job
emp.grade = 0
continue
if up_grade == 0:
emp.grade = 1
print(f'升级成功,当前职位:{self.all_job} {emp.grade}级')
break
else:
emp.grade += up_grade
print(f'升级成功,当前职位:{self.all_job} {emp.grade}级')
def low(self):
while True:
uid = int(input('请输入工号:'))
if uid in self.emp:
break
else:
print('工号不存在请重新输入')
emp = self.emp
print(f'姓名:{emp.name},工号:{emp.uid},当前职位:{emp.job}{emp.grade},当前薪资:{emp.salary()}')
low_grade = int(input('请输入需要降低的级数:'))
zhiwei = self.now_job.index(emp.job)
while emp.grade - low_grade < 1:
if zhiwei == 0:
print('已经是最低等级')
emp.job = self.now_job
emp.grade = 1
print(f'当前职位:{self.all_job} {emp.grade}级')
break
if zhiwei > 0:
low_grade -= emp.grade
zhiwei -= 1
emp.job = self.now_job
emp.grade = self.max_grade
continue
elif low_grade == 0:
emp.job = self.now_job
emp.grade = self.max_grade
continue
elif low_grade > 0:
emp.job = self.now_job
emp.grade -= low_grade
continue
else:
emp.grade -= low_grade
print(f'降级成功,当前职位:{self.all_job} {emp.grade}级')
a = Manage()
while True:
chose = int(input('1.录入;2.查询;3.升级;4.降级;5.退出;'))
if chose == 1:
a.set_employee()
elif chose == 2:
a.find_employee()
elif chose == 3:
a.up()
elif chose == 4:
a.low()
elif chose == 5:
print('感谢使用系统~')
break
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
利用子类对父类的继承和重写。
第 1 题的答案是:
可以保持父类稳定,减少重复工作
第 2 题的答案是:
可以,数据和字符窜相加,意义不同。
第 3 题的答案是:
黑猫白猫
第 4 题的答案是:
降低耦合
第 5 题的答案是:
不是,是单态。
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:鸭子类型,子类重写父类函数
第 1 题的答案是:多态的优势是扩展性好,不需要大量修改源代码
第 2 题的答案是:可以
第 3 题的答案是:
第 4 题的答案是:鸭子类型是降低耦合度
第 5 题的答案是:是的
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
1
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
璁ょ湡瀛︿範涓紝鎰熻阿灏忕敳楸艰
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方: