0% found this document useful (0 votes)
86 views

Introduction To Python

This document provides an introduction to Python programming concepts including: - Printing, variables, math expressions, and data types like strings, integers, and floats. - Lists, tuples, dictionaries for storing sequences of values. Operations for modifying, looping through, and nesting containers. - Conditional logic with if/else statements and comparison operators. - Functions for organizing and reusing code, including passing arguments, returning values, and scoping. - Classes as templates for standardizing information from multiple instances of objects. Attributes and methods are used to represent properties and behaviors. It covers a wide range of fundamental Python topics at a high level to provide an overview of the language.

Uploaded by

hamza khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views

Introduction To Python

This document provides an introduction to Python programming concepts including: - Printing, variables, math expressions, and data types like strings, integers, and floats. - Lists, tuples, dictionaries for storing sequences of values. Operations for modifying, looping through, and nesting containers. - Conditional logic with if/else statements and comparison operators. - Functions for organizing and reusing code, including passing arguments, returning values, and scoping. - Classes as templates for standardizing information from multiple instances of objects. Attributes and methods are used to represent properties and behaviors. It covers a wide range of fundamental Python topics at a high level to provide an overview of the language.

Uploaded by

hamza khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 60

Introduction to Python

Dr. Noman Islam


Print
• In Python, the command print tells the program to
display words or numbers on the screen
• Keywords
• String
Variables
• name=“Noman”
• Variables can change their values
• With variables, Python is blind to semantics
• Give your variables meaningful names
• You can have spaces between variable assignments:
• nickname = "Bub“
• Variable names can't have spaces in them
Variables for numbers
• weight = 150
• Consider
• original_num = 23
• new_num = original_num + 7
• Python substitutes the original_number with value 23
• original_num = original_num + 10
• A variable can start out as one type of variable, then
become another type of variable.
Variable names
• 1st_prime_number = 2 is illegal. Why?
• prime_number_that_comes1st = 2 is legal
Math expressions
• +, -, *, /
• popular_number = 2 + 2
• sum_of_numbers = num + another_num
Legal and illegal variable names
• You can't enclose variable names in quotation marks.
• You can't have any spaces in it.
• It can't be a number or begin with a number
• A variable can't be any of Python's reserved words, also
known as keywords
Python keywords
• Variable names are case-sensitive
• Python's governing body recommends breaking up
multi-word variables with underscores
• You should balance readability with conciseness
Unfamiliar operators
• whats_left_over = 10 % 3
• % is the modulo operator.
• age += 1
• age -= 2
• age *= 3
Math Expressions: Eliminating ambiguity
• total_cost = 1 + 3 * 4
• In Python, as in algebra, the ambiguity is cleared up by
precedence rules
• Multiplication operations are completed before addition
operations
• Parentheses override all the other precedence rules.
Concatenating text strings
• greeting = "Hello"
• addressee = "World“
• whole_greeting = greeting + addressee
• You can use the plus sign to sum numbers, and you can
use it to concatenate strings
• But you can't use the plus sign to combine strings and
numbers
• print("The sum of 2 plus 2 is " + 4)
If statements
• if species == "cat":
• print("Yep, it's cat.")
• Note that it's two equal signs, ==, not one
• if 2 + 2 == 4:
• print("Everything makes sense.")
• Indentation is very important
Comparison operators
• == is a type of comparison operator, specifically it's the
equality operator
• !=
•>
•<
• >=
• <=
else and elif
• Often, you want something to happen either way
• Statements that execute in the else case are indented
• Finally, there's elif. It's short for else if. If no test has
been successful yet, an elif tries something else.
Testing set of conditions
• You can test for a combination of conditions in Python
by using the keyword and
• You can also create a test that passes if any condition is
met. The keyword is or.
• You can combine any number of and and or conditions
If statements nested
• Nest levels are communicated to Python by indentations
Comments
• Comments are lines of text in your code that Python
ignores
• A comment can help you figure out your code when you
come back to it a month or a year later
• To write a comment, begin with #. For readability, add a
space after the #
Lists
• A list is a variable that can have a sequence of values
assigned to it
• In a list, these values are known as elements
• cities = ["Atlanta", "Baltimore", "Chicago“]
• The first element in a list always has an index of 0, the
second element an index of 1, and so on
• You can even mix the different types of values in the
same list
Adding and changing elements in list
• cities.append("New York")
• There's an alternative way to append. It allows you to
add one or more elements to a list:
• cities = cities + ["Dubuque", "New Orleans"]
• todays_tasks = []
• If I want to insert "New York" at the beginning of the list,
I write:
• cities.insert(0, "New York")
Lists: Taking slices out of them
• cities[2:5]
• smaller_list_of_cities = cities[:5]
• smaller_list_of_cities = cities[2:]
Lists: Deleting and removing elements
• del tasks[0]
• tasks.remove("call Sarah")
Lists: popping elements
• latest_task_accomplished = tasks.pop(1)
• To pop the last element in a list, skip the index number
• tasks_accomplished.insert(1, tasks.pop(1))
Tuples
• They can't be changed—unless you redefine the whole
tuple
• states_in_order_of_founding = ("Delaware",
"Pennsylvania", "New Jersey", "Georgia")
Tuple
• A tuple-pronounced "toople" by some people and
"tupple" by others-is like a list, but the elements are
fixed
• Example:
• states_in_order_of_founding = ("Delaware", "Pennsylvania",
"New Jersey", "Georgia")
• A tuple starts numbering at 0
• You can't add, modify, remove, delete, or pop
For loop
• for a_clean_city in cleanest_cities:
if city_to_check == a_clean_city:
print("It's one of the cleanest cities")
• If Python finds a match, there's no point in continuing
the loop. So you stop the loop by adding a break
statement
Nested loop
• for a_first_name in first_names:
• for a_last_name in last_names:
• full_names.append(a_first_name + " " + a_last_name)
Input
• input()
• int()
• float()
• str()
Changing case
• lower()
• upper()
• title()
Dictionaries
• A dictionary works something like a list, but instead of a
simple series of things, a dictionary is a series of pairs
of things
• Each pair contains a key and a value
• customer_29876 = {"first name": "David", "last name":
"Elliott", "address": "4803 Wellesley St."}
• customer_29876["address"]
• But keys don't have to be strings. They can be numbers
Adding items in dictionary
• customer_29876["city"] = "Toronto“
• Empty dictionary
• things_to_remember = {}
Removing and changing elements
• del customer_29876["address"]
• customer_29876["city"] = "Winipeg”
Looping through dictionary
• for each_value in customer_29876.values():
• print(each_value)
• for each_key in customer_29876.keys():
• print(each_key)
• for each_key, each_value in customer_29876.items():
• print("The customer's " + each_key + " is " + each_value)
List of dictionary
• Defining a list of dictionary
• Picking up values
• Length of customers
• Append
Dictionary of list
• customer_29876 = {"first name": "David", "last name":
"Elliott", "address": "4803 Wellesley St.", "discounts":
["standard", "volume", "loyalty"]}
• in keyword
Dictionary of dictionary
• customers = { "johnog": {"first name":"John", "last
name": "Ogden", "address": "301 Arbor Rd." },
"coder1200": {"first name":"Ann", "last name":
"Sattermyer", "address": "PO Box 1145" },
"madmaxine": {"first name":"Jill", "last name":
"Somers", "address": "3 Main St." }
}
Functions
• A function is a block of Python code that robotically does the
same thing again and again, whenever you invoke its name
def add_numbers():
first_number = 2
second_number = 3
total = first_number + second_number
print(total)

add_numbers()
Note: The function definition must come before the function
call.
Passing arguments to function
def add_numbers(first_number, second_number):
total = first_number + second_number
print(total)

add_numbers(1.11, 2.22)
• positional arguments
Keyword arguments
def say_names_of_couple(husband_name, wife_name):
print("The names of the couple are " + husband_name
+ " and " + wife_name)

say_names_of_couple(husband_name="Bill",
wife_name="Zelda")
Assigning default values
def calc_tax(sales_total, tax_rate=.04):
print(sales_total * tax_rate)
• You can mix positional arguments and keyword
arguments. For example, you can code…
give_greeting("Hello there", first_name="Al”)
• Positional arguments must come before keyword
arguments
• Lists and dictionaries, as well as strings and numbers,
can be arguments passed to a function
Unknown number of arguments
def display_result(winner, score, **other_info):
print("The winner was " + winner)
print("The score was " + score)
for key, value in other_info.items():
print(key + ": " + value)

display_result(winner="Real Madrid", score="1-0", overtime ="yes",


injuries="none")
• The two asterisks followed by a parameter name mean that there
may or may not be one or more extra arguments passed.
• Positional arguments can be optional as well. To handle
optional positional arguments, you use a single asterisk
def display_nums(first_num, second_num, *opt_nums):
print(first_num)
print(second_num)
print(opt_nums)

display_nums(100, 200, 300, 400, 500)


Passing information back from functions
def calc_tax(sales_total, tax_rate):
tax = sales_total * tax_rate
return tax

sales_tax = calc_tax(sales_total=101.37, tax_rate=.05)


print(sales_tax)
Using functions as variables
• print(calc_tax(sales_total=101.37, tax_rate=.05))
• result_of_adding = add_numbers(1, 2)
• result_of_subtracting = subtract_numbers(3, 2)
• sum_of_results = result_of_adding +
result_of_subtracting
Local Vs Global variables
def whatever(b, c):
total = b + c
return total

print(b)
you'll get an error message
• A variable defined in a function is recognized inside the function—
and only inside the function
• Remember, variables defined in the main code are global, meaning
that they're recognized everywhere, including inside functions
Functions within functions
def say_something():
what_to_say = "Hi"
now_say_it()

def now_say_it():
print(what_to_say)
While loops
• while user_input != "q":
• user_input = input("Enter a city, or q to quit:")
• break
• True, False
Classes
• In Python, classes are templates. They help you standardize
and organize information

class Patient():
def __init__(self, last_name):
self.last_name = last_name

pid4343 = Patient("Taleb")
• Instead of creating a class and then creating multiple instances
of the class, you could create a dictionary for each patient
Adding more attributes
• self.first_name = first_name
• self.age = age

• Getting info out of class:


• age_of_patient = pid4343.age
Building functions
• Rather than coding a freestanding function, we can
build the function into the class itself. When we do that,
the function is called a method
def say_if_minor(self):
if self.age < 21:
print(self.first_name + " " + self.last_name + " is a minor")
Changing an attributes value
• pid4343.last_name = "Ortega“
• Using method to change value
Data files
• with open("greet.txt", "w") as f:
• f.write("Hello, world!")
• with open("greet.txt", "r") as f:
• text_of_file = f.read()
• The read-file mode is the default for the open
statement, so if you're opening a file to read data, you
can, if you like, skip the "r"
Appending data
• with open("greet.txt", "a") as f:
• f.write("\nHave a nice day!")
Modules
• Write a function once, call it from any Python program.
• Keep your main programs shorter and simpler to read.
• Use code written by other people by importing their
modules

• import calculations
• tax_for_this_order =
calculations.calc_tax(sales_total=101.37, tax_rate=.05)
CSV files
Year,Event,Winner
1995,Best-Kept Lawn,None
1999,Gobstones,Welch National
2006,World Cup,Burkina Faso

• import csv
• with open("competitions.csv") as f:
• contents_of_file = csv.reader(f)
• for each_line in contents_of_f:
• potter_competitions += each_line
Picking information from CSV
• print(potter_competitions[4])
• index_number_of_target =
potter_competitions.index("Best-Kept Lawn")
Loading information in CSV
• with open("whatever.csv", "w", newline="") as f:
• data_handler = csv.writer(f, delimiter=",")
• data_handler.writerow(["Year", "Event", "Winner"])
• data_handler.writerow(["1995", "Best-Kept Lawn", "None"])
• data_handler.writerow(["1999", "Gobstones", "Welch
National"])
• Use with open("whatever.csv", "a", newline="") as f: to
append
Saving a python list to dictionary
• You can't save a Python list in a text file. You can only
save a text string
• You can save a list in a CSV file, but a more
straightforward approach is to use JSON.
• The four characters stand for JavaScript Object Notation.
• import json
• alphabet_letters = ["a", "b", "c"]
• with open("alphabet_list.json", "w") as f:
• json.dump(alphabet_letters, f)
Retrieving contents from json
• with open("customer_29876.json") as f:
• customer_29876 = json.load(f)
Exception handling
• Bad things can happen to good programs.
• Try
• Except FileNotFoundError:

You might also like