David Beazley | Keynote: Built in Super Heroes

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

Automatically upvote David Beazley

👍︎︎ 8 👤︎︎ u/holyshititsonlythurs 📅︎︎ Sep 29 2016 🗫︎ replies

TLDW: After a brief introduction to some lesser known built-in types (e.g. defaultdict, Counter), he shows how to use these types for typical data processing tasks.

👍︎︎ 5 👤︎︎ u/yaph 📅︎︎ Sep 28 2016 🗫︎ replies

Another great talk by Dave Beazley. Cool presentation, and I did learn something new:

d1 = { 'a': 1, 'b': 2, 'c': 3 }
d2 = { **d1, 'b': 4 }
print(d2)  # { 'a': 1, 'b': 4, 'c': 3 }

Like a functional dict.update. Love it!

👍︎︎ 3 👤︎︎ u/elingeniero 📅︎︎ Sep 29 2016 🗫︎ replies

May I ask a stupid question? What slides tool he used?

👍︎︎ 1 👤︎︎ u/spiderpower02 📅︎︎ Sep 29 2016 🗫︎ replies
Captions
the three a.m. is just a waiting time you know you got a gotta get situated there so uh so the the talk title did built in syrup superheroes I was trying to think about a I don't know like a topic for this this conference and it turns out this kind of marks like the 20 year anniversary of me using Python I've been thinking about you know like how do I use it over the years or like what have I used it for what do I get out of it and one of the I think the major use of Python for me is as like a personal productivity tool oh so it's a little bit of a little bit of background I actually was a little weird this morning the keynote talk there was this slide talking about the scaling of these like particle codes on supercomputers I don't know whether anybody remembered that talk I got started in Python as one of the data points on that graph I actually was working on molecular dynamics in a physics group doing particle codes on supercomputers back in sort of you know 1996 and one of the things about that that work is that you know we were dealing with big data at the time and we were doing supercomputing code big data in that in that era would have been like 16 gigabytes which is I find amazing cuz like my phone has 64 gigabytes so it's you know we're dealing with you know these 16 gigabyte data files and a lot of what we were doing is you know we've run these things on the supercomputer that would maybe only take you know like 10 hours or something like that and then it would take weeks to analyze because we're just doing all this stupid stuff like transferring files around and trying to convert file formats and like get data in from one tool to another tool and other other stuff and one of the things that got me into Python was it it's kind of a tool for dealing with all of this really annoying crap you know it's like the problem that we're trying to solve but then there's like all this other you know all these other stuff like managing data so you know that in the data science we're all you hear this you know this this phrase you know it's like 90% of your time is spent like munging the data like 10% is actually doing something with it so that was very much the case for uh for me and in thinking about like using Python since then I was trying to think like what is the real secret weapon of the language so to speak and honestly I think it's the built-in types this might seem kind of like a basic thing to be talking about but if I actually honestly look at how I use by the day to day and what I use that use that use it for the most it's it's basically manipulating things like topples lists sets dictionaries various things from the collections module and and and and so forth and I think like like knowing about that is really kind of the key to becoming some kind of python wizard like i mean if you really want to get like your hands into the nuts and bolts of the language and doing stuff having like some can may end over that is a like a really useful useful skill now some of the some of the reasons for this I thought it would kind of like spell out some of the things that I think about with the built-in types of ones that they're everywhere there's also a great deal of flexibility there's a performance aspect and there's a fun aspect so what I wanted to do is actually talk about these for a second here so I'm gonna I'm gonna iterate through those and just talk about some of the reasons here so the first thing the first thing is that I've bought in Python slightly okay so so the first things just like the fact that the built-in types or everywhere like if you hate Python packaging the built-in types are for you basically I mean those are those are available like all versions of Python all operating systems all distributions you don't need to install anything they're just always there you can use them to do stuff so that's one that's one facet of it just always available there's a huge amount of flexibility with the built-in types I mean yeah you can make lists out of anything you can make these very complicated data structures list of tuples and dictionaries and sets and things and it's like you know it's it's awesome it's like what if you if you have we can you kind of get your mind in that space it's like you have this set of tools and you can do all sorts of amazing things with those the performance side of it is maybe a little bit weird but I feel like the built-in types are fast for my time as a coder basically it's uh you know things like memory is super cheap like if I need a lot of memory I can just spin up something on Amazon and create as many Python dictionaries as I can possibly imagine on there now now maybe if I'm trying to put some code into production later on I'd want to think about it it'd be a little bit smarter about things using you know number or pandas or something something like that but as as far as just getting something off the ground fast built-in types are great for that let me just kind of mess it around with stuff prototyping things it's it's more like my time that I'm trying to trying to optimize it's not optimized there and then the the other thing is just the I know there's like a certain fun quality to it I mean I I sort of feel like the built-in types aren't this sense like little building blocks they abstract away a lot of annoying details like I don't have to think about memory management right it's like I want to think about that they don't completely solve the problem usually that I'm trying to trying to do I mean it's like it's not like a it's not like a just like a turnkey thing where it's like I plug in my data and it just magically solves the problem um which which actually means you have to think a little bit about what you're doing and and and for me that's actually what makes programming fun is to actually still have to think about stuff you know it's like oh how am I gonna solve this problem but I think if I didn't have that I would just give up programming your nozzoli yeah there's got to be like a fun fun quality to it there's also a certain reward for cleverness which is a little bit of a dangerous things I'm thinking about the rant about physics code that somebody gave earlier and I got started coding the physicists right and you know there's like this so clever physics code and like people start running out of the running out of the room I did this cleverness thing okay maybe that's not what you want to do if you're writing like production code for like a big team or something like that but if you're just coding like it's a personal productivity kind of thing you got to be rewarded by you know clever tricks and and and and so forth so so what I wanted to do in that in the in the toy it's actually made me just do do a few things kind of kind of review the built-in types and then to kind of a fun sort of data hacking project if you will that will be appropriate for after watch you'll see why second here so so the just just just a review of what's available essentially the built-in types that you work with you have tuples essentially what topple is it's like a row out of a database that's how I commonly use it so like if I were to make like a record or something or a row I would say you know like I could have like a top bowl that has different elements in it maybe like a street address you know something like that usually what you're talking about with the topple is your it's like a row out of a table a CSV file something like that there is a maybe a close cousin of tuples that named topple object that's in the collections module if you've never seen that before one of the complaints about tuples is that sometimes people will write code or index in there via like a number and it turns out if you do that too often your co-workers will want to hit you I know it's you know it's because because like writing code that has all these hard coding into season they're really kind of awful so one of the things that you can that you can do is pull in this like named topple object and sort of declare like a like a structure of some kind it looks a little weird but you can you know assuming that I can type this thing here okay so maybe you make something like that and then what you can do is use that in place of like a normal tub what that lets you do is you can use dotted attribute so if you've never seen that before it's definitely worth kind of tucking away it's kind of a useful trick so that's one of the one of the data types is toppled another data type is pythons list object okay so this is essentially the built in version of an array if you will I mean it's this list of items the main use of it is enforcing order to be honest like if you ever need to rank data or sort things or preserve order put it in a list you'll you'll keep the order one important thing about it again you can put anything you wanted a list so if you want to list the strings or lists of numbers you put it in there you do different different things with it another useful data type is Python set object this is very useful for a sort of uniqueness and membership testing kinds of things so one one critical thing about like a like a list for instance like if you got a list I don't know let's let's let's put some names in there if you had any kind of duplicate you know this that just that it just stores everything that you give it so if you have more than one thing with the same value list will capture that if you make a set instead you're gonna drop all the duplicates out so you get just the unique items so it's a very pretty common thing with sets to do things like duplicate elimination membership testing and so forth pythons dictionary object very useful for making like indices and mapping between things so if you need to do things like look-up tables or or anything like that dictionary is extremely useful useful for that essentially what you're doing with a dictionary is is mapping keys to values maybe you're maybe you have a list of things like stock names versus stock prices or something what what a dictionary will do is do quick lookups on that like you can say give me the price of Acme or something and then you can add and delete things from from dictionary some other data types that come into play and this is kind of a quick review there are some things in the collections module like counter objects are pretty interesting and default dictionary objects are pretty interesting so little review on that essentially what a counter is is it's a dictionary that's meant for tabulation just to see some examples on that if I were to say C is a counter of X Y Z Z Y for instance what that's going to do is build a dictionary that counts up the letters that you just gave it okay so it's like you know two Z Y 2 X 1 you can essentially use this to sort of tabulate more information later ah so it's like a it's like a dictionary where you can you know add counts and just sort of keep keep track of those we're gonna do some examples of that a little a little bit later a default dictionary this is sort of a kind of an interesting object to work with if you haven't seen it before but what it what I tend to use it for a lot is making dictionaries that express a one-to-many relationship where you have to group like doing grouping of data or some kind of you know one one to many kind of thing the way that this works is you make a default dict and then you specify what the initial contents are going to be like a list or a set or something and then what this lets you do is you can combine dictionary insertions with things like list append do a few few examples there what it's doing is its building up a dictionary where you can see like on that spam it's got two values there one was 42 one was 10 could be a very useful way of kind of clustering data grouping data and and so forth so all of all these things these are if these are kind of two built-in types that I'm talking about and again these are I would say these are like the bulk of a lot of day-to-day coding for me you know it's like you know I may be from PyCon I get a reputation for people think ah Dave's just sitting it is what do you call evil layer or something well diabolical and just sitting in the layer just doing like medic glasses or something it's like I'm really sorry to - your view of me but like like by 90 percent of my day is spent doing things like database queries with like lists and stopping it's not that it's not like metaclasses yeah they're my modern interpreter yeah so so alright so so that's that's what we're starting with now there are some some other kind of basic powers that kind of enter the picture here you don't don't ask interfer so a lot of things that go on with the for-loop this is a very common way of iterating over data is to do a for loop on it there are some things like a numerate and zip that you might see there are some reduction functions like some min and Max any/all and so forth actually actually on the subject of these reductions I find it really interesting that Python has never had stats functions as part of the standard library until really recently I think like I don't think there was a function in the whole standard library to do a mean or an average until Python 3 points for maybe 3 3 but it was like 3.4 I find that kind of amazing because Python has been used for science for like 20 years so wait it's like a total mystery like why I would be missing but there is a statistics module that has some other other other things in there as well there are some more advanced powers that we'll get into I would say the super powers of the of the built-in types or when you get into things like list comprehensions set comprehensions and dictionary comprehensions a very common thing that you might have is you might have a list and then you need to do some kind of transformation on it like maybe I want to take all those numbers and square it I could do something you know like this for I could do like a you know like a manual for Lu like that I mean that that's that's one way to treat like you take a list and you transform it but that is just way too much typing I would much rather just do a shortcut this is a sample the list comprehension you just say ok why not want to say you know x times X for X and noms that will make a list that carries out that calculation gives you the gives you the result so there are some nice shortcuts related to that we're going to do some examples in a in a second so so those are those are some things that are available and then there's some other more mystical powers if you get into pythons iteration features you you might encounter things like generators and generator expressions this is a little bit of an interesting thing if you've what do they call that noms if uses if you were to say something like squares is equal to x times X for X and noms just with parens like that it doesn't actually do the calculation it's a it treats this sort of interesting kind of generator object what happens there is it will feed you values one at a time if you do a for loop it turns out if you know what you're doing with this you can use these to save a huge amount of memory your program like you can actually set up calculations on very large data sets and do streaming and all sorts of other other things that's not really a we're not going to really do a tutorial about more on that here but if you haven't if you if you're looking for something very interesting that would be something to to look at so so what we've got if you've got these got these built-in types no useful for different things what I thought we would do is a little data analysis project here this will either end really badly or over yeah it'll be good here involving some data from the city of Chicago data a lot of cities are sort of publishing data sets these days we can download all sorts of interesting things about potholes and crime and you know rats other things like that so so I so I thought for after lunch what we could look at would be the city of Chicago health food inspection database um Health and Human Services so the city actually publishes data set so one hundred thirty thousand rows CSV file from the health department and we're gonna grab that and look at some things related to food here so this yeah hopefully everybody is well eaten after after lunch here so I'm just gonna do this stuff entirely with built in ties I keep keep in mind you could you could definitely do this kind of thing with pandas or some other other things but I think it's kind of useful to just see the the built-in types and action as well so what I'm gonna do here is I'm gonna use Python CSV module to grab this file as a list of dictionary this is maybe the most inefficient way of representing data possible in Python but it's also super simple and memory is infinite so yeah I find it amazing that you can can you order up like a terabyte of memory on Amazon these days so yeah if needed I can I can I can go there so so what I've done is I've read this this food food database let's just take a quick look at it here it's comes back with about a hundred and thirty thousand records this is what one of them looks like okay so this is this is the kind of stuff that the city publishes you get information about the name of the business what does address is you know what kind of what kind of facility is it when was it inspected you know what were the results of the inspection you know pass and so forth so it's some some some information from from the city there here's um here's another one just to see something more interesting here so this is a another another record here they will actually put in their notes of them on the inspection in the database so you can this this is still a pass you know it says passed with conditions but it's a but you but you see like certain violations listed there about you know different different things here you know observed black-ish colored stains or okay okay that's not making me feel very hungry at the moment but it's a but they they're publishing this this this sort of sort of data there and some of the some of the things that you might want to do or just start exploring just kind of exploring that the data a little bit so one of the things that you might focus on might be something like you know like what is just the result of a health inspection like okay so you get a health inspector showing up like what are the possible outcomes of that that they that they care about well that's that's one place where you might put a use something like asset comprehension what I'm going to do here is I'm gonna just go over the database I mean it's gonna go over all the rows of data and I'm just going to collect all the results just give me all the results but I'm using the fact that sets drop all their duplicates out so this is going to give me all the unique result so it comes back and says okay that those are the past the possible outcome you know business I've found and either fails no entry out of business pass and so forth maybe I use that to filter the data down like maybe I'm interested in who failed their health inspection so I could use something like a list comprehension I could say well why don't you give me all the rows for row and food if the results are equal to fail okay so it's iterating over that data and we can we can look at that and say okay well we get twenty twenty five thousand records of Health failed health inspection let's take a look at one of them just so we can what we can see what it looks like here so this is this is what a failed inspection looks like I mean you get the you know business name fails again we get this list of violations there that are you know sort of telling us you know what what is wrong or what happened with their their inspection there and once once you start down this road I mean you can start thinking about like other kinds of questions like like one question that you might start asking is like what would be the would be the worst place to eat in Chicago these are these are questions that you don't want to you often don't want to know the answer to maybe but so so so what you may be maybe what you could do is you could do something like I know you could make a counter object say okay I'm gonna make a counter out of maybe the doing business of name for row and fail and just tabulate that and then and then we could take a look at that and say well okay maybe but give me the top five so subway Dunkin Donuts McDowell now now to be fair now to be fair I don't I'm not here to like dis on subway or McDonald hey McDonald's yesterday okay these are the reason they have the most failures is that they have the most locations okay I mean there's not like one subway in Chicago okay so there's there so there's a lot of locations there the other the other thing that is really interesting about this result is just how in the hell do you spell McDonald's okay your your your actually say this is common problem somebody at lunch was asking about data munging into the format and that's all of a sudden we've got this problem of like well what is the canonical spelling of McDonald's in the database so so you're gonna you start thinking about these problems like I can I clean up the data or do I you did do something with actually it's a little bit worse than that because if you go to if I expand that out a little bit let's go to the top 15 you actually find that there's like another McDonald's down here with 20 slight with the lowercase C so it got like McDonald's McDonald's without the apostrophe McDonald's with the lowercase it's like yeah oh and you even see like subway there's like a subway with different capitalization and it's like that it's you've got a clean we can do that I'm gonna do this this is my shatter your head a little bit I'm gonna do a cleaning step here we're going to do a list comprehension where I'm going to take the row exactly what as it is but then I'm gonna rewrite the doing business name and I'm gonna do some hacks on it one of the things I'm gonna do is replace the single quote with an empty string and then I'm going to uppercase it now the first part of this is actually something you may or may not have seen this is a Python 3/5 feature that is going on here what is doing what what that's doing is it's taking a dictionary row and then I'm like merging in new keys into it and getting a new dictionary out kind of a exotic sort of weird feature but it's a I'm showing you that so you can take it home and then like spring that on your coworkers and so so so you can you can you can do that let's go ahead and do our worst you know worst thing here and see if see if we get a different different result here and ok so good got cleaned up a little bit I mean we have a few more you know Subway is McDonald's kind of went up a little bit we're still not totally out of the woods I have to admit like this data cleaning stuff what about McDonald's with a space down at the bottom here I'm not gonna fix that in the talk but it's like you yeah it gives you kind of the idea though you get these these real-world data sets I'm gonna like now god it's like you know they're not spelling it correctly there's all sorts of all sorts of crazy stuff actually on a side note one of the most interesting talks I ever saw at the Chicago Python user group with somebody giving a talk about deduplicating database data set it was like insane like how like how do you deep duplicate like street addresses or something where there's like subtle spelling variations and all sort of all sorts of stuff and I was like that's that's crazy blew my mind at the at the top so so this is this you know kind of one thing to start you can say okay well those are bad places to bad places to e maybe a different kind of question this is kind of a well one of the things about this is there's lots of different subways lots of different McDonald's maybe you could do a different kind of tabulation where you actually just want to focus on like the worst street address to go to like you're not so much concerned about the like the name of the restaurant but like where's the worst look to go to in Chicago you know to find to find food so so what I'm doing here is a tabulation with counters kind of based on the street address once let's look at that okay so so what what I'm doing here is kind of kind of breaking things down into you know my street address so this like 11 601 West to 180 failed health code violations you're like like what's going on what's going on there Levitt 500 West Madison I guess before we go into what that location is there are some other there are some other more exotic things that you can do it here's something that will kind of kind of blow your mind a little bit um I'm gonna make a default dictionary of counters you're like what is he doing here what I'm gonna do here is I'm gonna tabulate all of the health code failures by year and I'm just gonna look at like that this is worth like a clustering kind of thing so what I'm gonna do here is I'm going to I think it's inspection deed I'm gonna take the inspection date last four digits of the year and then I'm going to use the street address and I'm gonna add like add one to it we'll see if that work the idea here is something I've taken the data where I can now go to a specific year and ask like what were the worst street addresses in 2015 or what were the worst street addresses in 2014 are the worst street addresses in 2013 okay so yeah 2016 isn't looking too good either for this but by going this this this this like default ticked of counter stuff this knowing like the built-in types and how to navigate that but I would say this is like an example of that I have I do a lot of this in like day to day work where it's like I need to take some data and cluster it or do something with it knowing about these things and being able to just do it super useful useful thing all right so so we've got these sums we've got these bad street addresses let's let's go back to the to the to the master list here um that one one 601 West 2e is just like some kind of Hell like failed failed health inspections and I guess the question is you know what what is that I mean why would that be so so bad this will test your Chicago Street knowledge but I'm gonna let's ID it that is O'Hare Airport okay so if you've been out at O'Hare a lot of restaurants a lot of things that O'Hare okay in fact let's grab all the O'Hare all the O'Hare stuff here so we're gonna do all the row or row in fail this will give you useful knowledge for leaving town probably okay so so what we're gonna do here is okay so we have a I'll make sure we picked up no there's probably a spelling mistake somewhere it was like a hundred and eighty with west to e but there's probably an address with like a slightly different spelling in there we can do it we can do a street address to find out like asset comprehension to find out the difference so okay so then there was one that identified like a specific terminal so okay now you could never have data that's too messy there so so we so now I've got I've got 181 failed health inspections from O'Hare Airport we could ask questions about well just who are these things that are fine what are the businesses that are failing I'll do another set thing so this is going to give me a unique set of everybody who has failed a health inspection at O'Hare Airport and I don't know whether that's a complete list of everything I know here but it's uh but you definitely get the list you know American Airlines you know also all sorts of all sorts of things they're kind of kind of fun stuff there and then you could you know what one of the things that you could start doing with this is I have I made people to sufficiently disturb turns out that that that navigating its data one of the things one of the things that that the data has is it has like a doing business as name but it also has a also known as name and turns out of it on this also known as name they actually identify the location and O'Haire like where this thing is located so like this is like terminal yeah this probably Terminal three my gate g3 or something like that so one of the one of the things that we could we could do is maybe try to identify like the worst location at O'Hare to to eat here so yeah let's let's let's let's try them up like it's soon after this talk okay okay so we're gonna do is to do a counter of just like okay what is the also known as name for all the rows and you know here that have failed here and then let's do like a most comment on comment on that these are answers that you usually don't want to know the question - okay so um so you're starting to break this down it's like okay macaroni grill Terminal three by gay to k2 that's a word now to be fair six versus five it's not you know it's not like it's not like a huge difference between the top contenders here but you're definitely getting different locations you know like know Gate Gourmet I think it's the isn't that the I'm trying to think is up like online is that this food service on the plane is that the on the plane there did the different clubs for the elite travelers are up there United Club and so forth so a lot of a lot of wanna kind of fun fun stuff there 10 10 minutes yeah fun fun fun things now some other some other things with the with the data the liberals continued to work with this here data for for a second here one thing that is also one of the things that have done a lot here is just sort of like tabulating data but one of the things that you might try to do is more like clustering of data to get more information out of it this is something where these like these default dictionaries are actually really useful if you want to like collect data so one of the things that you could that you could do let me see if I could do this here what I'm gonna do is let's look at the data again okay so this is what one of the one of the records for that looks like I'm gonna make a default dictionary this is this default dictum list idea where I'm gonna try to collect all of the inspections for every single restaurant and O'Haire separately maybe by like their license number or something so so what I could do is maybe iterate over the O'Hare data and then I'm gonna take the like the business license number as a key and then I'm just going to append the like the result of that so so what's gonna happen here is this inspections dictionary is something where you can I can give it like a license number like two 40 to 80 80 and then it will give me all of the records for that that failed there okay looks like they only had one failed at that at that restaurant if I were to look at the keys of this dictionary oh it's okay they're there the license numbers I could try different license numbers and get like their inspection date okay there's there's there's there's what's there okay that's Chile okay couple of a couple couple of failed things you can expand this to do other things like if I wanted to just get like their inspection date you can do things like what like that I mean I'm sort of saying okay give me the inspection date for row and inspections on some license date you're getting like the dates that they failed their health inspections there again you've got breaking down data it's kind of exploring it you think the built in you know built in Thai doing kind of fun fun stuff like that so that's a kind of kind of an example of clustering another thing that we might look at how much time do I have left five five minutes or something like that we could give it a go okay here's here's another question that you could ask what is the most common way that a place at O'Hare fails its health inspection if you look at this violations thing like like look at let's let's look at one of these like by oh okay that's not a good one there let's look at oh here what okay so you have this this violations text here that violations text there's actually a some structure to that you'll notice that the text is basically separated by like vertical bars there's like different sections and then it's broken down into like numeric like code violations it looks like there's some numeric codes and then there's some comments one of the things that you might be able to do is is take that and deep like decompose it into different things like I might be able to take the violations and maybe split it on like the vertical bar like that that would give me like the different actual like violation parts and then I might be able to strip out that that comments section out of there as well just trying to think like how how deep of a hole I want to bury myself in here so so so so he did that we're just gonna prototype this a little bit okay so that this is kind of giving me the the raw violations maybe what I could do to clean that up is I will I'm gonna try to slice this thing this is this is so bad this is really bad am i this seen a an end quote I am missing a net Oh comment yeah okay so okay so we're gonna we're gonna try to kind of strip this thing down I'm gonna I'm gonna lose like total style points I'm gonna strip it a white space to just to kind of kind of normalize that there so maybe one of the things that we could do is we're gonna maybe want to try to like find out like the worst like what is the work the most common like violation of health code it'll hair we might be able to do this in a single statement maybe I don't know this is this this is gonna be a really bad idea probably but what I'm gonna do is I'm gonna do for now okay I'm gonna do the thing that I just did no actually no I probably don't want to do that okay so so actually here's what here's what I'm gonna do um I'm gonna make a list of all violations is gonna be row violations I'm gonna split it on that vertical bar I'm gonna go ahead and strip it at the same time of white stays and then I'm gonna do this forever everything you know here okay so oh no I can't do that okay okay so so this is this is gonna give me a list of like all violations for each each thing that's there and then what I'm going to do is I guess I'll make a counter of this and I'm gonna kind of do the same thing that I that I just did here I'm kind of doing this the long way but that's that that it does okay okay so oh wait no okay be comments okay no am I missing a brace on that I am okay there's the fine then there's a strip and there's like a yeah like that thanks about yeah it should be using notebook yeah much less than learned on less less than Pleasant learned on that next time okay so it's so sort of this if this work and I'm not confident that it did but it said well we'll find out yeah we come in here and it you know it's gonna coming up saying okay these these are sort of the most common health violations they find out a yellow hair you know food and dime throwing food contact a lot of stuff it floors ceilings and so whether that took concern to you or not I don't I don't know but I probably almost out of time at this point I think my but I don't know if there's like some take away on this talk other than like we're gonna we're to eat at O'Hare what don't eat at Subway ask subway no I'll stick with no it's I think looks like a takeaway on this stuff no IIIi feel like this sort of thing even though it may have just completely shattered your counters and default Dick's all that stuff I think but for me this is absolutely the most useful day-to-day thing in Python that I do do this a lot and so if and it's also one of the places in Python that changes all that over time you know it's a book author you know I'm always kind of updating things and you know every new version of Python it seems like there's some new evil trick that has shown out somewhere with the with the built-ins and it really is kind of paid off to look at so to look at some of that so that that's kind of the and I do have like us thanks slide here so just like to thank people for you know coming to this I hope that wasn't too crazy but I can see if there's questions and all right
Info
Channel: PyData
Views: 36,481
Rating: 4.9348149 out of 5
Keywords:
Id: lyDLAutA88s
Channel Id: undefined
Length: 42min 13sec (2533 seconds)
Published: Fri Sep 23 2016
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.