SOFTWARE
FREEDOM
DAY
PYTHON WORKSHOP
IS THIS PYTHON???
FATHER OF PYTHON
Guido van Rossum
"Over six years ago, in December 1989, I was looking for a "hobby" programming project that would keep me occupied during the week around Christmas. My office ... would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python's Flying Circus)."
WHAT IS PYTHON?
- Python is a Open Source Programming Language.
- Dynamic and high-level.
- Unlike C/C++, it is an Interpreted Language.
- Object Oriented.
Why Python?
- Extremely Readable.
- Developers prefer python, as they can then emphasis more on Logic then syntax.
- A thriving community of developer and contributors and third party application developers.
- Wide variety of Libraries like NumPy, SciPy, Turtle, Sklearn, PyGame, etc
Who all are using Python?
and the list goes on...
And now we will see the Magic...
No, we'll not get inside the computer!
We will see some cool Python Scripts.
- pacman.py
- send_text.py
- open_the_url.py
- search_your_location.py
- email_sender.py
Now lets talk about Money...
This is the most recent data,
so, conclusion:
Python Rocks!!!
Chocolate Question
Lets Begin with Python...
Installing Python
1. Go to http://www.python.org
2. Click on Download
3. Select the version, and download the setup file as according your Operating System, and Install.
"HELLO WORLD!"
How it's done in C and Java
#include<stdio.h>
int main()
{
printf("HELLO WORLD!");
return 0;
}
C
public class helloworld
{
public static void main(String[] args)
{
System.out.println("HELLO WORLD!");
}
}
Java
>>> print "HELLO WORLD!"
Pythonic Way
In python interpreter
In Python Script writer
print "HELLO WORLD!"
Open New File from Shell and write:
Now save the file as name.py
And execute it from command line as below:
$ python name.py
Difference between
Python Shell and Script Writer
VARIABLES AND DATATYPES
- Identifiers
- Keywords
- Assignment
- Operators & Expressions
IDENTIFIERS
So, while x_yz is a valid identifier, 9x_yz is not.
A name which can be used to identify a function, variable, module or class.
Uppercase letters: "A,B,..........,Z"
Lowercase letters: "a,b,..........,z"
Integers:"1,2,3................."
Special Character: "_"
KEYWORDS
and del from not while
as elif global or
assert else if pass
break except import print
class exec in with
continue finally is return
def for lambda try
ASSIGNMENTS
In Python, we don't declare what kind of data we want to put in a variable.
>>> a = 20
>>> b = 10
>>> a + b
>>> 30
>>>
>>> a**4
>>> 160000 # a*a*a*a
Examples
MULTIPLE ASSIGNMENT
>>> a,b = 10, 12
>>> print a
10
>>> print b
12
Lets Try to Swap two numbers in Pythonic way.
DATATYPES
# Integer
>>> a = 10
# Float
>>> b = 2.35
# String
>>> c = "Hello"
# List
>>> d = [1, 2, 'blah', 3.2]
>>> d[2]
'blah'
Operators
- Arithmetic: +, -, /, *, %, //
- Relational: >, <, >=, <=, ==, !=
- Logical: and, or
- Shorthand: +=, /=, -=, *=
TYPE CONVERSION
- float(string) -> float value
- int(string) -> integer value
- str(integer) or str(float) -> string representation
>>> a = 8.126768
>>> int(a)
8
If-else , the control flow
if expr1:
do this
elif expr2:
do that
...
...
...
else:
do whatever
>>> # Example
>>> x = 2
>>> if x==2:
print 'YES'
else:
print 'NO'
YES
>>> # Therefore, YES is the output
FUNCTIONS
>>> def functionname(params):
statement1
statement2
return something
Defining a Function
Example
>>> def addition(a,b):
c = a + b
return c
>>> print addition(20,30)
50
LISTS AND STRINGS
LISTS
>>> a = [23, 45, 1, -3434, 43624356, 234]
# Append
>>> a.append(45)
>>> a
[23, 45, 1, -3434, 43624356, 234, 45]
# Insert
>>> a.insert(0, 1) # 1 added at the 0th position of the list
>>> a
[1, 23, 45, 1, -3434, 43624356, 234, 45]
>>> a.insert(0, 111)
>>> a
[111, 1, 23, 45, 1, -3434, 43624356, 234, 45]
# Count the length of the list
>>> a.count(45)
2
# length
>>> print len(a)
9
# max
>>> max(a)
43624356
# slicing
>>> a[2:4]
23 45
STRING
>>> s = "I am Awesome "
>>> s
'I am Awesome '
>>> s = """ This is a
... multiline string, so you can
... write many lines"""
>>> print s
This is a
multiline string, so you can
write many lines
>>> s = 'I am Awesome "
>>> print len(s)
12
>>>
>>> q = 'and I am Awesome'
>>> s+q
I am Awesome and I am Awesome
LOOPING
while condition:
statement1
statement2
>>> n = 0
>>> while n < 11:
... print n
... n += 1
...
0
1
2
3
4
5
6
7
8
9
10
WHILE LOOP
>>> a = ['Python', 'is', 'powerful']
>>> for x in a:
... print x,
...
Python is powerful
FOR LOOP
FOR ELSE
For...else...
>>> for i in range(0, 5):
... print i
... else:
... print "Bye bye"
...
0
1
2
3
4
Bye bye
FUN FACTS
>>> # Try This
>>> import antigravity
>>> # and this
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
NOT A CHANCE!!! :P
>>> from __future__ import braces
SyntaxError: not a chance (<pyshell#46>, line 2)
Here are some links, which you can use.
- http://pythonpedia.com
- http://pypi.python.org - Python Package Index
- http://docs.python.org/2/tutorial/ - The “official” Python tutorial
- http://wiki.python.org/moin/MostPopularPythonProjects -
- MostPopularPythonProjects
- http://www.python.org/community/workshops/ - Python
- Conferences and Workshops
- http://wiki.python.org/moin/ - The Python “MoinMoin” Wiki
- http://docs.python.org/devguide/ - All about developing Python
- http://mail.python.org/mailman/listinfo - A list of all Python
Questions???
Python sfd
By Tanay Agrawal
Python sfd
- 1,202