Skip to content

Instantly share code, notes, and snippets.

@caseyanderson
Last active August 22, 2022 18:07
Show Gist options
  • Save caseyanderson/356a1245de597ac8cec27180937ea34c to your computer and use it in GitHub Desktop.
Save caseyanderson/356a1245de597ac8cec27180937ea34c to your computer and use it in GitHub Desktop.

Introduction to Python

Python is a general-purpose, interpreted, high-level programming language. The syntax of the language has been optimized to emphasize code readability, as well as brevity.

Note: though there are multiple versions of python we will exclusively use Python3

Variables & Strings

A variable is a container for data

data = "hello world"

A variable is created when we put data in it. Once created we can ask Python for information about the data

type(data)

The above line returns str, short for string, a datatype representing characters surrounded by quotes.

Note: quotes must be balanced. Below we are missing a closing quote so Python will complain (SyntaxError: unterminated string literal (detected at line 1))

data = "hello word

We can ask Python how long the string stored at data with len()

len(data)

Built-in String Methods

Return a part of the string (referred to as "string slicing") with the following

data[:3]

One can see what other operations are possible with data by typing data. and then hitting the TAB key

data.

From this list, one can type out any of the functions followed by a ? and hit ENTER to see a brief description of what it does.

To convert the string to a capitalized version of itself

data.upper()

Note that running .upper() on data does not permanently alter the data stored there

data

To replace the lowercase version of the string at data with a capitalized version

data = data.upper()
data

Integers & Floats

There are two basic types of numbers:

  • integers
  • floating point numbers (floats for short)

Integers are any whole number (positive or negative)

data = 5
type(data)

floats are any number with a decimal point

data = 4.0
type(data)

Lists

A compound data type used to group multiple values together. A list is written as a series of comma-separated items between square brackets. They do not need to be of uniform datatype

data = ['spam', 'eggs', 100, 1234]
data

Individual items in a list are referenced by their index, or location in the list. We can reference individual items by entering the variable and the position (counting from 0)

data[0] # the first item in the list
data[3]
data[:2] # a list can be sliced just like a string

Individual items/elements in a string can be modified (or updated) as follows

data[1] = 2
data

One can make Python determine the length (or size) of list by calling len() on it.

len(data)

Adding Elements to a List

insert

add an element to a list at index

h = [ 'this', 'is', 'a', 'list' ]
h.insert(3, 'great')
h

append

add an element to the end of a list

h.append('certainly')
h

Removing Elements From a List

There are two basic ways to remove an element from a list:

  • pop
  • remove

pop

remove and return an item from a list at index. If no index is specified pop removes and returns the last item of a list

h = ['this', 'is', 'a', 'great', 'list', 'certainly', 'the', 'best', 'list']
h.pop()
h

remove

remove the first occurrence of value

h
h.insert(2, 'is') # insert a duplicate word
h # confirm the duplicate
h.remove('is')
h

loops

There are two basic types of loops in Python:

  • while
  • for

while

A while loop executes a block of code repeatedly until a condition has been met. In Python we use whitespace to denote blocks (multiple lines of related code) with 4 spaces (or 1 tab)

data = 0

while data < 25:
    print(data)
    data+=1

print("done!")

Above we initialize a variable (data) to 0. Our while loop block has two lines:

  1. print the current value of data
  2. increment (adds 1 to) data

These two lines repeat until the current value of data is not less than 25

for

A for loop iterates across a sequence of values, performing a block of code for every item in the sequence. I could rewrite our previous example with a for loop like so

for i in range(25):
    print(i)

print("done!")

import

One of the benefits of using Python is its robust "standard library," or built-in tools that available by default whenever one is programming in Python. len(), while, for, and print() are some examples.

There are lots of modules and packages that other programmers have written which we can incorporate into our own code by using import. For example

import math

math.pi

Which enables a programmer to easily generate the first few digitsl of pi

We can import the entire module/package or we can just get something specific from it

from math import pi

pi

Miniconda

Installation

  1. Go here to download the Miniconda 3 Installer for your operating system
  2. Once the download has finished run the installer:
    • MacOS: In the Terminal bash Downloads/Miniconda3-latest-MacOSX-x86_64.sh
    • Windows: Navigate to Downloads (or wherever you downloaded this) and double click the .exe file
  3. Follow the installation prompts
  4. Update Miniconda3:
    • MacOS: In the Terminal conda update conda
    • Windows: In Anaconda Powershell Prompt (miniconda3) execute conda update conda
  5. Agree to the installation prompts

Environment Setup

  1. Create and name a new Python environment conda create -n physcpu1 python
  2. Activate the environment conda activate physcpu1
  3. Install Jupyter Notebook via pip pip install notebook
  4. Run Jupyter Notebook jupyter notebook
  5. Quick tour of Jupyter Notebook
  6. From home page find and click on the Quit button to shutdown the server
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment