Quick way to get started with python? (for php developers)
1–10 of 14 posts
any tips, tutorials or books to start out strong with python?
Re: Quick way to get started with python? (for php developers)
#2Dive into Python and Python the Hard Way are both really good books that are available online to read through. Python.org provides some good docs too along with a pretty decent tutorial.
I assume since you're coming from PHP you're going to want to do some web stuff with it. Django has excellent docs and there's DjangoBook.com as well.
Re: Quick way to get started with python? (for php developers)
#3I guess you want to do some web stuff to. You can start with a microframework : Flask. *based on some of my friends experince, jumping directly from PHP (with no Python experince) to Django is a pain in the as..
Try Flask. Simple, lightweight.
Re: Quick way to get started with python? (for php developers)
#4Come up with a project that you want to program and then develop it in python.
Re: Quick way to get started with python? (for php developers)
#5The biggest thing I think for a php developer is understanding the MVC concept behind frameworks (and most well designed software). Php is often quick and dirty scripts, and that doesn't translate very well.
Re: Quick way to get started with python? (for php developers)
#6Use search (bottom of page) to get more info. This question or one close to it gets asked almost weekly and there's a wealth of pointers.
Re: Quick way to get started with python? (for php developers)
#7just learn web framework django(http://docs.djangoproject.com/en/1.2/intro/overview/) and use diveintopython(http://diveintopython.org/) as reference :)
all the best.
Re: Quick way to get started with python? (for php developers)
#8Python's a ridiculously easy language to learn. Here are a few examples of bits of syntax.
# comments start with a "#" symbol
[1,2,3,4] # that's a list
{"x":1, "y":2, "z":3} # that's a dictionary
blah = 6 # you can assign things to variables
asdf = [3,6,1,2] # including lists, dictionaries, etc.
def foo(x,y,z):
if x > y:
print "X is greater than Y"
else:
print "X
That's a function called foo taking parameters x,y,z. "def" defines a function. Notice that you indent where you normally would (after the def, after the if and else). Python code is typically very readable because of this.Here's an example of a class in Python (I assume you're familiar with classes?):
class Foo:
def __init__(self, x, y):
"""The __init__ function is basically like a constructor.
This thing here is a docstring, it's used to document a function
or class."""
self.x = x
self.y = y
def sum(self):
# The pointer to the instance is the first parameter.
# It's usually called 'self', but the name can be anything.
return self.x + self.y #note: self. for member variables
def __str__(self):
"""This function is used to make a human readable representation."""
# there are various ways to do this, but % should be familiar to
# programmers of C-like languages. (it's like printf)
return "Foo(%d, %d)" % (self.x, self.y)
foo = Foo(1,2) # note: Python is case-sensitive
print foo # calls foo.__str__() and displays the result -- "Foo(1, 2)"
print foo.sum() # prints 3
Python allows functions to be passed to functions and returned from functions, for example: def makeAFunctionThatAddsXtoY(x):
def myNewFunction(y):
return x + y # x gets stored in the new function for later use
return myNewFunction
f = makeAFunctionThatAddsXtoY(5) # f is a function
print f(10) # prints 15, as expected
Some people care about this ability more than other people. Python's an easy way to start learning about functional programming if you're not familiar with it yet.There's also some other fairly handy things to learn, like list comprehensions:
foo = [3,1,6,206,24,1230,0,1,112,30, 96]
bar = [x for x in foo if x % 2 == 0] # all even numbers in foo
baz = [3*x for x in foo if x % 3 == 0] # triple everything divisible by 3
You can access list elements with familiar array syntax: foo[0] == 3 # evaluates to True (note: True and False are capitalized!)
You can also take "slices" of lists to get a range of elements: foo[0:2] == [3,1] # this statement also evaluates to True
You can get a description of most functions and classes by typing help(name_of_thing_you_want_to_know_about) into the Python interpreter.The best way to learn Python is to read the tutorial (http://docs.python.org/tutorial/) and play around with it. Have fun!
Re: Quick way to get started with python? (for php developers)
#9Re: Quick way to get started with python? (for php developers)
#10The biggest thing I think for a php developer is understanding the MVC concept behind frameworks (and most well designed software). Php is often quick and dirty scripts, and that doesn't translate very well.
yeah, I'm familiar with most MVC frameworks that use PHP, and have develop several basic ones myself