• Complain

Grossetti Francesco - Python for non-Pythonians

Here you can read online Grossetti Francesco - Python for non-Pythonians full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2019, publisher: EGEA Spa - Bocconi University Press, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Grossetti Francesco Python for non-Pythonians

Python for non-Pythonians: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Python for non-Pythonians" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Grossetti Francesco: author's other books


Who wrote Python for non-Pythonians? Find out the surname, the name of the author of the book and a list of all author's works by series.

Python for non-Pythonians — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Python for non-Pythonians" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make

Table of Contents

Guide
We are enormously indebted to Francesco Balocco a Research Assistant at - photo 1

We are enormously indebted to Francesco Balocco, a Research Assistant at Bocconi University in 2013, who first introduced us to Python. The most engaging exercises in this book are his. We would also like to thank the many students that, over the years, took the Social Media Marketing course offered at Bocconi University. Their feedback, and struggles, were instrumental in refining the material that ended up in this book. A big thank you to Aulona Ulqinaku and Federica Rossetti for fastidiously taking notes during class and providing the backbone of the book.

Finally, we would like to thank the Bocconi MBA Class of 2018, which was brave enough to demand the first Python course (The fact that they asked for it in addition to their normal course load makes their request even more exceptional.). Their request validated our intuition that Python (and, in general, programming) is no longer a technical add-on, but an essential tool for todays managers.

There are plenty of ways which we could begin this section with. We decided that a straightforward approach to understand what Python is, is to start with a clear and formal definition. So lets borrow it from the official website python.org.

Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.

Now, this is a very clear definition for anybody who is already familiar with all the concepts used in the definition itself. This book though, targets a different audience with potentially no expertise at all on programming languages, so we will go over the concepts mentioned in the definition.

Lets start with a very general point of view. Python is a programming language which is very flexible and adapts to different context. Whether you need a rapid development of applications up to large scientific projects which require intense computations, this language has your back. One of Pythons main characteristics is that it is easy to learn since its syntax generally facilitates the readability of the code. Also, users love the fact that in many situations the syntax required to develop a given set of instructions resembles the plain English which makes Python formidable in terms of immediate understanding of its features.

One of the other peculiarity which we must take into account when are choosing a programming language is its flexibility and the capacity of being extended to increment its features. This job is carried out by the so called modules. We reserve a specific section of this book to modules since they play a very important role in code development.

On last important characteristic is that Python is a multi-platform environment. Whether we are using Windows, MacOS or any of the Linux distributions, the Python interpreter can always be installed and used.

It really seems that this is the language to learn, but remember? We have to understand a bit of how it works internally. In the following sections, we briefly cover some of the most important characteristics mentioned in the definition.

Do you remember when we started this book? One of the first things we said was about how many programming languages have been developed over time. The point is: can we classify all those languages? Is there a way to group a given language by referring to a specific characteristic? Of course, the answer to all these questions is yes, we can. For instance, one of the most important distinctions you can have is whether a programming language is a compiled or an interpreted language. Lets try to understand the main differences since these two families have different purposes as well as pros and cons.

A compiled language is one where the program has to be converted into machine readable code. We write the so called source code and then through a compiler we compile the source code to convert it and express the instructions into the readable code by the target machine. For example, an addition operation + in your source code could be translated directly to the ADD instruction in machine code. In terms of advantages, we sure have faster performance. This is ensured by the fact the we can use the native code of the targeted machine. Also, compiled languages offer quite powerful optimization during the compiling phase.

An interpreted language is one where the instructions are not directly executed by the target machine, but instead are read and executed by some other computer program called interpreter (which normally is written in the language of the native machine). For example, the same + operation would be recognized by the interpreter at run time and it would then call its own add(a,b) function with the appropriate set of instructions which would then execute the machine code ADD instruction. In terms of advantages, these languages are easier to implement. The reason is given by the fact that developing efficient (i.e. good) compilers can be very hard. For those of you who have some kind of familiarity with compilers, just think about the LATEX compiler which is incredibly slow. The other good thing is that we do not need to run any compilation whatsoever. In other words, we can execute code directly on the fly. Lastly, they are definitely more convenient for dynamic languages.

Object-Oriented Programming (OOP) is a programming language model organized around objects rather than actions and data rather than logic. Historically, a program has been viewed as a logical procedure that takes input data, processes it, and produces output data. OOP takes the view that what we really care about are the objects that we have defined in our work space. We want to manipulate those objects rather than arguing about the underline logic required to manipulate them.

In OOP, objects play a major role then. They are the first things you think about when designing a program. Moreover, they can also be the result of the program you are developing. In other words, we work all the time with objects: we manipulate them to achieve a given data structure or a given result, for instance.

Objects can also be grouped into even conceptually higher and more abstract structures called classes. We will talk about classes later on in the book, so for now, lets think about them as a way to have objects which belong to the same class to share some characteristics. Each object can be seen as an instance of a particular class. Each class possesses its own methods or procedures and variables which call all be applied to whatever object belongs to the given class.

A high-level language is a programming language designed to simplify computer programming and the life of the coder. The reason we refer to this class of languages with the term high-level is because of the level of abstraction and the simplification associated with it. A high-level language is far away from machine code which is understood by the internal processor of a computer.

In general, these type of languages have source codes which contain easy-to-read syntax, often almost in plain English. It is only at a later stage that instructions are converted in a language which can be read by a processor.

This is a fundamental aspect since it allows the coder to write complex algorithms using a very intuitive language (i.e. syntax). To give you a taste, this is what you need to do to print the string Hello World in Assembly, a well known low-level programming language very close to the machine code, and in Python which is a high-level language.

print('Hello World')## Hello World
Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Python for non-Pythonians»

Look at similar books to Python for non-Pythonians. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Python for non-Pythonians»

Discussion, reviews of the book Python for non-Pythonians and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.