Documentation - Python 3 | CodeHS (2024)

Python3 Documentation

Basics

Variables

We use variables to store values that can be used to control commands in our code. We can also alter these values throughout the code.

# Make a variable to store textname = "Zach"# Create variables that are numbersnum_one = 3num_two = 4sum_nums = num_one + num_two# We can also assign multiple variables at oncenum_one, num_two = 3, 4# The value of a variable can be changed after it has been creatednum_one = num_one + 1

Variables have an associated 'type' based on their characteristics. A string (str) is a text element, an integer (int) is a whole number element, a float (float) is a number with decimal places, and a Boolean (bool) is an element that returns either True or False. We use the type command to determine the type of an element.

# The output will be str, or stringprint(type(name))# The output will be int, or integerprint(type(sum_nums))# The output will be bool, or booleanprint(type(3==3))# We can change the type of an element by using the shortened name of the type# We do this when concatenating strings, such as:age = 16print("My age is " + str(age))

Comments

We use comments to leave notes about the code to the reader. Comments are not actually run by Python, they are just there to help us read the code.

We can make multiline comments with """ and single line comments with #.

"""A multi-line comment describes your codeto someone who is reading it."""Example:"""This program will ask the user for two numbers.Then it will add the numbers and print the final value."""number_one = int(input("Enter a number: "))number_two = int(input("Enter a second number: "))print("Sum: " + str(number_one + number_two))# Use single line comments to clarify parts of code.Example:# This program adds 1 and 2added = 1 + 2print(added)

Exceptions

Exception handling allows us to prevent our programs from crashing in the event of a fault.

# Try/Except with inputtry: my_number = int(input("Enter an integer: ")) print("Your number: " + str(my_number))except ValueError: print("That wasn't an integer!")# Try/Except for Type Errorstry: my_number = '2' + 2except TypeError: print("A type error has occurred!")# Try/Except for Key Errorsdictionary = {'1':'k', '3':'A', '4':'R', '5':'E', '6':'L'}try: dictionary['2']except KeyError: print("Key error")# Try/Except for Attribute Errorstry: dictionary.no_method()except AttributeError: print("Attribute Error!")# You can also havetry: my_number = int(input("Enter an integer: ")) print("Your number: " + str(my_number))except: print("There was an error.")

Random Numbers

To be able to use the randint or choice functions, you must use import random at the beginning of your code.

# Random integer between (and including) low and highimport randomrandom_num = random.randint(low, high)random_element = random.choice(string)# Example:# Returns random number within and including 0 and 10.random_num = random.randint(0,10)# Random element in a stringrandom_element = random.choice('abcdefghij')

Control Structures

If/If Else Statments

We can tell the computer how to make decisions using if/else statements. Make sure that all the code inside your if/else statement is indented one level!

If Statments

Use an if statement to instruct the computer to do something only when a condition is true. If the condition is false, the command indented underneath will be skipped.

if BOOLEAN_EXPRESSION: print("This executes if BOOLEAN_EXPRESSION evaluates to True")# Example:# The text will only print if the user enters a negative numbernumber = int(input("Enter a number: "))if number < 0: print(str(number) + " is negative!")

If/Else Statements

Use an if/else statement to force the computer to make a decision between multiple conditions. If the first condition is false, the computer will skip to the next condition until it finds one that is true. If no conditions are true, the commands inside the else block will be performed.

if condition_1: print("This executes if condition_1 evaluates to True")elif condition_2: print("This executes if condition_2 evaluates to True")else: print("This executes if no prior conditions evaluate to True")# Example:# This program will print that the color is secondarycolor == "purple"if color == "red" or color == "blue" or color == "yellow": print("Primary color.")elif color == "green" or color == "orange" or color == "purple": print("Secondary color.")else: print("Not a primary or secondary color.")

Operators

We use mathematical, comparison, and logical operators in our codes to compare and alter values and make decisions.

Mathematical Operators

Use mathematical operators to alter values.

+ Addition- Subtraction* Multiplication/ Division** Power% Modulus (Remainder)() Parentheses (For order of operations)# Examplesz = x + yw = x * y# Divisiona = 5.0 / 2 # Returns 2.5b = 5.0 // 2 # Returns 2.0c = 5/2 # Returns 2.5d = 5 // 2 # Returns 2# Increment (add one)x += 1# Decrement (subtract one)x -= 1# Absolute valueabsolute_value = abs(x)abs_val = abs(-5) # Returns 5# Square rootimport mathsquare_root = math.sqrt(x)# Raising to a powerpower = math.pow(x, y) # Calculates x^y# Alternatepower = x**y # Calculates x^y# Roundingrounded_num = round(2.675, 2) # Returns 2.68

Comparison Operators

Use comparison operators to compare elements in order to make decisions in your code. Comparison operators return booleans (True/False).

x == y # is x equal to yx != y # is x not equal to yx > y # is x greater than yx >= y # is x greater than or equal to yx < y # is x less than yx <= y # is x less than or equal to y# Comparison operators in if statementsif x == y: print("x and y are equal")if x > 5: print("x is greater than 5.")

Logical Operators

Use logical operators to check multiple conditions at once or one condition out of multiple.

# And Operatorand_expression = x and y# Or Operatoror_expression = x or y# You can combine many booleans!boolean_expression = x and (y or z)

Loops

Loops help us repeat commands which makes our code much shorter. Make sure everything inside the loop is indented one level!

For Loops

Use for loops when you want to repeat something a fixed number of times.

# This for loop will print "hello" 5 timesfor i in range(5): print("hello")# This for loop will print out even numbers 1 through 10for number in range(2, 11, 2): print(number)# This code executes on each item in my_list# This loop will print 1, then 5, then 10, then 15my_list = [1, 5, 10, 15]for item in my_list: print(item)

While Loops

Use while loops when you want to repeat something an unknown number of times or until a condition becomes false. If there is no point where the condition becomes false, you will create an infinite loop which should always be avoided!

# This program will run as long as the variable 'number' is greater than 0# Countdown from from 10 to 0number = 10while number >= 0: print(number) number -= 1# You can also use user input to control a while loop# This code will continue running while the user answers 'Yes'answer = input("Continue code?: ")while answer == "Yes": answer = input("Continue code?: ")

Break and Continue

We can use the break command to end our code. The continue command will leave the control structure at that point and move to the commands found afterward.

# This code will end when the use enters a negative number or 42number = int(input("Enter a number: "))while number != 42: if number < 0: break else: print(number) number = int(input("Enter a number: "))# This code will only print the numbers 0 to 3 and 6for i in range(5): if i < 4: print(i) else: continueprint(6)

Functions

Writing a function is like teaching the computer a new word.

Naming Functions: You can name your functions whatever you want, but you can't have spaces in the function name. Instead of spaces, use underscores ( _ ) like_this_for_example

Make sure that all the code inside your function is indented one level!

Defining a Function

We define a function to teach the computer the instructions for a new word. We need to use the term def to tell the computer we're creating a function.

def name_of_your_function(): # Code that will run when you make a call to # this function.# Example:# Teach the computer to add two numbersnum_one = 1num_two = 2def add_numbers(): sum_nums = num_one + num_two

Returning Values in Functions

We can use the command return to have a function give a value back to the code that called it. Without the return command, we could not use any altered values that were determined by the function.

# We add a return statement in order to use the value of the sum variablenum_one = 1num_two = 2def add_numbers(): sum_nums = num_one + num_two return sum_nums

Calling a Function

We call a function to tell the computer to actually carry out the new command.

# Call the add_numbers() function once# The computer will return a value of 3add_numbers()# Call the add_numbers() function 3 times and print the output# The output will be the number 3 printed on 3 separate linesprint(add_numbers())print(add_numbers())print(add_numbers())

Using Parameters in Functions

We can use parameters to alter certain commands in our function. We have to include arguments for the parameters in our function call.

# In this program, parameters are used to give two numbersdef add_numbers(num_one, num_two): sum_nums = num_one + num_two return sum_nums# We call the function with values inside the parentheses# This program will print '7'print(add_numbers(3, 4))# If we have a list with the same number of parameters, we# can use the items to assign arguments using an asteriskmy_list = [3, 4]print(add_numbers(*my_list))

Data Structures

Strings

Strings are pieces of text. We can gain much information about strings and alter them in many ways using various methods.

Indexing a String

We use indexing to find or take certain portions of a string. Index values always start at 0 for the first character and increase by 1 as we move to the right. From the end of the string, the final value also has an index of -1 with the values decreasing by 1 as we move to the left.

# Prints a character at a specific indexmy_string = "hello!"print(my_string[0]) # print("h")print(my_string[5]) # print("!")# Prints all the characters after the specific indexmy_string = "hello world!"print(my_string[1:]) # print("ello world!")print(my_string[6:]) # prints("world!")# Prints all the characters before the specific indexmy_string = "hello world!"print(my_string[:6]) # print("hello")print(my_string[:1]) # print("h")# Prints all the characters between the specific indicesmy_string = "hello world!"print(my_string[1:6]) # print("ello")print(my_string[4:7]) # print("o w")# Get the length of the stringprint(len(my_string))# Iterates through every character in the string# Will print one letter of the string on each line in ordermy_string = "Turtle"for i in range(len(my_string)): print(my_string[i])# Another way to iterate through each character in the stringmy_string = "Turtle"for letter in my_string: print(letter)# Completes commands if the string is found inside the given stringmy_string = "hello world!"if "world" in my_string: print("world")# Concatenationmy_string = "Tracy the"print(my_string + " turtle") # print("Tracy the turtle")# Splits the string into a list of lettersmy_string = "Tracy"my_list = list(my_string) # my_list = ['T', 'r', 'a', 'c', 'y']# Using enumerate will print the index number followed by a colon and the# word at that index for each word in the listmy_string = "Tracy is a turtle"for index, word in enumerate(my_string.split()): print(str(index) + ": " + word)

String Methods

There are many methods that can be used to alter strings.

# upper: To make a string all uppercasemy_string = "Hello"my_string = my_string.upper() # returns "HELLO"# lower: To make a string all lowercasemy_string = "Hello"my_string = my_string.lower() # returns "hello"# isupper: Returns True if a string is all uppercase letters and False otherwisemy_string = "HELLO"print(my_string.isupper()) # returns True# islower: Returns True if a string is all lowercase letters and False otherwisemy_string = "Hello"print(my_string.islower()) # returns False# swapcase: Returns a string where each letter is the opposite case from originalmy_string = "PyThOn"my_string = my_string.swapcase() # returns "pYtHoN"# strip: Returns a copy of the string without any whitespace at beginning or endmy_string = " hi there "my_string = my_string.strip() # returns "hi there"# find: Returns the lowest index in the string where substring is found# Returns -1 if substring is not foundmy_string = "eggplant"index = my_string.find("plant") # returns 3index = my_string.find("Tracy") # returns -1# split: Splits the string into a list of words at whitespacemy_string = "Tracy is a turtle"my_list = my_string.split() # Returns ['Tracy', 'is', 'a', 'turtle']

Tuples

Tuples are immutable sequences of items.

Creating a Tuple

We create a tuple by listing items inside parentheses. We can include elements of any type.

# Make a new tuple named "my_tuple"my_tuple = (1, 2, 3, 4, 5)# Tuple with elements of different typesmy_tuple = (0, 1, "Tracy", (1, 2))# Tuple with single elementmy_tuple = (3,)# Tuple of tuplesmy_tuple((0, 1), (2, 3))

Altering a Tuple

Due to the immutable nature of tuples, we cannot alter individual elements in the tuple but can perform various other tasks with them.

# Get the length of the tupleprint(len(my_tuple))# Accessing elements within nested tuplesprint(my_tuple[0][0])print(my_tuple[1][0])# Concatenating tuplesx = (1, 2)y = (5, 6)my_tuple = x + (3,) + y

Lists

Lists are mutable sequences of items.

Creating a List

We create a list by listing items inside square brackets. We can include elements of any type.

# Create an empty listmy_list = []# Create a list with any number of itemsmy_list = [item1, item2, item3]# Example:number_list = [1, 2, 4]# A list can have any typemy_list = [integer, string, boolean]# Example:a_list = ["hello", 4, True]

Altering a List

Due to the mutable nature of lists, we can alter individual elements in the list.

# Access an element in a list using indexinga_list = ["hello", 4, True]first_element = a_list[0] # Returns "hello"# Access multiple elements in a list using slicinga_list = ["hello", 4, True]first_element = a_list[0:2] # Returns ["hello", 4]# Set an element in a lista_list = ["hello", 4, True]a_list[0] = 9 # Changes a_list to be [9, 4, True]# Looping over a list# Prints each item on a separate line (9, then 4, then True)a_list = [9, 4, True]for item in a_list: print(item)# Length of a lista_list = [9, 4, True]a_list_length = len(a_list) # Returns 3# Creates a list based on first operation# This will create a list with numbers 0 to 4a_list = [x for x in range(5)]# This will create a list with multiples of 2 from 0 to 8list_of_multiples = [2*x for x in range(5)]

List Methods

There are many methods that can be used to alter lists.

# append: Add to a lista_list = ["hello", 4, True]a_list.append("Puppy") # Now a_list = ["hello", 4, True, "Puppy"]# pop: Remove and return last element from the lista_list = ["hello", 4, True]last_item = a_list.pop() # Removes True, now a_list = ["hello", 4]# Remove and return an item from a list at index ia_list = ["hello", 4, True]a_list.pop(0) # Removes "hello", now a_list = [4, True]# index: Returns the index value of the first item in the list that matches element# There is an error if there is no such itema_list = ["hello", 4, True]a_list.index(4) # Returns 1 because 4 is found at index[1]a_list.index("hi") # Error because no item "hi"# sort: Sorts a given listmy_list = [9, 7, 1, 2, 3]my_list.sort() # Sorts list to [1, 2, 3, 7, 9]# reverse: Reverses a given listmy_list = [1, 2, 3, 4]my_list.reverse() # Reverses list to [4, 3, 2, 1]# count: Returns the number of instances of a particular item that were foundmy_list = [1, 4, 2, -4, 10, 0, 4, 2, 1, 4]print(my_list.count(4)) # Returns 3print(my_list.count(123)) # Returns 0 because 123 does not exist in list# extend: Allows us to add a list to a listmy_list = [1, 2, 3]my_list.extend([4, 5, 6]) # Returns [1, 2, 3, 4, 5, 6]# remove: Allows us to remove a particular item from a list# Only removes the first instance of the itemmy_list = ["apple", "banana", "orange", "grapefruit"]my_list.remove("orange") # Returns ["apple", "banana", "grapefruit"]# join: Creates string out of list with specified string placed between each itemmy_list = ["Tracy", "is", "a", "turtle"](" ").join(my_list) # Returns the list as a string with spaces between words

2D Lists

2D Lists allow us to create lists of lists.

# Create an empty listmy_list = []# Add to the listmy_list.append([1, 2, 3])my_list.append([4, 5, 6])# Access elements within the nested listsprint(my_list[0]) # Returns [1, 2, 3]print(my_list[0][1]) # Returns 2# Take a slice of the outer listprint(my_list[0:2]) # Returns [[1, 2, 3], [4, 5, 6]]# Take a slice of the inner listprint(my_list[0][0:2]) # Returns [1, 2]

Dictionaries

Dictionaries have a collections of key-value pairs.

a_dictionary = {key1:value1, key2:value2}# Example:my_farm = {pigs:2, cows:4} # This dictionary keeps a farm's animal count# Creates an empty dictionarya_dictionary = {}# Inserts a key-value paira_dictionary[key] = valuemy_farm["horses"] = 1 # The farm now has one horse# Gets a value for a keymy_dict[key] # Will return the keymy_farm["pigs"] # Will return 2, the value of "pigs"# Using the 'in' keywordmy_dict = {"a": 1, "b": 2}print("a" in my_dict) # Returns Trueprint("z" in my_dict) # Returns Falseprint(2 in my_dict) # Returns False, because 2 is not a key# Iterating through a dictionaryfor key in my_dict: print("key: " + str(key)) print("value: " + str(my_dict[key]))

Classes

Classes hold multiple functions.

# Declare a classclass MyClass: # The __init__ method is called whenever we instantiate our class def __init__(self): print("Class initiated") self.my_num = 0# Instantiate your classmy_class = MyClass()# Access instance variables in your classprint(my_class.my_num)my_class.my_num = 10# Adding arguments to your classclass Point: def __init__(self, x = 0, y = 0): self.x = x self.y = y# Instantiate the classp = Point(3, 4)

Sets

A set contains an unordered collection of unique and immutable objects.

# Make a new set named "new_set"new_set = set([])girl_scout_badges = set([])# Add to a setnew_set.add(item)girl_scout_badges.add("Squirrel Whisperer")# Does a set contain a valueitem in my_set # Returns a boolean"Squirrel Whisperer" in girl_scout_badges # Returns True# Number of elements in the setlen(my_set)len(girl_scout_badges) # Returns 1 since there is only one item in the set

Input/Output (I/O)

Printing

We can print elements to the screen by using the print command. If we want to print text, we need to surround the text with quotation marks " ". Unlike previous versions of Python, Python3 requires parentheses for printing.

print("Hello world")print(2 + 2)print(10)

String Formatting

name = "Tracy"age = 13print("My name is " + name + " and I am " + str(age) + " years old!")
print("My name is %s and I am %d years old!" % ('Zara', 21))

User Input

We can use input from the user to control our code.

# Ask the user for input and save it to a variable to be used in code# This will only work if the input is being used as a stringname = input("What is your name? ")# If input needs to be used as a number (i.e for a mathematical# calculation), include the term 'int' or 'float'num_one = int(input("Enter a number: "))num_two = int(input("Enter a second number: "))num_three = float(input("Enter a third number: "))# This input can then be used to control different parts of the codeprint("Hello, " + name)sum_nums = num_one + num_two

File Input

Use the following when importing files.

# Extracting Data from a File:# Example File:# test.txt# ------------------## Hello World# This is File Input## ------------------# Opening the file, Create a File object and store it in a Variable:file = open('test.txt')# Getting all text:file.read() # Returns: # Hello World # This is File Input# Getting a Line of Text:file.readline() # Returns: # Hello World# Getting lines in a file:for line in file: print(line + '!') # prints: # Hello World\n! # This is File Input\n!# Note '\n', signifying the end of a line of textfor line in file: print(line + '!') # prints: # Hello World # ! # This is File Input # !# To remove this extra newline, we can use:for line in file: print(line.strip() + '!') # prints: # Hello World! # This is File input!# Closing a Filefile.close()
Documentation - Python 3 | CodeHS (2024)
Top Articles
Latest Posts
Article information

Author: Lakeisha Bayer VM

Last Updated:

Views: 5277

Rating: 4.9 / 5 (49 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Lakeisha Bayer VM

Birthday: 1997-10-17

Address: Suite 835 34136 Adrian Mountains, Floydton, UT 81036

Phone: +3571527672278

Job: Manufacturing Agent

Hobby: Skimboarding, Photography, Roller skating, Knife making, Paintball, Embroidery, Gunsmithing

Introduction: My name is Lakeisha Bayer VM, I am a brainy, kind, enchanting, healthy, lovely, clean, witty person who loves writing and wants to share my knowledge and understanding with you.