Python Introduction Workshop

From Hackers and Designers
Revision as of 19:47, 5 January 2020 by Hd-onions (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
MainNavigation No

Python meme.jpg


Please keep in mind that Python cares about whitespace (spaces, returns, etc...), if you just paste the code in, be aware of what spaces you are also pasting in... ;-)

First alias python3 so you don't go nuts! Server by default uses python 2, but for this workshop we will use python 3.

$ alias python=python3

Create a file

$ nano

Add the following line

print('Hello World!')

Save the file and exit. Ctrl+O, Ctrl+X

Run the program.

$ python3

Add a comment to the top of your program. Comments are to help people read your program.

# Program by [username]

Create a variable to store input into the program.

# Import adds a library (addition functionality) to your program
# sys is the system library
import sys

# Read from stdin into a variable called instr
instr = sys.stdin.readline()

# Print message w/ variable
print('Hello ' + instr)

Run the program, this time with input.

$ whoami | python

Use the input to alter the output, before your print message add:

if instr == 'jbg':
  instr = 'Programmer'
  instr = 'Writer'

Save and run.

It doesn't work! This is because there is actually a return character in the string. Change the following:

instr = sys.stdin.readline().strip()

Save and run.

$ whoami | python
$ echo 'Ray Bradbury' | python

Create a new program ( which loops through all the lines coming from stdin.

 import sys

 for line in sys.stdin:

Run it.

$ cat /pub/451.txt | python

That's a lot of lines, how many exactly?

$ cat /pub/451.txt | python | wc -l

Simplest loop.

while True:

Simple loop.

for i in range(0, 10):

Let's store those lines in an array.

import sys

lines = []
for line in sys.stdin:

print('Stored ' + str(len(lines)) + ' lines.')

Run it.

$ cat /pub/451.txt | python

451 remixed via a function. Add the following to the top of your program.

def remix(lines):
  lines = reversed(lines)
  for line in lines:
    print(line[::-1]) # This is extended slice syntax. It works by doing [begin:end:step]

Add the following to the end of your program.


Run it.

$ cat /pub/451.txt | python | more

Try other splits.

print(line[10:15] + line[0:10])

Why is it called Python?

When he began implementing Python, Guido van Rossum was also reading the published scripts from “Monty Python’s Flying Circus”, a BBC comedy series from the 1970s. Van Rossum thought he needed a name that was short, unique, and slightly mysterious, so he decided to call the language Python.