Head_First_Python学习笔记(四)
来源:互联网 发布:php网站如何搭建 编辑:程序博客网 时间:2024/05/07 12:42
使用字典
#print_detail同之前的print_times>>> import print_detail >>> james2 = print_detail.print_detail('james2')>>> james2['James Lee', '2002:3:14', '2:34', '3:21', '2:34', '2:45', '3:01', '2:01', '2:01', '3:10', '2:22', '2:01', '2:01', '2:16']>>> james2Dic = {}>>> james2Dic['name'] = james2.pop()>>> james2Dic['dob'] = james2.pop()>>> james2Dic['times'] = james2>>> james2Dic{'dob': '2:01', 'name': '2:16', 'times': ['James Lee', '2002:3:14', '2:34', '3:21', '2:34', '2:45', '3:01', '2:01', '2:01', '3:10', '2:22', '2:01']}
类和对象
#类定义方法class classname: def __init__(self): #initialize code ...
- python要求每一个方法的第一个参数为调用对象实例(self)
简单测试代码:
>>> class Athlete:... def __init__(self,name,dob=None,times=[]):... self.name = name... self.dob = dob... self.times = times... >>> type(Athlete)<type 'classobj'>>>> sarah = Athlete('sarah Sweeney','2002-02-22',['2:45', '3:01', '2:01'])>>> james = Athlete('james Jones')>>> type(james)<type 'instance'>>>> james<__main__.Athlete instance at 0x10691a5a8>
>>> james.name'james Jones'>>> james.dob>>> james.times[]>>> sarah.name'sarah Sweeney'>>> sarah.dob'2002-02-22'>>> sarah.times['2:45', '3:01', '2:01']
自定义类
#print_detail.pyfrom Athlete import Athletedef print_detail(file_name): try: with open(file_name+'.txt') as data: time_list = data.read().replace('-',':').replace('.',':') time_list = time_list.strip().split(',') return Athlete(time_list.pop(0),time_list.pop(0),time_list) except IOError as err: print('file error:'+str(err)) return None
#Athlete.pyclass Athlete: def __init__(self,name,dob=None,times=[]): self.name = name self.dob = dob self.times = times def top3(self): return sorted(set(self.times))[0:3] def add_time(self,a_time): self.times.append(a_time) def add_times(self,time_list): self.times.extend(time_list)
>>> import print_detail>>> james = print_detail.print_detail('james2')>>> type(james)<type 'instance'>>>> james.name'James Lee'>>> james.dob'2002:3:14'>>> james.top3()['2:01', '2:16', '2:22']>>> james.add_time('1.99')>>> james.top3()['1.99', '2:01', '2:16']>>> james.add_times([1.11,1.22])>>> james.top3()[1.11, 1.22, '1.99']
若上面两个文件不再同一目录下,需要在print_detail.py中使用sys.path.append()加入Athlete.py所在路径
1 0
- Head_First_Python学习笔记(四)
- Head_First_Python学习笔记(一)
- Head_First_Python学习笔记(二)
- Head_First_Python学习笔记(三)
- head_first_python读书笔记
- JDBC学习笔记(四)
- AIX学习笔记(四)
- VC++学习笔记(四)
- CSS学习笔记四
- Ajax学习笔记(四)
- C#学习笔记四
- oracle学习笔记(四)
- webwork学习笔记四
- Allegro学习笔记四
- ARM学习笔记(四)
- 学习笔记(四)
- 学习笔记(四)
- DB2 学习笔记(四)
- 产生随机文件并加解密
- 为什么每个浏览器的UserAgent都有Mozilla字样
- 好用 的软件
- Sonar代码质量管理平台
- 提高篇第6-10课作业第三题
- Head_First_Python学习笔记(四)
- Android开发之MdiaPlayer详解
- IOS 8 定位
- Lucene学习总结之一:全文检索的基本原理
- oracle parameter parallel_max实验
- Atom编辑器折腾记_(5)记住上一次打开的目录及浏览器预览功能实现
- leetcode_Reverse Words in a String
- Caused by: java.lang.InstantiationException
- iOS分辨率的那些事儿