None of them are required. OSCP is not the kind of exam where your knowledge of a certain subject (like Python, Ruby or nmap) will be assessed. The only thing that matters is whether you're able to break into systems, and knowledge of Python, Ruby an nmap certainly helps with that.
For example, let's say you have a low privilege shell on your target system. The system has a privilege escalation vulnerability, and you have just found a exploit code for that vulnerability. Unfortunately, it's written in Ruby, and the target system doesn't support Ruby, so you will have to translate it into another language. At that point, having at least a basic understanding of both Ruby and a common scripting language would be helpful.
nmap is taught during the course. See the official PwK syllabus for details on what the course covers: https://www.offensive-security.com/documentation/penetration-testing-with-kali.pdf
(Still, it wouldn't hurt to play a bit with nmap before starting the course, just be sure to keep scanning activity inside your own network.)
I'm not sure if I understand this question:
is implementation of , for instance, sockets, in python needed?
If you meant to ask whether you'll need to know how Python implements sockets internally - no, I don't think so. If you were asking about knowing how to create sockets within the Python scripting language - yes, that would certainly be useful (and not only for the OSCP, but in general).