python练习:面向对象1
面向对象习题:
一:定义一个学生类。有下面的类属性:
1 姓名
2 年龄
3 成绩(语文,数学,英语)[每课成绩的类型为整数]
类方法:
1 获取学生的姓名:get_name() 返回类型:str
2 获取学生的年龄:get_age() 返回类型:int
3 返回3门科目中最高的分数。get_course() 返回类型:int
写好类以后,可以定义2个同学测试下:
zm = student('zhangming',20,[69,88,100])
返回结果:
zhangming
20
100
lq = student('liqiang',23,[82,60,99])
返回结果:
liqiang
23
99
class student(object):
name = ''
age = 0
scores = {'yuwen': 0, 'math': 0, 'english': 0}
def __init__(self, name, age, scores):
self.name = name
self.age = age
self.scores['yuwen'] = scores[0]
self.scores['math'] = scores[1]
self.scores['english'] = scores[2]
def get_name(self):
return self.name
def get_age(self):
return self.age
def get_coures(self):
"""返回科目中最高的分数"""
sorted_scores = sorted(self.scores.items(), key=lambda k: k[1], reverse=True)
return sorted_scores[0][1]
zm = student('zhangming',20,[69,88,100])
print(zm.get_name())
print(zm.get_age())
print(zm.get_coures())
二:定义一个字典类:dictclass。完成下面的功能:
dict = dictclass({你需要操作的字典对象})
1 删除某个key
del_dict(key)
2 判断某个键是否在字典里,如果在返回键对应的值,不存在则返回"not found"
get_dict(key)
3 返回键组成的列表:返回类型;(list)
get_key()
4 合并字典,并且返回合并后字典的values组成的列表。返回类型:(list)
update_dict({要合并的字典})
class dict_class(object):
adict = {}
def __init__(self, adict):
self.adict = adict
def del_key(self, key):
del self.adict[key]
return self.adict
def get_dict(self, key):
"""判断某个键是否在字典里,如果在返回键对应的值,不存在则返回"not found"""
if self.adict[key]:
return self.adict[key]
else:
return "not found"
def get_key(self):
"""返回键组成的列表:返回类型;(list)"""
return [x for x, y in self.adict]
def update_dict(self, bdict):
self.adict.update(bdict)
return self.adict
a = dict_class({'a': 234, 'b': 456})
print(a.get_dict('a'))
# print(a.del_key('a'))
print(a.update_dict({'a':34, 's':45}))
print(a.adict)
python练习:面向对象1的更多相关文章
- python基础——面向对象编程
python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...
- Python的面向对象3
接下来,我们接着讲Python的面向对象,在上一次的博客中,我们详细介绍了类与对象的属性,今天,我们来详细介绍一下面向对象中的方法! 1.定义实例方法 一个实例的私有属性就是以__开头的属性,无法被外 ...
- Python的面向对象2
我们接着讲解Python的面向对象 1.初始化实例属性 在现实生活中,一种类型的实例会具有相同的某些属性,把这些实例划分为一个类型,则这些实例必然有相似的部分.但是,在创建实例之后,我们一个一个的为实 ...
- Python的面向对象1
今天,我们来介绍Python的面向对象编程,其实面向对象并不陌生,在C++ ,Java ,PHP中也有大量使用! 好了,我们来步入正题! 那什么是面向对象编程呢? 1. 面向对象编程是一种程序设计 ...
- My way to Python - Day05 - 面向对象-思维导图
My way to Python - Day05 - 面向对象 思维导图
- Python进阶---面向对象的程序设计思想
Python的面向对象 一.面向过程与面向对象的对比 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
- Python之面向对象一
引子 小游戏:人狗大战 角色:人和狗 角色属性:姓名,血量,战斗力和性别(种类) 技能:打/咬 用函数实现人打狗和狗咬人的情形 def Dog(name,blood,aggr,kind): dog = ...
- python基础——面向对象进阶下
python基础--面向对象进阶下 1 __setitem__,__getitem,__delitem__ 把对象操作属性模拟成字典的格式 想对比__getattr__(), __setattr__( ...
- python基础——面向对象进阶
python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 ...
- python基础——面向对象的程序设计
python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
随机推荐
- python,在路径中引用变量的方法
fr = open('E:\\pyCharm\\LogisticRegression\\1\\'+变量+'.txt')
- Android中jsoup的混淆规则【转】
Android中jsoup的混淆规则版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.com 说实话这篇文章的标题和内容我觉得很水,所以读者们要是也觉得这篇文章 ...
- Jenkins自动化版本构建
1.拉取代码 2.更新父版本 更新依赖版本 3.打包并推送到maven私库 4.版本控制后提交代码并打成docker镜像 PS:修改pom.xml项目版本,这里我没使用插件,直接使用脚本进行修改,这样 ...
- markdown如何在表格内换行?
答:使用<br>即可在表格内换行
- openresty开发系列27--openresty中封装redis操作
openresty开发系列27--openresty中封装redis操作 在关于web+lua+openresty开发中,项目中会大量操作redis, 重复创建连接-->数据操作-->关闭 ...
- centos和windows添加路由命令记录
# 默认路由做香港出口route add default gw 192.168.10.33route add default gw 192.168.10.1 # 删除默认路由# route del d ...
- python接入微博第三方API之1环境准备
环境准备: 1.注册微博账号 2.注册应用
- Opencv拉普拉斯算子做图像增强
Opencv拉普拉斯算子——图像增强 #include <iostream> #include <opencv2/opencv.hpp> using namespace std ...
- 泡泡一分钟:Perception-aware Receding Horizon Navigation for MAVs
作为在空中抛掷四旋翼飞行器后恢复的第一步,它需要检测它使用其加速度计的发射.理想的情况下,在飞行中,加速度计理想地仅测量由于施加的转子推力引起的加速度,即.因此,当四旋翼飞行器发射时,我们可以检测到测 ...
- 转 RAC srvctl 管理命令
https://czmmiao.iteye.com/blog/1762900 https://blog.csdn.net/weeknd/article/details/72358218 ------- ...