Python进阶之新式类与经典类

1、什么是新式类,什么是经典类

# -*- coding: utf-8 -*-

class A:
    pass

class B(object):
    pass

A是经典类,B是新式类,这是Python2.x 里所特有的现象,之所以要提到经典类和新式类,是要把一些基础的东西讲清楚。

2、那个特殊的self …

Python面向对象编程之封装、继承与多态

一、封装

    封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节,但可以通过该对象对外的提供的接口来访问该对象。

    对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对象就可以完成自己的操作。使用封装有三大好处:

  1. 良好的封装能够减少耦合。

  2. 类内部的结构可以自由修改。

  3. 可以对成员进行更精确的控制。

  4. 隐藏信息,实现细节。

    封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果不想被外界方法,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。

# 定义一个学生类,拥有name、score属性
class Student(object):

    def __init__(self, name, …

微信小程序之页面传值

前一段时间,公司接了一个项目,因为之前一直写H5,但是这次客户要做小程序,所以我也开始跳到小程序的坑里了,填坑之路艰辛而凄凉,所以在此记录一下小程序中的页面传值。

一. 跨页面传值

1 . 用 navigator标签传值或 wx.navigator, 比如
<navigator url="/page/component/news/detail?cms_id=15"></navigator>

这里将cms_id=15参数传入 detail …

MySQL中的配置参数interactive_timeout和wait_timeout

前两天,生产环境数据库多次出现OperationalError: (2006, 'MySQL server has gone away')的错误,所以查了一些资料来解决,查阅资料的过程中记录一些查到的知识点。(并不完全确定是不是这两个参数的原因)

一. interactive_timeout:

参数含义:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。

参数默认值:28800秒(8小时)

二. wait_timeout: …

单台机器Redis Sentinel(哨兵)部署

Redis-sentinel是Redis实例的监控管理、通知和实例失效备援服务,是Redis集群的管理工具。在一般的分布式中心节点数据库中,Redis-sentinel的作用是中心节点的工作,监控各个其他节点的工作情况并且进行故障恢复,来提高集群的高可用性。

一、Redis Sentinel规划(一主二从)

IP 端口号 角色
172.17.0.1 6379 Redis master
172.17.0.1 6380 Redis slave1
172.17.0.1 …