VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 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


相关教程