python_task5

1.类和对象

  • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
  • 方法:类中定义的函数。
  • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
  • 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
  • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
  • 局部变量:定义在方法中的变量,只作用于当前实例的类。
  • 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
  • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
  • 实例化:创建一个类的实例,类的具体对象。
  • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

当创建一个对象时,就是用一个模子,来创造一个实物。模子称为类,实物称为对象。

类的构成

类由三个部分构成
1、类的名称:类名(类名的第一个字母大写)
2、类的属性:一组数据/变量
3、类的方法:要实现的功能(行为)

示例

class 类名():
    #属性
    a = xx
    #方法
    def 方法名(self):
        pass

# 类的实例化/对象
t = 类名()
# 使用类里面的方法
t.方法名()
# 往类里面添加属性
t.name = "张三" 

和普通的函数相比,在类中定义的方法只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认参数、可变参数、关键字参数和命名关键字参数。

__init__(self)方法

数据的初始化,不需要调用,当创建了一个对象时既自动调用了该方法。
__init__()里面的属性值可以进行累加,不会随着调用方法的结束而初始化
如连续调用方法,可以存储上一次调用的结果,再调用时该属性是上一次调用结果的值。
__init__(self)中的self参数,不需要传递,python解释器会自动把当前的对象引用传递进去。

示例

class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score

由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。
以学生类为例,通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去。

self

谁调用这个对象,self就指向谁。
如果使用了self.变量名,同一个类里面的方法都可以使用。

class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score
    def test(self)
        print(self.name) 

__str__(self)方法

获取对象的描述信息,如果没有使用该方法,print对象时输出的是内存地址,而使用了str(),方法内的描述信息是什么就输出什么。

实例(烤土豆)

#创建一个五谷杂粮类
class Cereals():
    def __init__(self):
        self.status = "生的"
        self.bake_time = 0

    def __str__(self):
        return "土豆考了%d分钟,状态是:%s" % (self.bake_time, self.status)

    def bake(self, time):
        self.bake_time += time
        if self.bake_time >= 0 and self.bake_time < 3:
            self.status = "生的"
        elif self.bake_time >= 3 and self.bake_time <= 5:
            self.status = "半生不熟"
        elif self.bake_time > 5 and self.bake_time <= 8:
            self.status = "熟了"
        elif self.bake_time > 8:
            self.status = "烤糊了"
if __name__ == '__main__':
    # 创建土豆对象
    td = Cereals()
  # 循环烤9分钟
    for i in range(1,9):
        td.bake(1)
        print(td)


输出结果:
土豆考了1分钟,状态是:生的
土豆考了2分钟,状态是:生的
土豆考了3分钟,状态是:半生不熟
土豆考了4分钟,状态是:半生不熟
土豆考了5分钟,状态是:半生不熟
土豆考了6分钟,状态是:熟了
土豆考了7分钟,状态是:熟了
土豆考了8分钟,状态是:熟了
土豆考了9分钟,状态是:烤糊了

 

2.正则表达式

这是一个匹配百分数和数字的正则表达式

3.re模块

re 模块使 Python 语言拥有全部的正则表达式功能。

关于re函数的一些方法:

(1)re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。函数语法:

re.match(pattern, string, flags=0)

(2) re.search 扫描整个字符串并返回第一个成功的匹配。函数语法:re.search(pattern, string, flags=0)

4.datetime模块学习

datetime库定义了2个常量和5个类。

2个常量分别是MINYEAR=1MAXYEAR=9999

5个类分别是:

  1. date类:表示日期的类
  2. time类:表示时间的类
  3. datetime类:表示时间日期的类
  4. timedelta类:表示两个datetime对象的差值;
  5. tzinfo类:表示时区的相关信息

5.http请求

先使用pip安装:pip install requests

1、发送请求

import requests #导入requests,然后就可以为所欲为了

#发送get请求

r0 = requests.get("http://yunweicai.com")

#发送post请求

r1 = requests.post("http://yunweicai.com",data={key:value})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值