教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

python教程/学习笔记(10)

来源:网络收集 时间:2026-08-29
导读: 求时间间隔也是可以的: >>> x='2015-11-1 10:52:47' >>> y='2015-11-1 11:52:47' >>> import datetime >>> x=datetime.datetime.strptime(str(x),'%Y-%m-%d %H:%M:%S') >>> y=datetime.datetime.strptime(str(y),'

求时间间隔也是可以的: >>> x='2015-11-1 10:52:47' >>> y='2015-11-1 11:52:47' >>> import datetime

>>> x=datetime.datetime.strptime(str(x),'%Y-%m-%d %H:%M:%S') >>> y=datetime.datetime.strptime(str(y),'%Y-%m-%d %H:%M:%S') >>> y-x

datetime.timedelta(0, 3600)

(y-x).days 结果为0 (y-x).seconds 结果为3600

注意,时间间隔只可以求天数和秒数 七.异常处理

7.1.用try 语句检测异常

7.2.用with open ff as即可便于异常处理

八.面向对象编程

8.1.面向对象编程oop 8.1.1.问题空间,定义:

问题空间是问题解决者对一个问题所达到的全部认识状态,它是由问题解决者利用问题所包含的信息和已贮存的信息主动地构成的。 一个问题一般有下面三个方面来定义:

·初始状态——一开始时的不完全的信息或令人不满意的状况; ·目标状态——你希望获得的信息或状态;

·操作——为了从初始状态迈向目标状态,你可能采取的步骤。 这三个部分加在一起定义了问题空间(problem space)。

对象,定义:属性(是什么)和方法(能做什么)。 8.1.2.面向对象,定义:

传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。 面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。

对象指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。

8.2.生成器:

把含有yield语句的函数称作生成器

8.2.1.定义、执行与调用yield这个词在汉语中有“生产、出产”之意,在python中,它作为一个关键词(你在变量、函数、类的名称中就不能用这个了),是生成器的标志。 >>> def g(): ... yield 0 ... yield 1 ... yield 2 >>> g

#这也是个函数,与其他函数唯一的不同就是用yield返回值 调用并使用这个生成器函数

>>> ge = g()#ge = g():除了返回生成器之外,什么也没有操作

>>> ge.next()#直到这时候,生成器才开始执行,遇到了第一个yield语句,将值返回,并暂停执行(有的称之为挂起)。 0

>>> ge.next()#从上次暂停的位置开始,继续向下执行,遇到yield语句,将值返回,又暂停。 1

>>>ge.next() 2

>>> ge.next()#从上面的挂起位置开始,但是后面没有可执行的了,于是next()发出异常。 Traceback (most recent call last): File \StopIteration

8.2.2.生成器用法: 周天元(一个大列表,想对对每一项并且一项一项地使用,直接复制太占用内存,用生成器) >>> list1=[[1,2],[3,4]] >>> def list2(): for line in list1: tmp=line[:] tmp.append(0) yield tmp raise StopIteration#StopIteration类判断循环是否执行到尾部,如果循环到尾部,则抛出该异常。python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。 >>> for ii in list2(): print ii

[1, 2, 0] [3, 4, 0] >>> list2

>>> list2()

>>> list3=[i for i in list2()] >>> list3

[[1, 2, 0], [3, 4, 0]] >>>

8.2.2.yield与return的区别

函数遇到return时,将值返回,结束函数。 遇到yield时,返回值并且暂停(挂起),下一次

8.3.类class

定义:类是由某种特定的元数据所组成的内聚的包。它描述了一些对象的行为规则,而这些对象就被称为该类的实例。类有接口和结构。接口描述了如何通过方法与类及其实例互操作,而结构描述了一个实例中数据如何划分为多个属性。类是与某个层的对象的最具体的类型。类还可以有运行时表示形式(元对象),它为操作与类相关的元数据提供了运行时支持。 类的出现,为面向对象编程的三个最重要的特性(封装性,继承性,多态性),提供了实现的手段。

类是对某一群具有同样属性和方法的对象的抽象。

8.3.1.一些类的基础知识

>>> class BB(object): # 定义类 ... pass

>>> bb = BB() # 将这个类实例化 >>>bb.__class__ # 查看对象类型 >>> type(bb)

# 查看对象类型 >>> print bb

<__main__.BB object at 0xb71efe6c> 8.3.2.定义类 定义方法一:

>>> class BB(object): ... pass 定义方法二:

>>> __metaclass__ = type >>> class CC: ... pass ...

>>> cc = CC() >>> cc.__class__

>>> type(cc)

8.3.3.创建类(不用交互式,改用编辑界面) # coding=utf-8

__metaclass__ = type # 这意味着下面是新式类

class Person: # 声明创建一个名为\的类。类的首字母一般大写,若不止一个单词,则每个单词都大写,例如Class HotPerson,这叫“驼峰命名法”。 def __init__(self, name):# 这是函数,类中的函数叫做“方法”,这也是前文所谓“对象的方法。每个函数必须包括self参数,并且作为默认的第一个参数。 selfname = name def getName(self): return selfname

…… 此处隐藏:785字,全部文档内容请下载后查看。喜欢就下载吧 ……
python教程/学习笔记(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/614204.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)