I am coming to Python from an R background. Read about the similarities between the two languages on a few forums . R is good for mixed data , data visualization and stat models. In building a system that interacts with live data, its better to learn a language that can be used for operations like data cleaning, feed handling, etc. One of my friends recommended Python to me and told me that it is a very powerful language for data cleaning operations. I have programmed in C, C#, C++, Java , Ruby, R before but I have never programmed in Python. I firmly believe that it is never late to learn anything in life. My short term objective is to develop Python skills so that I have at least a working knowledge of the language.

  • \%d , \%s, \%r are used for substituting stuff in the string

  • \%() is the used to substitute the respective variable in the string

  • script, first, second, third = argv to read the arguments in to variables
    Learnt about close , read , write , readline , truncate functions

  • from sys import argv and from ops.path import exists are used to import functions from respective modules.

  • raw_input is used to get input from the user

  • Functions appear similar to functions defined in ruby.

  • Functions should start with def

  • You need not put an open parenthesis right after the function name

  • You can leave spaces after the parenthesis (

  • You can leave spaces after the closing parenthesis ) and colon

  • You got back to usual code environment from a functional environment by writing with no indent. Unlike ruby there is no need to put an end at the end of every def

  • At the end of def statement , there is a need to put colon

  • You have to indent all the lines of code in a function with 4 spaces, no more , no less.

  • Duplicate argument names are not allowed

  • Variables in script are not connected to variables in the function

  • The variables in the function are not connected to variables in the script.

  • I keep forgetting the colon sign after the def keyword in the function

  • seek function in python is to go to a specific place in the file

  • f.seek(0) takes you back to start of the line

  • print linecount, f.readline() reads a specific line in the text return at the end of function can be be used to return something from a function.

  • Exercise 23 was really awesome as it asked me to go and visit bitbucket.org and then browse a random python project, click on source and write about whatever I could find interesting about the project.
    This exercise says this “ When you do this exercise, think of yourself as an anthropologist, trucking  through a new land with just barely enough of the local language to get around and survive." Despite
    hardly knowing any aspects of Python, I looked up bitbucket.org and started randomly browsing a source program. I stumbled on bootstrap-py3k.py le from pyquery. This is the first professional python file that I am reading in my life. I have learnt the following

  • You can import a ton of libraries by listing them down separated by comma

  • import X imports the module X, and creates a reference to that module in the current name space. Or in the other words, after you’ve run this statement, you can use X.name to refer to things defined
    in module X

  • from X import * imports the module X, and creates references in the current name space to all the public objects defined by that module. X in itself is not defined. So X.name will not work but name
    will work

  • { from X import a, b, c imports the module X and creates references in the current namespace to the given objects

  • try Except. I always thought try would be associated with catch.

  • ImportError - appears like a Java naming convention based class

  • if loop has no bracket  and  a terminating colon

  • There are commands like bool() , int() stdout.strip()

  • for x in list() - This is similar to what you find in R.

  • The above program is overwhelming. I will always remember this program and this date Feb 7, 2012  that I was totally stunned by the complex Python code. As I reflect on the path ahead, it is definitely
    a very steep learning curve. Learning some basic things is alright but beyond that, if you have to be proficient at coding Python, you got to be really really good.