使用OpenCV定位小图在大图中的位置

pip3 install opencv-python
pip3 install aircv
# -*- coding: utf-8 -*-

import aircv as ac …

【Python】AttributeError: 'UUID' object has no attribute 'get_hex'

一、起因

因为之前把博客从Python2.7升级到了python3.6,所以之前的上传图片到七牛云存储的方法突然报以下错误:

AttributeError: 'UUID' object has no attribute 'get_hex'

二、解决办法

python3之后uuid获取十六进制的方法有所改变

import uuid …

Python的赋值、浅拷贝和深拷贝解析

  1. 赋值:其实就是对象的引用(别名)。
  2. 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
  3. 深拷贝(deepcopy):copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。

一、赋值

b = a: 赋值引用,a 和 …

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, …