title: Clarification on socket.socket()
body: <p>I am going through a book called "Violent Python" and there is a script that pulls FTP data using a socket module</p>
  
  <pre><code>&gt;&gt;&gt; import socket
  &gt;&gt;&gt; socket.setdefaulttimeout(2)
  &gt;&gt;&gt; s = socket.socket()
  &gt;&gt;&gt; s.connect(("192.168.95.148",21)) 
  &gt;&gt;&gt; ans = s.recv(1024)
  &gt;&gt;&gt; print ans
  </code></pre>
  
  <p>Can some one explain the <code>s = socket.socket()</code> section?</p>
  
  <p><code>s.connect(("192.168.95.148",21))</code> Is it like saying:</p>
  
  <p><code>socket.socket.(connect(("192.168.95.148",21)))</code></p>
  
  <p>Just confused about the <code>s</code> variable and why it needs to be stated twice?  I hope that makes sense and I'm sure this applies to more than just this method.</p>