Jealous of MIT students who can have such an awesome teacher; Thankful to MIT who's willing to share these awesome lectures.
@iitasperiant61022 жыл бұрын
Help bro please 🥺
@鄭心和4 жыл бұрын
0:02:30 How do we write code 0:04:15 Abstraction and Decomposition 0:06:09 Abstraction example 0:08:00 Decomposition 0:09:14 Abstraction 0:10:06 Functions 0:11:37 How to write and call/invoke a function 0:14:43 In the function body 0:15:45 Variable scope 0:18:25 Variable scope example01 0:21:09 One warning if no return statement 0:22:00 0:24:00 0:26:25 Functions as arguments 0:28:00 0:30:00 0:30:57 Variable scope examples 0:34:18 (Link description : Some more Variable scope example) 0:35:44 Variable scope example 0:36:21 Variable scope example global scope 0:37:41 Variable scope example call h() 0:38:45 Variable scope example return to g() scope 0:39:41 Variable scope example return to global scope
@diogos34753 жыл бұрын
Real Heroes don't wear capes
@petor953 жыл бұрын
Thank you 🙏🏾
@Billyxiao2 жыл бұрын
Amazing
@SK-qy5nz7 жыл бұрын
Thanks MIT for providing equal opportunity for poor people like me. I am grateful to these wonderful courses. Will try to see everything till i die....
@SZ-hg5fd6 жыл бұрын
I immigrated from China to Canada, as you know there’s no KZbin in China, so I am lucky to have such an opportunity to watch MIT courses. I am grateful to all of these!
@jason-ps6mf6 жыл бұрын
I am a Chinese from a poor village using shadowsocks to watch this awesome video
@kattetivikram18626 жыл бұрын
Iam indian it is very useful to me .Iam computer science students in india
@MultiDexter925 жыл бұрын
Americans, where are you?
@jonathanhansen42825 жыл бұрын
@@MultiDexter92 Im at a top 15 Uni and am still here....
@jonahcornish61607 жыл бұрын
Wow, this instructor is excellent. She does a great job of comparing what you are coding to simple concepts. I am always let down when an instrucor is really intelligent but makes the material unnecesarilly convoluded to the point you woulld only be able to understand it with advanced knowledge of the subject.
@jakeambrose42947 жыл бұрын
if u plan to keep learning it and like to network with other people who are also find me messaging my facebook page knowledge obsession if trading info and sources and solving problems with others interests u
@tonyravindran5 жыл бұрын
actually in the regular course the reading material and and the slides are shared beforehand for the students to prepare themselves for the lecture but we have to jump straight into the lecture
@aaronisinjapan5 жыл бұрын
This is honestly the best explanation of functions in python. Global and local differences are also extremely clear. Great job!
4 жыл бұрын
8:00 modules. Create it once, debug it once and use it many times for different projects or in your code with different inputs.
@rishanVJrathne Жыл бұрын
Thank You, Dr. Ana Bell . It was a nice explanation of the SCOPE.
@algemmegla90024 жыл бұрын
35:40 Scope Details. I think it's helpful to just look at it line by line. At first I got confused with x = x + 1 because it seemed to be inside def h(), but it's actually inside def g(x). def h() is such a simple block of code, that it threw me off at first. Assign x to 3 +1. print the string 'g:x=' , h() assigns x to 'abc', but returns None. So the string, abc, stays within that scope. Calling the function, h() ,returns None. return x is typed "after" print(x) in the order. Brain slowly absorbing. def g(x): def h(): x = 'abc' x = x + 1 print('g: x =', x) h() return x x = 3 z = g(x)
@henrikmanukyan3152 Жыл бұрын
where does h() take its "x" variable if it has neither defined nor had that argument in its definition? is this the case of using global variables that is not recommended?
@ProfitScalpKing17 жыл бұрын
Thanks a bunch Dr. Bell
@senshi_ichigo Жыл бұрын
she is So Kind during Explaining and thanks for that Ana 😀 Greetings from #Morocco .
@DARELASISI3 жыл бұрын
THIS VIDEO IS PYTHON MADE EASY, THANK YOU, ANA.
@mikhailskalyga93864 жыл бұрын
If only at my university the programming was teched like that... Idk, if it's just me, but how important the teacher in the teaching process. At my university, the lectures were boring, students were not involved in the process, and in the end, I started hating the programming classes. Now I can see how beautiful and interesting they could be
@user-nm9fk7cb4b3 жыл бұрын
This is only interesting to me because in my own time over the course of years I’ve been putting pieces together of functions within functions that leads to spontaneous, recursive creative syntax Don’t blame your teachers, if you’re bored THEN YOU’RE THE BORING ONE. That also means you know why you’re bored, so you can change it
@Hivlik3 жыл бұрын
34:00 what is the difference between incrementing x and printing x? it is defined in the same place relative to g() and h()
@as-br9ov3 жыл бұрын
When you are trying to print it, func g is able to track down x into the global scope and get it. Yet, if you want to convert it into something, in other words if you want to implement process onto x, you have to define it first in whatever scope you are. Then you can modify it.
@goclbert2 жыл бұрын
Me doing problem set 1: "Man its gonna take me a long time to be able to afford a house"
@GhostkillerPlaysMC5 жыл бұрын
39:49 If the function h() had a return at the end, would the outer function have returned x as 'abc' instead of 4?
@Rollo_and_Jeet5 жыл бұрын
only if we assign the return of h() to x like x= h(). Otherwise 4
@algemmegla90024 жыл бұрын
21:50 (regarding the section on return and None) When describing remainder = i % 2, it might be easier for beginners to say: i "modulus" 2, instead of i "percent" 2. Overall, the videos are excellent. Thank you! :D
@akbarrauf27417 жыл бұрын
thank you ,mit
@carmenc72514 жыл бұрын
In the last example, where x is not defined in function g(x) should be giving an error (UnboundLocalError: local variable 'x' referenced before assignment ), isn't it? Like how the example shown in 32:42
@nikhilkolhe23743 жыл бұрын
x is the formal parameter, so it well be assigned to the value of actual parameter at function call. So we should not get an error
4 жыл бұрын
4:00 functions: decomposition and abstraction
@GovindKumar-mu6jq3 жыл бұрын
The way she explained about the scope of variables is awesome...
@abdelkarimjaja77405 жыл бұрын
Thanks, MIT for give us this opportunity
@strategoclownery3892 жыл бұрын
can anyone tell me how she just comments out a hole block of code without doing the """ thing? That would be such a great help. Thanks
@mitocw2 жыл бұрын
In IDLE, use ctrl + D to comment out many lines of code.
@xuefengwong90976 жыл бұрын
The scope part is clear and easy to understand, thanks!
@leixun4 жыл бұрын
*My takeaways:* Function specification/docstring 13:00
@alirezarezaeikalat94213 жыл бұрын
tnx MIT for make these courses public
@jakeambrose42947 жыл бұрын
im lost but im just going to keep watching.
@pocok50007 жыл бұрын
I'm not sure that's a good idea. Watch again until you understand. Then you can understand the rest easier.
@LordAhmedAmr7 жыл бұрын
I hope you didn't lose interest by now and that you started to wrap your head around things. if not though i would recommend watching the CS50 course from harverd it's way much easier yet very useful.
@vmalonbc6 жыл бұрын
Re-watch if lost. I have to rewind tough parts a couple of times until I get it. No shame in that.
@idontknow-ms8mc5 жыл бұрын
Udacity's Intro to Computer Science course is pretty good, as well and goes over concepts very simply. There is also a version of this course on Edx.org.
@MrFaiqueShakil4 жыл бұрын
@@idontknow-ms8mc It is more complex than this.
4 жыл бұрын
11:53 How you write a function. Parts of a function
@jayholt5 жыл бұрын
Oh man, missed a good opp to have a func_e. Regardless, loving this content. Makes me miss college 😭
@algemmegla90024 жыл бұрын
ha ha. Took me a minute.
@alham96563 жыл бұрын
@@theerdalavignesh4443 funky
@demon-godashura16617 жыл бұрын
Well i don't know why but at 27:34 when i pass the same code in my spyder it says "unexpected EOF while parsing"
@rootytuners4 жыл бұрын
You’ve probably omitted a closing quote or bracket somewhere.
@peterhind9 ай бұрын
So when h returns, h in the scope of g still equals 'some code' and None is just sort of floating about in the scope of g. But when g returns, the value 4 is assigned to z because of the equals sign in the code. Is that right ? And if that's right, that means the None in the scope of g was inaccessible. Just trying to get it clear.
4 жыл бұрын
25:00 example of a function "is even"
@masoudelahian6132 жыл бұрын
The last example about nesting would have been better if you had written h as function of other thing that would have added to x and participate in the main function. BTW it was really a good pedagogical video.
@phildawg914 жыл бұрын
so, x = 3 def f(y): print(x) works but def g(y): x =+ 1 does not work. because it's not in the functions scope. so are only operations with a variable out of scope not possible? because in either case it has to know the value of x, whether you print it or whether you do something with it. so why does the second one not work?
@blackprince32884 жыл бұрын
Best explanation of abstraction and decoMposition!!!!!
@晃蕩-m6f6 ай бұрын
It's incredibly easy to understand
@Yugandhar6356 жыл бұрын
when func_a( ) is mapped to z ... then can we write return z instead of return z( ) ?
@nikhilkolhe23743 жыл бұрын
no if you do that you are returning the object func_a. but when you return z(), you are returning the value of expression func_a(), which is the value returned by func_a.
4 жыл бұрын
26:03 in python everything is an object
4 жыл бұрын
10:00 recap functions
@percih707 жыл бұрын
Python tutor is awesome .......
@sd-xk7qr3 жыл бұрын
It's great. The only problem sometimes is that it stops at 1000 steps
@Mujahid_Abbas3 жыл бұрын
Thanks Mam For Upload On U-Tube so That I am able to listen this.
@mustafaadelamer27895 жыл бұрын
thank you so much for your illustrations Dr. Ana. Very very useful.
@kushagrakanungo95175 жыл бұрын
How come the instructor can remove the comments from the code in one go? What is the command to do it?
@sebastiangutierrez96505 жыл бұрын
highlight the comments and then do ctrl+1
@kushagrakanungo95175 жыл бұрын
@@sebastiangutierrez9650 Thank you so much.
@hycopa24472 жыл бұрын
Thank you MIT for feeling in the gaps :)
@atlantic_love2 жыл бұрын
I see what you did there lol. Get back to programming :D
@YoshBruh4 жыл бұрын
The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational resources for free. To make a donation or view additional materials from hundreds of MIT courses, visit MIT OpenCourseWare at ocw.mit.edu
@leokettner6367 жыл бұрын
The title of this lecture should be "funception"
@ziadanwar52963 жыл бұрын
I came down searching for that comment Lmao
@aymensekhri21335 жыл бұрын
Thanks a lot Dr. Ana Bell
@MrFaiqueShakil4 жыл бұрын
What's the shortcut for deleting the hash # from each line at once, like Professor Ana bell does regularly in Spyder IDE.
@maheraberu20003 жыл бұрын
strg+1
@Liaomiao7 жыл бұрын
why did it print with return and without return twice?
@LauBoonhai3 ай бұрын
Yes, why?
@pianoworld_1 Жыл бұрын
What a coincidence , it's also raining In my city Hyderabad Pakistan due to a cyclone.
@yuminkim72647 жыл бұрын
a nice lecture. Thanks!
@MrFaiqueShakil4 жыл бұрын
best function lecture ever.
@danielrio19676 жыл бұрын
Nice! i will come to US in few years!
@x15cyberrush95 жыл бұрын
@@mzaje9803 who r you to say that? don't underestimate india ns and Chinese
@theDrake-tx1vj7 жыл бұрын
if suppose the function h() in the last example is called twice, does the "scope" remain or is it formed twice? pls help
@rootytuners4 жыл бұрын
It is a fresh scope on each call.
@edogg56906 жыл бұрын
Can anyone ELI5 what it means to provide abstraction? She says that writing the docstring provides abstraction and I'm just not familiar with that meaning.
@saurabh75prakash6 жыл бұрын
E Dogg , Abstraction means that you need not look into the details of the function to use it( remember the projector example). The docstring provides the high level idea about the function which can help you in reusing the function in your code (without looking into the details of function's code)
Is it just me or is the scope structure in python eerily reminiscent of the way tangent universes are described in Donnie Darko (director’s cut)? 🤔🤔 just a thought!
got any of the other assignments? would love to compare some of mine
@pricesmith84506 жыл бұрын
Is it bad style to use a variable from outside the scope of a function?
@pricesmith84506 жыл бұрын
nvm.. yes.
@ayandamarotya96076 жыл бұрын
depends on the assignment preference of that variable you will be using... only assign global variables when you will access them from more than one function...
@Liaomiao7 жыл бұрын
when you print(function_name) it just prints out what the function returns?
@leboyoyo6 жыл бұрын
Liaomiao yes
@rootytuners4 жыл бұрын
@Liaomiao - actually no. print(function_name) will print the function object in memory; something like: . print(function_name()) with the parentheses will print what the function returns.
@kattetivikram18626 жыл бұрын
Iam mca student in india.it has very useful to me
@lc04144 жыл бұрын
real lecture starts at 11:00
@HadeelHanaysheh7 жыл бұрын
why we are didn't use x ='abc' on any where ???
@andredc1617 жыл бұрын
because it never was used has a print(x) inside the function h(), and doesn´t has a return. So it returns None
@McAwesomeReaper Жыл бұрын
She wears the same outfit for every lecture. Just an observation, not a criticism. It's a nice outfit that strikes the perfect balance, I can see why she settled on this look in particular.
@doraemongameplay56834 жыл бұрын
im 12 and i dont understand what is func, help...
@miscellany9674 Жыл бұрын
تحياتي للعميد بامطرف
@Linux4Ever20115 жыл бұрын
Thank you for such clear explanation :)
@emansalah27666 жыл бұрын
Where do I get the python tutor ?
@estherweyinmikoloh71826 жыл бұрын
pythontutor.com
@saurabhmiyani90144 жыл бұрын
Thanks MIT
@denniskamonde68367 жыл бұрын
great job
@jongcheulkim72842 жыл бұрын
Thank you.
@jadenmax6795 жыл бұрын
Great. Thank you.
@samratdalal68784 жыл бұрын
It's awesome.
@riccardovasellini65705 жыл бұрын
Does anyone know how she deletes all the # character at once?
@DaljitSingh-ei9re5 жыл бұрын
'Ctrl' + '/'
@GhostkillerPlaysMC5 жыл бұрын
Lol even at MIT the students begin packing up before the professor is done teaching
@woddlyoats Жыл бұрын
It's sad
@dmac4u2luv5 жыл бұрын
Brilliant!
@nazeehsaifi9167 жыл бұрын
Thank you
@quocvu9847 Жыл бұрын
34:34
@tanphanvan26933 жыл бұрын
Great lecture. Anyone has the solution for the assignment? Thanks very much!
@zigginzag5844 жыл бұрын
Hello class!
@dani75996 жыл бұрын
I love the fact that American students are pretty confident to claim that they can make projectors using given components after the professor asked about it. In my country and in UK, nobody wants to look smart even though they are able to do the same.
@alexandrugheorghe5610 Жыл бұрын
29:03 "so z is func_c" should have been "so z is func_a"
@shubhankarsingh40653 жыл бұрын
19:23 when you hit a function call
@aftabahmed24606 жыл бұрын
informative
@tawfeeqmuallem90866 жыл бұрын
I LLLLOOOOVVVEEE YOUUUUUUUUUUUU
@kunjs36874 жыл бұрын
IM 11 AND MY DAD IS EXPECTING ME TO UNDERSTAND THESE VIDEOS. I CAN'T UNDERSTAND ONE BIT< SO MY DAD IS GETTING REALLY MAD AT ME. CAN U PLEASE MAKE SOME VIDEOS THAT I MAY UNDERSTAND
@mitocw4 жыл бұрын
We recommend you try the materials through the Edx course. It just started today! It has a place to get help and ask questions. www.edx.org/course/introduction-to-computer-science-and-programming-7. Also, if this course is still confusing try another resource/course. There are many available. Another view can help. Also, if English is not your native language, try a course that is in your language. Best wishes on your studies!
@woddlyoats Жыл бұрын
If your dad is getting mad then he is a really pathetic person.
@hamids45507 жыл бұрын
I was okay until you got to the last example. Totally lost you :P I'll keep watching it until i get it. Thanks for posting
@sridharr83067 жыл бұрын
Try to do that bit by yourself, using python tutor. It will be clear
@devzoi37156 жыл бұрын
i didnt use it my mom did
@joaooliveira185 Жыл бұрын
Based
@ashen19705 жыл бұрын
Whoever edited this open courses must didn’t want to leak the major part of MIT’s succeed in education.
These cameramen really suck at focusing on the slides. I don't need to see her face while she's explaining the slides. These videos are hard to watch and take notes on 2x speed.
@yukeyang57356 жыл бұрын
Why is the teacher always in the same outfit?Curious.