On 07Dec2015 13:07, villasc...@gmail.com <villasc...@gmail.com> wrote:
Hello all!  Just started getting into Python, and am very excited about the 
prospect.

I am struggling on some general concepts.  My past experience with server-side code is 
mostly limited to PHP and websites.  I have some file called "whatever.php", 
the browser accesses it, and PHP parses it and returns HTML, JSON, etc.  Every now and 
then, I need to run some background PHP script, or have some PHP script initiated by a 
CRON job, or have some PHP script initiated by the command line running in an endless 
loop, and while it works, feel other languages might be more appropriate.

So, my interest in Python...

I've read up on Python, and while some aspects seem similar to PHP, some don't. 
 I have learned how to create Python script, have run it from the command line, 
and have even accessed it with Apache by placing http://example.com/myscript.py 
in the browser.  I am used to seeing .php extensions, but never .py extentions, 
and even visited multiple sites which I knew were written in Python, but never 
saw the browser expose the .py extensions.  I am obviously missing something.

The most obvious thing is: a well produced website does not expose its implementation language in the URL. All those .php URLs? Sloppy! Suppose you wanted to change the implementation and switched languages? All your users' bookmarks would break!

Why don't I see the .py extension in my browser?

Usually Python is used in a web server via a WSGI plugin and a framework of some kind (Django, Flask, CheryPy etc). All of these allow you to associate any URL with any piece of Python code. So you don't have that simple but also inflexible "map this URL to a specific .php file" model that you have with typical PHP.

Is Python event driven like PHP, or is it somehow different?

Depends what you mean by "event driven". I suspect you mean "accessing a web page runs a python program".

A .php file is a kind of macro file: it is ostensibly HTML until one hits the <?php tag, and then a snippet of PHP runs and usually writes some output into the HTML stream going back to the browser. You very rarely see PHP "standalone", used to write command line tools or other things - it is almost only ever used to generate web page output.

Python is a general purpose language and all manner of things are written in it. When used in a web server there is usually:

- a WGSI hook into the web server configuration, which causes certain URLs to be passed to a running Python program for implementation

- a Python program which maps those URLs to particular pieces of code, which return HTML or other suitable content

How should I view Python differently than PHP?

It is more useful and nicer to work in. For a quick and dirty web page PHP is a handy tool, but almost entirely for the web. Python is not targeted specificly at web output.

Cheers,
Cameron Simpson <c...@zip.com.au>
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to