title
Google Python Class Day 1 Part 1
description
Google Python Class Day 1 Part 1:
Introduction and Strings.
Interested in learning python? Then you must watch this video!
By Nick Parlante.
Support materials and exercises: https://goo.gl/ztTFg
Subscribe to the Google Developers channel at http://goo.gl/mQyv5L
detail
{'title': 'Google Python Class Day 1 Part 1', 'heatmap': [{'end': 805.943, 'start': 712.302, 'weight': 0.802}, {'end': 901.276, 'start': 835.695, 'weight': 0.708}, {'end': 1057.845, 'start': 1017.748, 'weight': 0.952}, {'end': 1425.217, 'start': 1384.296, 'weight': 0.895}, {'end': 2917.67, 'start': 2847.213, 'weight': 0.738}], 'summary': 'A two-day pyquick basic python class by nick parlante from google, focusing on python basics, small projects, module usage, programming fundamentals, and string manipulation, catering to individuals with some programming experience.', 'chapters': [{'end': 131.614, 'segs': [{'end': 45.806, 'src': 'embed', 'start': 0.725, 'weight': 0, 'content': [{'end': 1.365, 'text': 'All righty, hey there.', 'start': 0.725, 'duration': 0.64}, {'end': 2.886, 'text': 'Hey, good morning.', 'start': 1.385, 'duration': 1.501}, {'end': 6.168, 'text': 'Welcome to the PyQuick basic Python class.', 'start': 3.006, 'duration': 3.162}, {'end': 14.092, 'text': "My name is Nick Parlante, and I work in Google's NGDU group, which deals with sort of technical training and engineering.", 'start': 6.648, 'duration': 7.444}, {'end': 17.134, 'text': 'And I also have a job at Stanford, where I work as a lecturer.', 'start': 14.933, 'duration': 2.201}, {'end': 21.596, 'text': 'So the plan for today is a two-day class.', 'start': 18.494, 'duration': 3.102}, {'end': 26.459, 'text': 'So this class is about just basic, useful, normal Python.', 'start': 22.436, 'duration': 4.023}, {'end': 30.5, 'text': "And Python is sort of, you know, it's a nice, friendly language.", 'start': 27.759, 'duration': 2.741}, {'end': 32.061, 'text': 'You can actually learn a lot of Python in two days.', 'start': 30.52, 'duration': 1.541}, {'end': 34.822, 'text': "So, that's the good news.", 'start': 32.381, 'duration': 2.441}, {'end': 40.984, 'text': "This is the class where the prerequisite is not, you don't need to be like super expert engineer to come in here and learn Python.", 'start': 35.082, 'duration': 5.902}, {'end': 45.806, 'text': 'What we want is just that you have some experience in some language.', 'start': 41.404, 'duration': 4.402}], 'summary': 'Nick parlante introduces a two-day basic python class for non-experts at google and stanford.', 'duration': 45.081, 'max_score': 0.725, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk725.jpg'}, {'end': 89.401, 'src': 'embed', 'start': 63.295, 'weight': 2, 'content': [{'end': 67.437, 'text': "And what's going to happen is it'll be a mix of lecture and coding sections.", 'start': 63.295, 'duration': 4.142}, {'end': 69.098, 'text': "I'll kind of alternate between the two.", 'start': 67.457, 'duration': 1.641}, {'end': 76.788, 'text': 'The good news or I guess not the bad news or whatever the news is that the class moves pretty quickly.', 'start': 71.601, 'duration': 5.187}, {'end': 80.053, 'text': "So I'll show you a few things in lecture, you know, kind of demonstrate a couple of things.", 'start': 77.509, 'duration': 2.544}, {'end': 82.636, 'text': 'And I want to get pretty quickly to you trying that in coding.', 'start': 80.093, 'duration': 2.543}, {'end': 85.5, 'text': "So I think really when you code it up, yeah, that's when you're going to learn it.", 'start': 82.957, 'duration': 2.543}, {'end': 89.401, 'text': "So, as I lecture through stuff, don't feel like.", 'start': 87, 'duration': 2.401}], 'summary': 'The class will include a mix of lecture and coding, moving quickly to hands-on practice for effective learning.', 'duration': 26.106, 'max_score': 63.295, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk63295.jpg'}, {'end': 149.013, 'src': 'embed', 'start': 119.442, 'weight': 4, 'content': [{'end': 121.444, 'text': "But don't feel like you need to memorize every detail of it.", 'start': 119.442, 'duration': 2.002}, {'end': 125.908, 'text': "And then later, when we're in the lab section, yeah, you can go look at that document.", 'start': 122.065, 'duration': 3.843}, {'end': 128.631, 'text': 'You can go, oh, right, he said something about strings.', 'start': 126.449, 'duration': 2.182}, {'end': 131.614, 'text': 'You can sort of orient yourself a little bit and figure out how this stuff works.', 'start': 128.651, 'duration': 2.963}, {'end': 139.508, 'text': "So, there's also, I had so, I printed some copies of this basics thing but then I didn't make quite enough before class started.", 'start': 133.88, 'duration': 5.628}, {'end': 140.91, 'text': "So, I'll go get those with the next break.", 'start': 139.528, 'duration': 1.382}, {'end': 145.497, 'text': "So, I'll also give you a printed dead tree version of this document for you to get started.", 'start': 140.93, 'duration': 4.567}, {'end': 147.312, 'text': 'All righty.', 'start': 146.832, 'duration': 0.48}, {'end': 149.013, 'text': "So, let's just get started.", 'start': 147.552, 'duration': 1.461}], 'summary': 'In the lab section, students can refer to a printed document for guidance on strings and basics.', 'duration': 29.571, 'max_score': 119.442, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk119442.jpg'}], 'start': 0.725, 'title': 'Pyquick python class introduction', 'summary': "Introduces a two-day pyquick basic python class by nick parlante from google's ngdu group, focusing on providing a basic understanding of python for individuals with some experience in programming languages, with a mix of lecture and coding sections.", 'chapters': [{'end': 131.614, 'start': 0.725, 'title': 'Pyquick python class introduction', 'summary': "Introduces a two-day pyquick basic python class by nick parlante from google's ngdu group, focusing on providing a basic understanding of python for individuals with some experience in programming languages, with a mix of lecture and coding sections.", 'duration': 130.889, 'highlights': ['The class is a two-day PyQuick basic Python class.', "Nick Parlante from Google's NGDU group and Stanford is the instructor.", 'Python is designed to be a nice, friendly language, easy to learn in two days.', 'The class includes a mix of lecture and coding sections, moving quickly.', 'The class emphasizes understanding the basic ideas rather than memorizing every detail.']}], 'duration': 130.889, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk725.jpg', 'highlights': ["Nick Parlante from Google's NGDU group and Stanford is the instructor.", 'The class is a two-day PyQuick basic Python class.', 'The class includes a mix of lecture and coding sections, moving quickly.', 'Python is designed to be a nice, friendly language, easy to learn in two days.', 'The class emphasizes understanding the basic ideas rather than memorizing every detail.']}, {'end': 637.723, 'segs': [{'end': 207.411, 'src': 'embed', 'start': 153.915, 'weight': 0, 'content': [{'end': 156.716, 'text': 'It was created by a guy named Guido van Rossum who actually works at Google.', 'start': 153.915, 'duration': 2.801}, {'end': 159.817, 'text': 'And it was created in 1990.', 'start': 157.396, 'duration': 2.421}, {'end': 163.058, 'text': 'So, I think that is like a little bit old by, you know, hip language standards.', 'start': 159.817, 'duration': 3.241}, {'end': 166.84, 'text': 'However, in the most recent years, Python seems to have got a lot of momentum.', 'start': 164.079, 'duration': 2.761}, {'end': 167.82, 'text': "It's becoming pretty popular.", 'start': 166.86, 'duration': 0.96}, {'end': 170.424, 'text': "stems from like, yeah, it's basically a pretty good language.", 'start': 168.28, 'duration': 2.144}, {'end': 175.05, 'text': 'I think of Python as being sort of a quick and light language.', 'start': 171.205, 'duration': 3.845}, {'end': 181.38, 'text': 'So if I have some little task, some little automation and I just want to just bang out some code and be done, Python seems to work very well.', 'start': 175.351, 'duration': 6.029}, {'end': 183.243, 'text': "Like, it's very sort of frictionless.", 'start': 181.58, 'duration': 1.663}, {'end': 186.145, 'text': 'It just quick little things just happen very nicely.', 'start': 183.303, 'duration': 2.842}, {'end': 190.187, 'text': 'I think you would categorize Python as a scripting language.', 'start': 187.305, 'duration': 2.882}, {'end': 193.908, 'text': "So it's similar to maybe Perl or Bash or Ruby or maybe JavaScript.", 'start': 190.267, 'duration': 3.641}, {'end': 198.13, 'text': "That whole sort of space of languages that don't have a real heavy type system.", 'start': 194.148, 'duration': 3.982}, {'end': 200.651, 'text': 'So Python is certainly a nice example in there.', 'start': 198.93, 'duration': 1.721}, {'end': 205.19, 'text': "Python is all, I'll show you as we start messing around with Python.", 'start': 202.849, 'duration': 2.341}, {'end': 207.411, 'text': 'Python is good at sort of quick turnaround.', 'start': 205.21, 'duration': 2.201}], 'summary': 'Python, created in 1990, gaining momentum recently, popular for quick and light tasks.', 'duration': 53.496, 'max_score': 153.915, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk153915.jpg'}, {'end': 253.637, 'src': 'embed', 'start': 225.057, 'weight': 3, 'content': [{'end': 229.14, 'text': 'So Python is certainly very appropriate for small projects, little bits of automation.', 'start': 225.057, 'duration': 4.083}, {'end': 232.162, 'text': 'Within Google, Python gets used for all sorts of little things like that.', 'start': 229.36, 'duration': 2.802}, {'end': 238.847, 'text': 'There is debate about whether or not Python is also good for huge projects, since it lacks a big type system,', 'start': 233.703, 'duration': 5.144}, {'end': 240.248, 'text': "and I'm not going to settle that debate today.", 'start': 238.847, 'duration': 1.401}, {'end': 242.389, 'text': 'But, you know, there are certainly advocates for both sides.', 'start': 240.288, 'duration': 2.101}, {'end': 247.693, 'text': 'But certainly as a, you know, Python is a wonderful language to learn for just solving small coding problems.', 'start': 242.609, 'duration': 5.084}, {'end': 249.734, 'text': 'All right.', 'start': 249.294, 'duration': 0.44}, {'end': 253.637, 'text': 'So let me show you a little bit of Python code here.', 'start': 250.215, 'duration': 3.422}], 'summary': 'Python is great for small projects and automation within google, with debate about its suitability for huge projects.', 'duration': 28.58, 'max_score': 225.057, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk225057.jpg'}, {'end': 295.872, 'src': 'embed', 'start': 266.913, 'weight': 4, 'content': [{'end': 268.634, 'text': "It's actually going to kind of do the running for us.", 'start': 266.913, 'duration': 1.721}, {'end': 272.977, 'text': 'So, one of the nice qualities of Python is that you can just run the interpreter.', 'start': 269.215, 'duration': 3.762}, {'end': 274.318, 'text': 'So, I just type Python in here.', 'start': 272.997, 'duration': 1.321}, {'end': 281.582, 'text': "And then, I can just type little snippets of code just at it and it'll sort of compile and run them just as we go.", 'start': 274.338, 'duration': 7.244}, {'end': 284.264, 'text': "And so, this is a marvelous way to sort of see what's going on.", 'start': 281.682, 'duration': 2.582}, {'end': 285.785, 'text': 'So, I can just show you some basic Python here.', 'start': 284.284, 'duration': 1.501}, {'end': 288.427, 'text': "So, I'll assign a variable A.", 'start': 287.146, 'duration': 1.281}, {'end': 291.409, 'text': "I'll say, you know, A is 6.", 'start': 288.427, 'duration': 2.982}, {'end': 294.331, 'text': "And so, what the interpreter does here is what's called a read eval print loop.", 'start': 291.409, 'duration': 2.922}, {'end': 295.872, 'text': 'So, I type a little bit of code to it.', 'start': 294.671, 'duration': 1.201}], 'summary': 'Python interpreter allows running and testing code snippets seamlessly, promoting easy debugging and quick feedback.', 'duration': 28.959, 'max_score': 266.913, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk266913.jpg'}, {'end': 447.459, 'src': 'embed', 'start': 420.364, 'weight': 5, 'content': [{'end': 426.886, 'text': 'And I think given, you know, experience with programming languages, since the greatest source of delays in your code working is bugs.', 'start': 420.364, 'duration': 6.522}, {'end': 431.587, 'text': "And so, it's bad or it's been found, it's bad if a bug is sort of sitting in there hidden.", 'start': 427.666, 'duration': 3.921}, {'end': 433.188, 'text': "Really, if there's an error, you want to know.", 'start': 431.627, 'duration': 1.561}, {'end': 435.609, 'text': 'And so, Python reflects that style.', 'start': 433.748, 'duration': 1.861}, {'end': 437.67, 'text': 'So, let me show you.', 'start': 437.209, 'duration': 0.461}, {'end': 447.459, 'text': "So, what's going to happen? is we're going to do all sorts of Python and the interpreter is a great source of doing little experiments.", 'start': 437.69, 'duration': 9.769}], 'summary': "Python's emphasis on bug detection and readability suits programming needs and experimentation.", 'duration': 27.095, 'max_score': 420.364, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk420364.jpg'}], 'start': 133.88, 'title': 'Python basics and small projects', 'summary': 'Introduces the basics of python, highlighting its history, popularity, and characteristics as a quick and light scripting language, with quick turnaround for development. it also covers the suitability of python for small projects and interactivity, demonstrating its use for small coding problems and the interactive nature of the python interpreter, emphasizing its case sensitivity and error handling, and highlighting the importance of interactive style in python programming.', 'chapters': [{'end': 222.958, 'start': 133.88, 'title': 'Introduction to python basics', 'summary': 'Introduces the basics of python, highlighting its history, popularity, and characteristics as a quick and light scripting language, with quick turnaround for development.', 'duration': 89.078, 'highlights': ['Python was created in 1990 by Guido van Rossum, who works at Google, and has gained momentum in recent years, becoming popular.', 'Python is considered a quick and light language, suitable for small tasks and automation, offering a frictionless experience for quick little things.', 'Python is categorized as a scripting language, similar to Perl, Bash, Ruby, or JavaScript, and does not have a heavy type system.', 'Python allows for quick turnaround in development, enabling immediate testing and experimentation without a slow compile step.']}, {'end': 637.723, 'start': 225.057, 'title': 'Python for small projects and interactivity', 'summary': 'Covers the suitability of python for small projects and interactivity, demonstrating its use for small coding problems and the interactive nature of the python interpreter, emphasizing its case sensitivity and error handling, and highlighting the importance of interactive style in python programming.', 'duration': 412.666, 'highlights': ['Python is suitable for small projects and automation within Google.', "Python's interpreter allows for interactive coding and quick experimentation.", "Python's case sensitivity and error handling are emphasized, promoting a style that halts on errors to ensure bug detection."]}], 'duration': 503.843, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk133880.jpg', 'highlights': ['Python was created in 1990 by Guido van Rossum, gaining momentum and popularity.', 'Python is a quick and light language, suitable for small tasks and automation.', 'Python allows for quick turnaround in development, enabling immediate testing and experimentation.', 'Python is suitable for small projects and automation within Google.', "Python's interpreter allows for interactive coding and quick experimentation.", "Python's case sensitivity and error handling are emphasized for bug detection."]}, {'end': 1215.343, 'segs': [{'end': 805.943, 'src': 'heatmap', 'start': 712.302, 'weight': 0.802, 'content': [{'end': 716.245, 'text': 'And I will mention very briefly why this is here.', 'start': 712.302, 'duration': 3.943}, {'end': 720.649, 'text': "but then you should think of it as just something that just mechanically you just put at the bottom of the file and then don't think about it too much.", 'start': 716.245, 'duration': 4.404}, {'end': 726.584, 'text': 'The way this works is that a Python program can be, in this case, hello.py.', 'start': 722.722, 'duration': 3.862}, {'end': 730.385, 'text': 'you can run it like from the command line, like I want to invoke this program.', 'start': 726.584, 'duration': 3.801}, {'end': 734.527, 'text': 'And in that case, that if statement will be true, the way the interpreter sets things up.', 'start': 730.705, 'duration': 3.822}, {'end': 738.108, 'text': "And so since it's true, then here what it does is it's calling the main function.", 'start': 734.827, 'duration': 3.281}, {'end': 739.188, 'text': 'So actually, I can just demonstrate that.', 'start': 738.128, 'duration': 1.06}, {'end': 747.65, 'text': "So if I go down here to my same directory, so the way you run this thing Well, there's two ways.", 'start': 739.769, 'duration': 7.881}, {'end': 753.312, 'text': 'You could type Python, the name of the interpreter, and then give it hello.py, say, hey, please run that.', 'start': 748.071, 'duration': 5.241}, {'end': 756.153, 'text': 'And then you can see here it prints hello.', 'start': 753.932, 'duration': 2.221}, {'end': 758.194, 'text': "So there's my marvelous program functioning.", 'start': 756.413, 'duration': 1.781}, {'end': 766.717, 'text': 'In a Unix-y way, the more modern thing is that you would, you have the execute bit set and the handout talks about this a little bit.', 'start': 759.634, 'duration': 7.083}, {'end': 770.898, 'text': 'And so then you can just say, you know, whatever, hello.py and it just runs it.', 'start': 767.257, 'duration': 3.641}, {'end': 772.959, 'text': 'So, either of those techniques will work okay.', 'start': 771.338, 'duration': 1.621}, {'end': 774.927, 'text': 'All right.', 'start': 774.586, 'duration': 0.341}, {'end': 783.934, 'text': "So, in that example, I'm running it and so then that this if statement, is turning out to be true and so that runs the main.", 'start': 775.147, 'duration': 8.787}, {'end': 792.697, 'text': 'There is this other way that you can load a Python program where one Python module wants to load another one and use it essentially like a library,', 'start': 784.394, 'duration': 8.303}, {'end': 794.638, 'text': "which I'm actually going to demonstrate, I think, tomorrow.", 'start': 792.697, 'duration': 1.941}, {'end': 802.301, 'text': 'And in that case, I want to load the mod, the Python module is sort of synonymous with the idea of a file in Python.', 'start': 795.678, 'duration': 6.623}, {'end': 804.062, 'text': "I want to load it but I don't want to run it.", 'start': 802.681, 'duration': 1.381}, {'end': 805.943, 'text': 'I just want to have its definitions available.', 'start': 804.362, 'duration': 1.581}], 'summary': 'Explanation of running python programs and loading modules with examples.', 'duration': 93.641, 'max_score': 712.302, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk712302.jpg'}, {'end': 901.276, 'src': 'heatmap', 'start': 824.09, 'weight': 0, 'content': [{'end': 829.113, 'text': "I want to, you know, I'm going to add a few features to this thing just to kind of show you some things.", 'start': 824.09, 'duration': 5.023}, {'end': 835.635, 'text': "So the first thing I'm going to do is I want to print out the command line arguments, my main here.", 'start': 829.973, 'duration': 5.662}, {'end': 836.896, 'text': "It's just a very common thing to want to do.", 'start': 835.695, 'duration': 1.201}, {'end': 843.453, 'text': "And it turns out there's a module called Sys.", 'start': 838.91, 'duration': 4.543}, {'end': 847.656, 'text': 'And the Sys module is a Python, standard Python thing.', 'start': 844.874, 'duration': 2.782}, {'end': 850.938, 'text': 'It includes a lot of sort of operating system interface type stuff.', 'start': 848.016, 'duration': 2.922}, {'end': 856.162, 'text': 'So you could access command line arguments or you could exit the whole program or whatever.', 'start': 851.599, 'duration': 4.563}, {'end': 858.143, 'text': "I'll show you how to bring up the documentation in a second.", 'start': 856.322, 'duration': 1.821}, {'end': 864.407, 'text': "In Python, the way that you refer to some external module of stuff you'd like to pull in is you have an import statement.", 'start': 858.824, 'duration': 5.583}, {'end': 867.589, 'text': "You say import, Sys or import, and I'll show you a bunch of different ones over the next.", 'start': 864.547, 'duration': 3.042}, {'end': 874.353, 'text': 'And then down here, to refer to something inside of the module, you say module name.', 'start': 869.35, 'duration': 5.003}, {'end': 877.274, 'text': 'So, sys and then dot and then you just need to know the name.', 'start': 874.373, 'duration': 2.901}, {'end': 882.316, 'text': "In this case, it's sys.argv is the name of the command line arguments in that module.", 'start': 877.294, 'duration': 5.022}, {'end': 884.077, 'text': "So, I'm going to save that.", 'start': 882.356, 'duration': 1.721}, {'end': 892.161, 'text': "And then down here, I'll run hello and I'll just say like aabbbccc, right? So, those are command line arguments.", 'start': 885.398, 'duration': 6.763}, {'end': 897.043, 'text': 'So now, when I run it, see it prints this out.', 'start': 892.881, 'duration': 4.162}, {'end': 901.276, 'text': 'So, that is a Python list.', 'start': 899.295, 'duration': 1.981}], 'summary': 'Adding features to demonstrate command line arguments using the sys module in python.', 'duration': 40.317, 'max_score': 824.09, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk824090.jpg'}, {'end': 913.719, 'src': 'embed', 'start': 885.398, 'weight': 3, 'content': [{'end': 892.161, 'text': "And then down here, I'll run hello and I'll just say like aabbbccc, right? So, those are command line arguments.", 'start': 885.398, 'duration': 6.763}, {'end': 897.043, 'text': 'So now, when I run it, see it prints this out.', 'start': 892.881, 'duration': 4.162}, {'end': 901.276, 'text': 'So, that is a Python list.', 'start': 899.295, 'duration': 1.981}, {'end': 903.136, 'text': 'It has four.', 'start': 902.496, 'duration': 0.64}, {'end': 905.417, 'text': 'So, Python lists have square brackets around them.', 'start': 903.336, 'duration': 2.081}, {'end': 908.518, 'text': "And we'll mess with this a lot more later on.", 'start': 906.617, 'duration': 1.901}, {'end': 913.719, 'text': 'In this case, this list has four elements in it which is kind of the old Unix standard way of doing command line arguments.', 'start': 908.838, 'duration': 4.881}], 'summary': 'Python program prints a list with 4 command line arguments.', 'duration': 28.321, 'max_score': 885.398, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk885398.jpg'}, {'end': 975.407, 'src': 'embed', 'start': 951.479, 'weight': 5, 'content': [{'end': 957.581, 'text': 'Now, a very reasonable question is like well, sis like how am I supposed to know that?', 'start': 951.479, 'duration': 6.102}, {'end': 958.762, 'text': 'Like, where did that come from?', 'start': 957.641, 'duration': 1.121}, {'end': 967.445, 'text': 'So I want to show you two ways that you can kind of research what a module is and what it has in it.', 'start': 959.942, 'duration': 7.503}, {'end': 969.045, 'text': "And I'm going to show you two.", 'start': 968.245, 'duration': 0.8}, {'end': 972.667, 'text': "There's the high-tech way and there's the easy way.", 'start': 969.065, 'duration': 3.602}, {'end': 974.207, 'text': 'And they both work fine.', 'start': 973.347, 'duration': 0.86}, {'end': 975.407, 'text': 'So you could use either of these ways.', 'start': 974.407, 'duration': 1}], 'summary': "Learn two ways to research a module's content", 'duration': 23.928, 'max_score': 951.479, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk951479.jpg'}, {'end': 1047.747, 'src': 'embed', 'start': 1017.748, 'weight': 4, 'content': [{'end': 1022.015, 'text': "So there's some of these are data, some of them are code, but you can at least get a feel for what's inside of there.", 'start': 1017.748, 'duration': 4.267}, {'end': 1024.439, 'text': "So dir, that's the first one.", 'start': 1023.077, 'duration': 1.362}, {'end': 1027.042, 'text': "Then there's a companion called help.", 'start': 1025.22, 'duration': 1.822}, {'end': 1029.619, 'text': 'And what help does?', 'start': 1028.378, 'duration': 1.241}, {'end': 1036.983, 'text': 'is it kind of pulls up, sort of a Java doc, sort of a man page, documents about, like oh, what is going on with this module?', 'start': 1029.619, 'duration': 7.364}, {'end': 1042.345, 'text': 'And so, with DIR and help, you can kind of poke around a little bit and orient yourself.', 'start': 1037.383, 'duration': 4.962}, {'end': 1047.747, 'text': "And what's nice, if you look at my list here, for example, there's my example, there's exit.", 'start': 1042.704, 'duration': 5.043}], 'summary': 'Introduction to using dir and help commands for module documentation.', 'duration': 29.999, 'max_score': 1017.748, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk1017748.jpg'}, {'end': 1057.845, 'src': 'heatmap', 'start': 1017.748, 'weight': 0.952, 'content': [{'end': 1022.015, 'text': "So there's some of these are data, some of them are code, but you can at least get a feel for what's inside of there.", 'start': 1017.748, 'duration': 4.267}, {'end': 1024.439, 'text': "So dir, that's the first one.", 'start': 1023.077, 'duration': 1.362}, {'end': 1027.042, 'text': "Then there's a companion called help.", 'start': 1025.22, 'duration': 1.822}, {'end': 1029.619, 'text': 'And what help does?', 'start': 1028.378, 'duration': 1.241}, {'end': 1036.983, 'text': 'is it kind of pulls up, sort of a Java doc, sort of a man page, documents about, like oh, what is going on with this module?', 'start': 1029.619, 'duration': 7.364}, {'end': 1042.345, 'text': 'And so, with DIR and help, you can kind of poke around a little bit and orient yourself.', 'start': 1037.383, 'duration': 4.962}, {'end': 1047.747, 'text': "And what's nice, if you look at my list here, for example, there's my example, there's exit.", 'start': 1042.704, 'duration': 5.043}, {'end': 1050.828, 'text': "So that's sys.exit, that's a function.", 'start': 1048.527, 'duration': 2.301}, {'end': 1053.61, 'text': 'I can actually say help of sys.exit.', 'start': 1051.689, 'duration': 1.921}, {'end': 1057.845, 'text': 'And then it pulls up just help about that function.', 'start': 1056.004, 'duration': 1.841}], 'summary': 'Using dir and help, you can orient yourself in the data and code, and access documentation about modules and functions.', 'duration': 40.097, 'max_score': 1017.748, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk1017748.jpg'}, {'end': 1088.996, 'src': 'embed', 'start': 1058.826, 'weight': 2, 'content': [{'end': 1063.429, 'text': "So, just in Python and in lecture or whatever, I will say oh, we'll use the blah blah,", 'start': 1058.826, 'duration': 4.603}, {'end': 1067.712, 'text': "blah ABC module and I'll kind of mention a couple of functions that you need to use, but I won't give you further direction than that.", 'start': 1063.429, 'duration': 4.283}, {'end': 1070.734, 'text': 'And so then what, you know, which is a very realistic position to be in.', 'start': 1068.493, 'duration': 2.241}, {'end': 1077.379, 'text': 'What will happen is that in Python, you can use dir and help to kind of dig around and get better docs or, you know, using this technique.', 'start': 1070.755, 'duration': 6.624}, {'end': 1081.782, 'text': "And I'll do another example.", 'start': 1080.762, 'duration': 1.02}, {'end': 1083.904, 'text': 'Remember, I talked about the len function earlier?', 'start': 1081.982, 'duration': 1.922}, {'end': 1088.996, 'text': 'So I could say help of len and that like gives you like.', 'start': 1085.174, 'duration': 3.822}], 'summary': 'Python lecture lacks detailed direction, suggests using dir and help to explore functions and get better documentation.', 'duration': 30.17, 'max_score': 1058.826, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk1058826.jpg'}], 'start': 637.803, 'title': 'Python basics and module usage', 'summary': "Covers python function definition, command line arguments, print operator, sys module, and using python modules. it also demonstrates 'dir' and 'help' functions and emphasizes the effectiveness of using google for module research.", 'chapters': [{'end': 930.745, 'start': 637.803, 'title': 'Python basics: function definition and command line arguments', 'summary': 'Introduces python function definition and command line arguments, demonstrating the use of print operator and the sys module, and explains how to access and manipulate command line arguments using python lists.', 'duration': 292.942, 'highlights': ['The chapter introduces Python function definition and command line arguments.', 'The chapter demonstrates the use of print operator and the Sys module.', 'The chapter explains how to access and manipulate command line arguments using Python lists.']}, {'end': 1215.343, 'start': 932.306, 'title': 'Using python modules and research techniques', 'summary': "Explains how to use python modules, demonstrates the use of the 'dir' and 'help' functions to explore module content, and highlights the effectiveness of using google for module research.", 'duration': 283.037, 'highlights': ['The chapter explains how to use Python modules', "Demonstrates the use of the 'dir' and 'help' functions to explore module content", 'Highlights the effectiveness of using Google for module research']}], 'duration': 577.54, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk637803.jpg', 'highlights': ['The chapter introduces Python function definition and command line arguments.', 'The chapter demonstrates the use of print operator and the Sys module.', 'The chapter explains how to use Python modules', 'The chapter explains how to access and manipulate command line arguments using Python lists.', "Demonstrates the use of the 'dir' and 'help' functions to explore module content", 'Highlights the effectiveness of using Google for module research']}, {'end': 1777.954, 'segs': [{'end': 1276.986, 'src': 'embed', 'start': 1243.604, 'weight': 0, 'content': [{'end': 1247.588, 'text': "I'm using sys.argv but I've forgotten to do the import.", 'start': 1243.604, 'duration': 3.984}, {'end': 1250.011, 'text': 'So I want to show you what that looks like.', 'start': 1247.608, 'duration': 2.403}, {'end': 1253.675, 'text': 'So if I say, hello, I get an error.', 'start': 1250.591, 'duration': 3.084}, {'end': 1255.317, 'text': 'So this is a Python error trace.', 'start': 1253.715, 'duration': 1.602}, {'end': 1260.863, 'text': 'So the most interesting part here is maybe at the bottom.', 'start': 1257.439, 'duration': 3.424}, {'end': 1263.999, 'text': 'It says, global name sys is not defined.', 'start': 1261.698, 'duration': 2.301}, {'end': 1270.382, 'text': "Now, the error is not very specific here but it's kind of, it doesn't quite know if I wanted to have a variable name sys or a module.", 'start': 1264.519, 'duration': 5.863}, {'end': 1270.963, 'text': "It doesn't know.", 'start': 1270.422, 'duration': 0.541}, {'end': 1272.444, 'text': 'It just looks like S-Y-S to it.', 'start': 1271.023, 'duration': 1.421}, {'end': 1276.986, 'text': 'But it is that error like, well, I came across this symbol and it was not previously defined.', 'start': 1273.464, 'duration': 3.522}], 'summary': "Using sys.argv without import causes 'global name sys is not defined' error", 'duration': 33.382, 'max_score': 1243.604, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk1243604.jpg'}, {'end': 1346.413, 'src': 'embed', 'start': 1295.871, 'weight': 2, 'content': [{'end': 1301.172, 'text': 'So essentially, what the import does is it takes the symbol SYS and it binds it to point to something.', 'start': 1295.871, 'duration': 5.301}, {'end': 1306.593, 'text': "So that then downstream when you say sys.whatever, it's able to actually work.", 'start': 1301.452, 'duration': 5.141}, {'end': 1307.913, 'text': "So let's try that.", 'start': 1307.293, 'duration': 0.62}, {'end': 1308.813, 'text': 'That should not work again.', 'start': 1307.973, 'duration': 0.84}, {'end': 1309.994, 'text': 'Okay, good.', 'start': 1309.494, 'duration': 0.5}, {'end': 1311.694, 'text': "Now we're back to just printing the arguments.", 'start': 1310.134, 'duration': 1.56}, {'end': 1312.868, 'text': 'All right.', 'start': 1312.688, 'duration': 0.18}, {'end': 1316.791, 'text': "So what I'd like to do, well, I'll show you how to build a real program out of this.", 'start': 1312.888, 'duration': 3.903}, {'end': 1322.055, 'text': "So I'm going to define a hello function that does something.", 'start': 1318.312, 'duration': 3.743}, {'end': 1325.557, 'text': "So I'll say hello and let's say this will take in a string.", 'start': 1322.755, 'duration': 2.802}, {'end': 1329.98, 'text': "So I'm doing a second def here.", 'start': 1327.999, 'duration': 1.981}, {'end': 1335.705, 'text': "And let's say, let's say this is a name actually.", 'start': 1331.321, 'duration': 4.384}, {'end': 1339.287, 'text': "And I'll say, you know, Prince.", 'start': 1335.725, 'duration': 3.562}, {'end': 1346.413, 'text': 'Hello And then the print, you can actually separate things with commas.', 'start': 1340.928, 'duration': 5.485}], 'summary': 'Importing and using the symbol sys to define a function and print arguments.', 'duration': 50.542, 'max_score': 1295.871, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk1295871.jpg'}, {'end': 1425.217, 'src': 'heatmap', 'start': 1384.296, 'weight': 0.895, 'content': [{'end': 1395.721, 'text': 'So that was sys.argv and that turns out the zeroth element refers to the script itself which is, this is just an ancient convention.', 'start': 1384.296, 'duration': 11.425}, {'end': 1400.796, 'text': 'So, the element that I really care about is sys.argv1 there.', 'start': 1397.395, 'duration': 3.401}, {'end': 1403.257, 'text': "So, I'm going to save that.", 'start': 1402.417, 'duration': 0.84}, {'end': 1406.038, 'text': "And I'll see if this works.", 'start': 1403.277, 'duration': 2.761}, {'end': 1407.559, 'text': "So, I'll say, hello, Alice.", 'start': 1406.058, 'duration': 1.501}, {'end': 1408.059, 'text': "Let's see.", 'start': 1407.719, 'duration': 0.34}, {'end': 1409.42, 'text': 'Oh, check it out.', 'start': 1409.019, 'duration': 0.401}, {'end': 1409.74, 'text': 'All right.', 'start': 1409.44, 'duration': 0.3}, {'end': 1411.56, 'text': 'So, now it prints, hello, Alice.', 'start': 1409.76, 'duration': 1.8}, {'end': 1412.561, 'text': 'You can sort of see the results there.', 'start': 1411.58, 'duration': 0.981}, {'end': 1413.141, 'text': 'All right.', 'start': 1412.581, 'duration': 0.56}, {'end': 1413.801, 'text': 'So, let me talk a little bit.', 'start': 1413.161, 'duration': 0.64}, {'end': 1418.523, 'text': "I just want to use this as a vehicle to kind of talk about what's going on syntactically with Python.", 'start': 1413.841, 'duration': 4.682}, {'end': 1422.336, 'text': "So, I'll sort of go through this top to bottom.", 'start': 1420.435, 'duration': 1.901}, {'end': 1425.217, 'text': 'So, I give this thing an argument called name.', 'start': 1422.676, 'duration': 2.541}], 'summary': "Demonstrates accessing command line arguments in python using sys.argv, extracting the first argument as 'name', and printing a personalized message.", 'duration': 40.921, 'max_score': 1384.296, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk1384296.jpg'}, {'end': 1460.895, 'src': 'embed', 'start': 1432.802, 'weight': 4, 'content': [{'end': 1434.783, 'text': "It's just called name and it just points to whatever it points to.", 'start': 1432.802, 'duration': 1.981}, {'end': 1438.225, 'text': 'So, arguments and variables are similar.', 'start': 1436.044, 'duration': 2.181}, {'end': 1440.647, 'text': "They're both just little names that point to some value.", 'start': 1438.265, 'duration': 2.382}, {'end': 1447.205, 'text': 'Then in Python, when you want to set off a block of code, it very often uses the colon, as you see here.', 'start': 1442.538, 'duration': 4.667}, {'end': 1449.389, 'text': "So I'm going to say, define this function and there's a colon.", 'start': 1447.306, 'duration': 2.083}, {'end': 1453.415, 'text': "And I'm going to go to the next line and I'm going to have, you know, however many lines of code I want to have.", 'start': 1449.669, 'duration': 3.746}, {'end': 1460.895, 'text': "Now this brings us to Python's most sort of famous syntactic feature,", 'start': 1455.128, 'duration': 5.767}], 'summary': 'Python uses colons to define blocks of code and utilizes names to point to values.', 'duration': 28.093, 'max_score': 1432.802, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk1432802.jpg'}, {'end': 1647.586, 'src': 'embed', 'start': 1621.012, 'weight': 5, 'content': [{'end': 1631.739, 'text': "If name is, let's say, Alice, then we'll say, I'm just going to, this won't be very meaningful here.", 'start': 1621.012, 'duration': 10.727}, {'end': 1633.299, 'text': "We'll add some question marks on there.", 'start': 1631.899, 'duration': 1.4}, {'end': 1639.143, 'text': "So, the, I'll just start at the top here.", 'start': 1635.661, 'duration': 3.482}, {'end': 1641.383, 'text': 'So, this is what an if statement looks like.', 'start': 1640.262, 'duration': 1.121}, {'end': 1647.586, 'text': "You say if and then you have the test and then there's a colon and then it has a whatever, block of statements underneath it.", 'start': 1641.423, 'duration': 6.163}], 'summary': 'An explanation of an if statement with an example.', 'duration': 26.574, 'max_score': 1621.012, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk1621012.jpg'}], 'start': 1217.228, 'title': 'Python programming basics', 'summary': "Covers a common python error related to sys.argv and import sys, demonstrating the error trace and resolution, and emphasizes the importance of the import statement. it also discusses python's unique syntax and style, including defining functions, code blocks with colons and indentation, and using if statements and comparison operators.", 'chapters': [{'end': 1316.791, 'start': 1217.228, 'title': 'Python code error demonstration', 'summary': 'Demonstrates a common python error related to the use of sys.argv and the import sys statement, showing an error trace and the resolution, and finally discusses the importance of import statement in python.', 'duration': 99.563, 'highlights': ['The chapter demonstrates a common Python error related to the use of sys.argv and the import sys statement.', "The error trace indicates the message 'global name sys is not defined.'", 'The import statement binds the symbol SYS to point to something, enabling the use of sys.whatever.']}, {'end': 1777.954, 'start': 1318.312, 'title': 'Python syntax and functions', 'summary': "Discusses defining a hello function in python that takes in a string, demonstrates the use of colons and indentation to define code blocks, and explains the usage of if statements and comparison operators, emphasizing python's unique syntax and style.", 'duration': 459.642, 'highlights': ['The chapter discusses defining a hello function in Python that takes in a string', 'Demonstrates the use of colons and indentation to define code blocks', 'Explains the usage of if statements and comparison operators']}], 'duration': 560.726, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk1217228.jpg', 'highlights': ['The chapter demonstrates a common Python error related to the use of sys.argv and the import sys statement.', "The error trace indicates the message 'global name sys is not defined.'", 'The import statement binds the symbol SYS to point to something, enabling the use of sys.whatever.', 'The chapter discusses defining a hello function in Python that takes in a string', 'Demonstrates the use of colons and indentation to define code blocks', 'Explains the usage of if statements and comparison operators']}, {'end': 2324.927, 'segs': [{'end': 1999.866, 'src': 'embed', 'start': 1972.668, 'weight': 0, 'content': [{'end': 1976.83, 'text': "But also, you're giving up a certain amount of checking that some languages might have done.", 'start': 1972.668, 'duration': 4.162}, {'end': 1983.735, 'text': "This also means that in a more industrial strength, because Python doesn't really check a lot at compile time.", 'start': 1977.331, 'duration': 6.404}, {'end': 1986.377, 'text': "for industrial code it's more important probably to have good unit test coverage.", 'start': 1983.735, 'duration': 2.642}, {'end': 1990.259, 'text': "Like, you actually need to have run all the lines to see that they're correct.", 'start': 1987.197, 'duration': 3.062}, {'end': 1996.264, 'text': "Now, for our two days, we're going to work on things that are just kind of medium size little utilities, where you know if they're incorrect.", 'start': 1991.18, 'duration': 5.084}, {'end': 1997.204, 'text': 'you can see pretty clearly.', 'start': 1996.264, 'duration': 0.94}, {'end': 1999.866, 'text': 'And so, for that kind of problem, Python is a really good match.', 'start': 1997.245, 'duration': 2.621}], 'summary': "Python's lack of compile-time checks emphasizes need for thorough unit testing for industrial code, but suitable for medium-sized utilities.", 'duration': 27.198, 'max_score': 1972.668, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk1972668.jpg'}, {'end': 2129.034, 'src': 'embed', 'start': 2098.056, 'weight': 2, 'content': [{'end': 2103.738, 'text': 'So I showed you the len, oops, the len function earlier.', 'start': 2098.056, 'duration': 5.682}, {'end': 2110.799, 'text': "So strings also, as I think I've already done, they, the plus works.", 'start': 2106.978, 'duration': 3.821}, {'end': 2119.562, 'text': 'So if I say a plus, you know, yay, then that puts it together, you know, plus puts strings together to make a bigger string.', 'start': 2111.199, 'duration': 8.363}, {'end': 2125.363, 'text': 'Strings in Python are what is called immutable.', 'start': 2122.682, 'duration': 2.681}, {'end': 2129.034, 'text': 'And that means that once a string is created, it never changes.', 'start': 2126.109, 'duration': 2.925}], 'summary': 'Strings in python are immutable, and the plus operator concatenates strings to make a bigger string.', 'duration': 30.978, 'max_score': 2098.056, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk2098056.jpg'}, {'end': 2317.305, 'src': 'embed', 'start': 2293.627, 'weight': 1, 'content': [{'end': 2301.293, 'text': "15 years ago is that we've gotten better at having what I think of as sort of built-in code like code you didn't write but that you can call,", 'start': 2293.627, 'duration': 7.666}, {'end': 2304.095, 'text': 'and it just solves basic problems for you sort of code, reuse.', 'start': 2301.293, 'duration': 2.802}, {'end': 2309.66, 'text': 'And Python, like any modern language, actually has a lot of code already done for you.', 'start': 2305.256, 'duration': 4.404}, {'end': 2317.305, 'text': "And so one of the basic skills I think of as kind of living higher on the food chain is When you're solving a problem you don't necessarily like oh,", 'start': 2310.34, 'duration': 6.965}], 'summary': 'Python and modern languages offer built-in code for problem-solving, promoting code reuse.', 'duration': 23.678, 'max_score': 2293.627, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk2293627.jpg'}], 'start': 1778.054, 'title': 'Python programming fundamentals', 'summary': "Covers python programming fundamentals including boolean logic, if statements, string manipulation, and the need for good unit test coverage. it also discusses python's evaluation of code, lack of compile checking, and the benefits of using built-in code for problem-solving.", 'chapters': [{'end': 1846.268, 'start': 1778.054, 'title': 'Python program boolean logic', 'summary': 'Explains the basics of boolean logic in python, including the usage of if statements and the conditions for true and false values, highlighting the common boolean operations and the specific rules for python.', 'duration': 68.214, 'highlights': ['The rules in Python for true and false values state that if a number is zero or a string is empty, they count as false, while any other value or non-empty string or non-zero number count as true.', 'The transcript also covers the usage of if statements and the basic Boolean operations such as less than, equal, and regular Boolean stuff in Python.', 'The chapter discusses the specific rules in Python for true and false values, highlighting that if a string is empty or a number is zero, they count as false, while any other value or non-empty string or non-zero number count as true.']}, {'end': 2324.927, 'start': 1846.268, 'title': 'How python works and string manipulation', 'summary': 'Explains how python evaluates code at the last possible second, its lack of compile checking, and the immutable nature of strings, emphasizing the need for good unit test coverage. it also delves into python string manipulation and the benefits of using built-in code for problem-solving.', 'duration': 478.659, 'highlights': ['Python evaluates code at the last possible second, lacking the extensive compile checking seen in languages like C++ or Java, emphasizing the need for good unit test coverage.', 'Strings in Python are immutable, meaning once a string is created, it never changes, and string manipulation operations always create new strings while leaving the original unchanged.', "Python's built-in code and string methods, such as 'lower' and 'find', provide solutions to basic problems, promoting the concept of code reuse and the need to leverage existing code."]}], 'duration': 546.873, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk1778054.jpg', 'highlights': ['Python evaluates code at the last possible second, emphasizing the need for good unit test coverage.', "Python's built-in code and string methods provide solutions to basic problems, promoting code reuse.", 'Strings in Python are immutable, and string manipulation operations always create new strings.']}, {'end': 3088.046, 'segs': [{'end': 2392.3, 'src': 'embed', 'start': 2343.917, 'weight': 0, 'content': [{'end': 2347.498, 'text': 'It turns out you can use square brackets to look inside of a string.', 'start': 2343.917, 'duration': 3.581}, {'end': 2355.281, 'text': "So if I say a square bracket zero, that's the left most character and a square bracket one, that's the E and so on.", 'start': 2347.518, 'duration': 7.763}, {'end': 2361.484, 'text': "If I go out of bounds here, then that's an error.", 'start': 2357.022, 'duration': 4.462}, {'end': 2365.105, 'text': 'So I really need to just, you know, keep to within the bounds of the actual thing.', 'start': 2361.564, 'duration': 3.541}, {'end': 2370.455, 'text': 'So one last syntax.', 'start': 2367.686, 'duration': 2.769}, {'end': 2371.155, 'text': "I'll show you for this.", 'start': 2370.495, 'duration': 0.66}, {'end': 2371.995, 'text': 'This is a little less.', 'start': 2371.215, 'duration': 0.78}, {'end': 2378.917, 'text': 'So you can use the plus to put together, you know, if I wanted to have a string and then whatever, I could use the plus to put together.', 'start': 2372.035, 'duration': 6.882}, {'end': 2385.418, 'text': "There's another form that uses C's printf syntax where I could say like, hi, %s.", 'start': 2379.617, 'duration': 5.801}, {'end': 2390.319, 'text': "And the %s is a placeholder where I'd like a string to go.", 'start': 2386.899, 'duration': 3.42}, {'end': 2392.3, 'text': 'And I could say like, I have, you know, %d donuts.', 'start': 2390.339, 'duration': 1.961}], 'summary': 'Using square brackets to access string characters and concatenating strings with plus and printf syntax.', 'duration': 48.383, 'max_score': 2343.917, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk2343917.jpg'}, {'end': 2829.917, 'src': 'embed', 'start': 2807.74, 'weight': 2, 'content': [{'end': 2817.127, 'text': "So, if just, I think syntactically, this is maybe looks a little bit weird, but I found slice syntax, I found it's just useful in a lot of situations.", 'start': 2807.74, 'duration': 9.387}, {'end': 2820.149, 'text': 'So, I would encourage you to go ahead and actually learn this one.', 'start': 2818.188, 'duration': 1.961}, {'end': 2823.692, 'text': "And we're going to have all these exercises and stuff in a little bit.", 'start': 2821.27, 'duration': 2.422}, {'end': 2829.917, 'text': 'Certainly, I have hidden inside of there little opportunities for you to end up wanting to use the slice syntax.', 'start': 2825.293, 'duration': 4.624}], 'summary': 'Slice syntax is useful in a lot of situations. encouraging to learn. hidden opportunities to use it in exercises.', 'duration': 22.177, 'max_score': 2807.74, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk2807740.jpg'}, {'end': 2925.375, 'src': 'heatmap', 'start': 2847.213, 'weight': 3, 'content': [{'end': 2856.737, 'text': "And so, if you go to the PyQuick page, which I'll just do here, it points to this page, PyQuick exercises.", 'start': 2847.213, 'duration': 9.524}, {'end': 2858.898, 'text': 'There we go.', 'start': 2856.757, 'duration': 2.141}, {'end': 2862.769, 'text': 'And then that explains how you copy and I can you know, if you raise your hand,', 'start': 2859.767, 'duration': 3.002}, {'end': 2867.292, 'text': "I'm happy to kind of walk around how you can copy this set of directories.", 'start': 2862.769, 'duration': 4.523}, {'end': 2870.134, 'text': "It's going to look like this.", 'start': 2867.472, 'duration': 2.662}, {'end': 2871.495, 'text': 'Now, let me show you what I want you to do.', 'start': 2870.554, 'duration': 0.941}, {'end': 2875.118, 'text': "So inside here, there's like day one, day two and some other stuff.", 'start': 2872.095, 'duration': 3.023}, {'end': 2876.779, 'text': "Today, we're doing day one.", 'start': 2875.778, 'duration': 1.001}, {'end': 2887.286, 'text': "So go in the day one directory and the first thing I want you to look at is there's this, there's a file in there called, oops, no, not that one.", 'start': 2877.779, 'duration': 9.507}, {'end': 2893.212, 'text': "There's a file in there called string1.py and I'm just going to look inside of there.", 'start': 2888.268, 'duration': 4.944}, {'end': 2901.74, 'text': "And so what this thing has is in the comments, sorry, I'll make this a little bigger.", 'start': 2896.255, 'duration': 5.485}, {'end': 2907.325, 'text': "There's some little exercises in here that just use the stuff in lecture that we've done so far.", 'start': 2903.882, 'duration': 3.443}, {'end': 2911.106, 'text': "So, for example, here's, you know, exercise A, Dr. Evil.", 'start': 2908.684, 'duration': 2.422}, {'end': 2917.67, 'text': "And just in English, there's a little description of like what it is I want you to do and it gives a little example.", 'start': 2911.166, 'duration': 6.504}, {'end': 2919.391, 'text': 'But then the code is just not done.', 'start': 2917.91, 'duration': 1.481}, {'end': 2925.375, 'text': "And so your job is filling the code there to actually compute what it's supposed to compute.", 'start': 2920.472, 'duration': 4.903}], 'summary': 'Instructions for completing python exercises on pyquick page and filling in code for specific files.', 'duration': 78.162, 'max_score': 2847.213, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk2847213.jpg'}], 'start': 2325.247, 'title': 'Python string manipulation', 'summary': 'Introduces string manipulation in python, covering techniques like using square brackets to access characters, combining strings with plus sign, and using format strings with placeholders like %s and %d. it also emphasizes the use of slice syntax to access specific parts of a string and encourages completion of string manipulation exercises before the lunch break.', 'chapters': [{'end': 2433.246, 'start': 2325.247, 'title': 'String manipulation in python', 'summary': 'Introduces string manipulation in python, covering techniques like using square brackets to access characters, combining strings with plus sign, and using format strings with placeholders like %s and %d.', 'duration': 107.999, 'highlights': ["You can use square brackets to look inside of a string, where a square bracket zero represents the leftmost character and a square bracket one represents the 'E', and going out of bounds results in an error.", "The plus sign can be used to combine strings, while another form uses C's printf syntax with placeholders like %s and %d for string and integer substitutions.", 'Format strings, using placeholders and the percent sign, allow for substituting values into a string to create a larger string, providing a convenient method for string manipulation.']}, {'end': 3088.046, 'start': 2433.266, 'title': 'Python strings and slicing', 'summary': 'Introduces python strings, emphasizing the use of slice syntax to access specific parts of a string, and encourages students to complete string manipulation exercises before the lunch break.', 'duration': 654.78, 'highlights': ['Python strings are a series of bytes and not Unicode strings.', 'Introduces the slice syntax in Python for accessing subparts of a string.', 'Assigns exercises to be completed before the lunch break, involving string manipulation.']}], 'duration': 762.799, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/tKTZoB2Vjuk/pics/tKTZoB2Vjuk2325247.jpg', 'highlights': ['Using square brackets to access characters in a string', 'Combining strings with plus sign or using format strings with placeholders', 'Introducing slice syntax for accessing specific parts of a string', 'Completing string manipulation exercises before the lunch break']}], 'highlights': ["Nick Parlante from Google's NGDU group and Stanford is the instructor.", 'Python was created in 1990 by Guido van Rossum, gaining momentum and popularity.', 'The class includes a mix of lecture and coding sections, moving quickly.', 'The chapter introduces Python function definition and command line arguments.', 'Python evaluates code at the last possible second, emphasizing the need for good unit test coverage.']}