python 学习day7
class Dog():'''模拟小狗'''def __init__(self,name,age):'''初始化属性name和age'''self.name = nameself.age = agedef sit(self):'''模拟小狗被命令时蹲下'''print(self.name.title() + ' is now sitting!')def roll_over(self):'''模拟小狗被命令是打滚'''print(self.name.title() + ' rolled over!')def update_age(self,age):'''更新年龄'''self.age = agemy_dog = Dog('marry',3)
print("My dog' name is " + my_dog.name.title() + ".")
print("It is " + str(my_dog.age) + " years old.")
my_dog.sit()
my_dog.roll_over()# 修改属性的值两种方式
# 1.直接修改
# 2.通过方法修改my_dog.age = 4 # 方法一
print("It is " + str(my_dog.age) + " years old.")my_dog.update_age(5) # 方法二
print("It is " + str(my_dog.age) + " years old.")# 继承父类Dog
class Big_Dog(Dog):'''模拟特殊的狗,体型变大'''#重写父类方法def __init__(self,name,age,weight):'''初始化属性name和age'''super().__init__(name,age)self.weight = weight# 添加新方法def warning(self):print("This is a big dog! Please be careful!")my_big_dog = Big_Dog('boss',6,60)
my_big_dog.warning()
def get_formatted_name(first,middle,last):'''生成整洁的姓名'''full_name = first + ' ' + middle + ' ' + lastreturn full_name.title()# formatted_name = get_formatted_name('janis','joplin')# print(formatted_name)
import unittestfrom name_function import get_formatted_nameclass NameTestCase(unittest.TestCase):'''测试name_function.py'''def test_first_last_name(self):'''能够正确地处理'''formatted_name = get_formatted_name('janis','sss','joplin')self.assertEqual(formatted_name,'Janis Sss Joplin')# def test_first_last_name1(self):# '''不能够正确地处理'''# formatted_name = get_formatted_name('janis','joplin')# self.assertEqual(formatted_name,'Janis Sss Joplin')if __name__ == "__main__":unittest.main()
class AnonymousSurvey():'''收集匿名调查问卷的答案'''def __init__(self, question):'''存储一个问题,并为存储答案做准备'''self.question = questionself.responses = []def show_question(self):'''显示调查问卷'''print(self.question)def store_response(self, new_response):'''存储单份调查答卷'''self.responses.append(new_response)def show_result(self):'''显示收集到的所有答卷'''print("Survey result:")for response in self.responses:print('- ' + response)
import unittestfrom survey import AnonymousSurveyclass TestAnonymousSurvey(unittest.TestCase):'''测试survey.py'''def test_store_single_response(self):'''测试单个答案会被妥善存储'''question = "What language did you first learn to speak?"my_survey = AnonymousSurvey(question)my_survey.store_response('English')self.assertIn('English', my_survey.responses)def test_store_three_response(self):'''测试三个答案会被妥善存储'''question = "What language did you first learn to speak?"my_survey = AnonymousSurvey(question)responses = ['English', 'Chinese', 'Spanish']for response in responses:my_survey.store_response(response)for response in responses:self.assertIn(response,my_survey.responses)# setUp()方法,使我们只需创建对象一次。# def setUp(self):# question = "What language did you first learn to speak?"# self.my_survey = AnonymousSurvey(question)# self.responses = ['English', 'Chinese', 'Spanish']## def test_store_single_response(self):# '''测试单个答案会被妥善存储'''# self.my_survey.store_response(self.responses[0])# self.assertIn(self.responses[0], self.my_survey.responses)## def test_store_three_response(self):# '''测试三个答案会被妥善存储'''# for response in self.responses:# self.my_survey.store_response(response)# for response in self.responses:# self.assertIn(response,self.my_survey.responses)if __name__ == "__main__":unittest.main()# 常用断言方法:
# assertEqual(a,b) 核实a==b
# assertNotEqual(a,b) 核实a!=b
# assertTrue(x) 核实x为True
# assertFalse(x) 核实x为False
# assertIn(item,list) 核实item在list中
# assertNotIn(item,list) 核实item不在list中# 运行测试用例时,在输出行会发现,每通过一个单元测试时候打印一个句点;引发错误时,打印一个E;
# 测试导致断言失败时,打印一个F。可通过观察这些结果来获悉有多少个测试通过。
python 学习day7相关推荐
- python学习Day7 数据类型的转换,字符编码演变历程
一.数据类型的转换 1.1.1.字符转列表:lst1 = str.split(默认空格,也可依据指定字符分界),若无分界字符,就没法拆分,这时可以直接放进list转成列表 ----> s1 = ...
- Python学习 Day7 Python3 函数
Python3 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你 ...
- Python学习Day7
今日内容:1.数据类型及内置方法:listtupledictset一.列表类型 ========================基本使用=======================1.用途:记录多个 ...
- python学习---day7
数据分析 第一步:采集数据(数据来源:爬虫(网络数据来源).调查问卷收集.从专门的公司买数据.公司建立的数据库等) 第二步:数据预处理(工具:python.excel.使用双手) 第三步:借助算法.模 ...
- 个人python学习-Day7面向对象基础(上)
一.面向对象介绍 1.概述 面向过程:根据业务逻辑从上到下写代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象编程:将数据与函数绑定到一起,进行封装,这样能够更快速的 ...
- pygame是python的一个库吗,python学习pygame,,基本库导入impor
python学习pygame,,基本库导入impor 基本库导入 import pygame import sys from pygame.locals import * 初始化 pygame.ini ...
- python科学计数法转换_对比Python学习Go 基本数据结构
公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...
- python学习------tab补全
python学习------tab补全 python也可以进行tab键补全 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/env ...
- Python学习day5作业-ATM和购物商城
Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆, ...
最新文章
- SystemML大规模机器学习,优化算子融合方案的研究
- 无生命的AI算不上「智能」
- linux下新文件权限设置之umask的理解
- 【项目实战】汽车金融评分卡
- Android Weekly Notes Issue #218
- YAML_15 include and roles
- 一份招聘需求的分析 (转载)
- 计算机网络 考研复试常见题汇总
- MATLAB 结构矩阵和单元矩阵
- 公司邮箱域名注册申请,域名邮箱如何解析?邮箱域名是什么?
- 细说 Java 中的浅克隆与深克隆
- python 正态分布图像_使用Python实现正态分布、正态分布采样
- 计算机的收获初一作文,收获的作文(精选8篇)
- 2023年30道经典软件测试面试题,等你来看!
- 五年Android开发大厂面经总结,吐血整理2022Android面试题合集(符解析)你确定不看看?
- 【数据分析】搜索和非结构化数据分析值得关注的5大趋势
- Android事件分发浅谈
- 给li标签中的span设置属性margin-bottom不生效
- DNF域名解析全过程
- Ubuntu的sources.list文件