首页 > temp > python入门教程 >
-
学习python的第六天
昨天听了一下面向对象的开头,又用到了闭包。这里我再写一下闭包。
闭包就是函数中的函数由于调用这上级函数中的变量,在上级函数执行结束的时候本应释放变量的内存没有释放(被内部函数调用着),导致了闭包。 而且内部函数还可以当作上级函数的专属函数(方法)
def outer():
name = "jack"
print("outer",name)
def inner():
print("inner",name)
return inner #将内部函数返回,但是不调用
func = outer() #调用outer的时候先执行outer()在返回inner的内存地址,但是不执行inner。(先执行outer()也就是说会执行print("outer",name) )
func() #由于outer()返回的是inner的内存地址,所以再次调用的时候就相当于调用了inner。
2. 这个是内部函数调用外部函数中的字典,和调用外部函数中的变量一个道理。
def outer(): info = { "name": "jack", "sex": "male" } info2 = { "name": "alex" } def inner(): print("inner") info["inner"] = inner #这个将inner函数存到了info中 return info #函数中有两个字典。info和info2 。 return哪个,外部就能调出哪个。现在返回的是info, 那么外部print出的就是jack而不是alex # func1 = outer() # print(func1["name"]) print(outer()["name"]) 这一段自己想一想吧。
面向对象:类,对象,封装,继承,多态。 继承和多态以后说
类,简单理解就是一个装有属性的模板。比如一个函数。实例化就是把这个类(模板,比如专属的属性)生成一个实体的过程。生成的这个实体也叫对象或者实例
比如 狗的属性:咬人,摇尾巴。将这个属性封装成一个类(一个函数)。定义一个变量dog1,将dog1命名为藏獒,将这个属性(类)赋给这个变量就是实例化。这个时候藏獒才拥有了咬人的本领,藏獒也成了对象。(可能有些词不准确,理解就好)
封装 , 给类中封装一个专属的函数(方法)。比如狗的属性模板(类)中嵌套一个函数 咬bite()。这个bite专属于狗,别的对象不能有。所以将bite嵌套在类中叫封装
学不下去了。最近额,心情比较低落,可能是崴脚了出不去在家憋得吧
来源:https://www.cnblogs.com/xiaoyuheng/p/14608478.html