CLN: Use new-style classes instead of old-style classes
State: closed

Noticed some [lgtm.com alerts](https://lgtm.com/projects/g/pydata/pandas/snapshot/f85a69a8fdaed49747c4db61f5177a296cf290eb/files/scripts/validate_docstrings.py?sort=name&dir=ASC&mode=heatmap&showExcluded=false#L108) about the [`@property` decorator not working in old-style classes](https://lgtm.com/rules/10030086/) in `scripts/validate_docstrings.py`.  I don't think this actually causes any undesired behavior in that script though.

Figured this would be a good time to enforce new-style classes throughout the codebase:
  - Converted old-style classes to new-style classes
      - Basically just inserted `(object)`.
  - Added a check to `lint.sh` for old-style classes, since `flake8` doesn't look to be catching it.
      - Maybe there's a way to enforce this in `flake8` instead?
  - Didn't hit the Cython code; not exactly sure what the new-style vs. old-style conventions are there.

Labels:
name: Code Style
description: Code style, linting, code_checks

Comments:
maybe we should add some extra flake8 plugins
https://pypi.python.org/pypi?%3Aaction=search&term=flake8&submit=search

would need to add to the requirements_dev and prob modify the ci slightly to install

can u make a separate issue?
There's a Python package called [hacking](https://github.com/openstack-dev/hacking) that has flake8 extensions that seems to have a lint check for this:

    H238 = hacking.checks.python23:hacking_no_old_style_class
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20563?src=pr&el=h1) Report
> Merging [#20563](https://codecov.io/gh/pandas-dev/pandas/pull/20563?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/5edc5c4acde1f0d05b598825ab5c6a86fe551484?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `95.23%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/20563/graphs/tree.svg?token=eZ4WkYLtcO&src=pr&width=650&height=150)](https://codecov.io/gh/pandas-dev/pandas/pull/20563?src=pr&el=tree)

```diff
@@           Coverage Diff           @@
##           master   #20563   +/-   ##
=======================================
  Coverage   91.84%   91.84%           
=======================================
  Files         153      153           
  Lines       49256    49256           
=======================================
  Hits        45241    45241           
  Misses       4015     4015
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.23% <95.23%> (ø)` | :arrow_up: |
| #single | `41.9% <0%> (ø)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/20563?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/io/common.py](https://codecov.io/gh/pandas-dev/pandas/pull/20563/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL2NvbW1vbi5weQ==) | `70.04% <0%> (ø)` | :arrow_up: |
| [pandas/io/sas/sas7bdat.py](https://codecov.io/gh/pandas-dev/pandas/pull/20563/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3Nhcy9zYXM3YmRhdC5weQ==) | `91.07% <100%> (ø)` | :arrow_up: |
| [pandas/io/sas/sas\_constants.py](https://codecov.io/gh/pandas-dev/pandas/pull/20563/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3Nhcy9zYXNfY29uc3RhbnRzLnB5) | `100% <100%> (ø)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20563?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20563?src=pr&el=footer). Last update [5edc5c4...65ccafd](https://codecov.io/gh/pandas-dev/pandas/pull/20563?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

@jreback : green
@jschendel Thanks!