# webinar review 04/22/21 # Ch 8, 9, 11 and 12 end of chapter are critical # Be able to recognize and use common data types and modules # integers # floats # strings # lists # dictionaries # sets # tuples # # modules # math # random # datetime # os # calendar # pandas # operators # = # assignment # == # equality - asking if it's equal # + # - # * # / # // # floor division # % # modulo - gives the (whole number) REMAINDER, how many didn't fit? # print(41 // 16, "pounds and") # print(41 % 16, "ounces") # ** # != # < # > # <= # >= # not # += # x += 1 is the same as x = x + 1 # -= # FUNCTIONS # defining vs calling # parameters vs arguments # x = 5 # don't do that with parameters # return vs print() # methods of a data type are themselves functions # IF and IF/ELSE and IF/ELIF/ELSE # LOOPS are for repeating action # WHILE LOOP is an IF that repeats as long as the condition is TRUE # FOR LOOP is tied to a container # for __ in __: # for item in myList: # for i in range(0, 5): # "membership check" myTuple = ("Gilligan", "Castaway002", "red", "crew") # item __ in __ print("Gilligan" in myTuple) # True print("Skipper" in myTuple) # False if "red" in myTuple: print("I found red") # print(dir(str)) # STRINGS methods # myString.format() # myString.join() # myString.split() # myString.find() # myString.replace() # used to "remove" # myString.isUpper() # and .isLower() # myString.upper() # myString.lower() # myString.title() # myString.capitalize() # myString.strip() # .lstrip() and rstrip() # myString.count() # Be able to SLICE like it's second nature # BUILDING UP LARGER STRINGS x = "Sue" greeting = "How do you do?" # myString = "My name is " + x + ". " + greeting # myString = "My name is %s. %s" % (x, greeting) myString = "My name is {}. {}".format(x, greeting) print(myString) # LISTS myList = ["Sam", "Bucky", "Sharon", "Bad Cap"] # myList.append() # myList.insert() # myList.pop() # by index # myList.remove() # by value # myList.count() # myList.sort(reverse=False) # myList.reverse() # myList.index() # myList.copy() # myList.clear() # DICTIONARIES scoobies = { "Scooby": "a blue collar", "Shaggy": "green", "Velma": "orange", "Daphne": "purple", "Fred": "an ascot" } # scoobies["Scooby Dumb"] = "red" # for key in scoobies: # # nameOfDict[key] --> get value for key # print("{} always wears {}.".format(key, scoobies[key])) # SETS - remember sets have no order, no duplicates (all unique) # mySet.add() # mySet.remove() # mySet.discard() # MODULES # MATH # math.e # math.sqrt() # math.pow() # raise x to y power # math.floor() # always rounds down # math.ceil() # always rounds up # math.exp() # don't confuse with .pow(), this raise math.e to a power # RANDOM # random.random() # returns float between 0 and 1 # random.choice() # gets random value from a list # random.randint() # randInt is INCLUSIVE of the stop number # random.randrange() # randrangE EXCLUDES the stop, like normal # DATETIME module import datetime # print(dir(datetime)) # focus on # datetime.datetime # represents a point in time # datetime.timedelta # represents a period of time: a difference or delta dt = datetime.datetime(2021, 1, 1) print(dt) dt = datetime.datetime.today() print(dt) print(dt.month) print(dt.hour) td = datetime.timedelta(days=7) print(dt + td) print(td.total_seconds()) print(dir(datetime.timedelta)) # OS # os.getcwd() # os.listdir() # os.path.isdir() # BUILT IN FUNCTIONS # print() # help() # dir() # len() # min() # max() # sum() # range() # str() # list() # dict() # tuple() # set() # int() # float() # enumerate() # round() for i, item in enumerate(myList): print(i, item) for i in range(len(myList)): print(i, "->", myList[i]) # HTML is just strings # IMPORT statements import math # import it all from datetime import date # partial --> not datetime.date.today() but date.today() import random as rr # rr.randrange() print(round(math.pi, 10)) def addToPi(someNum): import math return math.pi + someNum print(addToPi(0)) print(addToPi(1)) print(addToPi(5)) print(addToPi(math.e)) def addToList(someList, someValue): if someValue in someList: print(someList) else: someList.append(someValue) print(someList) addToList(myList, "Wanda") addToList([1, 2, math.pi], math.pow(math.e, 3)) addToList([1, 2, math.pi], math.exp(3)) addToList([1, 2, math.pi], round(math.exp(3), 2)) # strings and float precision print("%.2f" % math.e) print("{:.2f}".format(math.e)) # # print(dir(math))