NO! There is ZERO reason to buy a 970 in 2017. Instead of wasting that money, you can buy an RX 480 8GB or 1060 6GB and have a lot more longevity and better performance overall.
If you can find one for $150 its still not worth it, you are getting it used so you don't know if its been used for mining, you don't know if its had some crazy OC with bios modifications and eating up its life span, and for just $10 or $20 more you can get the RX 470. Admittedly a tad bit slower performance overall, but at least you are getting it new, its better for DX12, it beats the 970 in DX12 and isn't crippled wuth 3.5GB ram.
You can also spend like $30 more and there are many and often RX 470 with 8GB at $190, sometimes even cheaper on sale and through rebates and stuff.
I said that 3GB is dead on arrival, the 1060 3GB is worthless these days, can't handle any new game properly at 1080p its low memory is crippling it, where it once handedly beat the RX 470 and even beat the RX 480 4GB often, its now often slower in new games than the 470 4GB, purely because of its limited memory.
4GB is becoming obsolete as well. Its just not cutting it anymore either. Sure ultimately you've got a year that it won't be completely useless, but if you want to play at max settings at 1080p you won't be able to with only 4GB very soon.
Even 6GB is showing its limitations at 1440p. The 1060 6GB wins at 1080p over the 480 8gb, but often ends up equal or slower at 1440p. This is purely due to its lower memory.