码迷,mamicode.com
首页 > 编程语言 > 详细

python脱产4期内容整理NO.11

时间:2018-09-26 21:37:25      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:内容整理   登录   isis   元素   命名   包含   input   mes   阶段   

今天的内容整理共有5部分

一、命名关键字参数

二、函数对象

三、函数的嵌套

四、名称空间与作用域

五、闭包函数

 

一、命名关键字参数

           命名关键字参数:在定义函数是,*与**之间的参数称为命名关键字参数
           特点:在调用函数时,命名关键字参数必须按照key=value的形式传值
           正常的函数形参排列(位置,关键字,*args,命名关键字,**kwargs)

二、函数对象

          函数是第一类对象:指的是函数内存地址可以像一个变量值一样去使用

         1.变量值可以被引用

         2.变量值可以当做参数传给另外一个函数

         3.变量值可以当做参数传给另外一个函数

         4.变量值可以当做容器类型的元素


          func_dic={
                   ‘1‘:regisister
                   ‘2‘:login
                   ‘3‘:pay
                   ‘4‘:transtr
          }

          while True:
                  print("""
                  0 退出
                  1 注册
                  2 登录
                  3 支付
                  4 转账

                  “”“)

                  choice=input(‘请输入你的操作:‘).strip
                  if choice==‘0‘:break

                  if chice not in func_dic
                        print(‘输入的指令不存在’)
                        continue

                  func_dic[choice]()

三、函数嵌套

           函数的嵌套用:在一个函数内部又调用其他的函数

                  def max4(a,b,c,d)

                         res1=max2(a,b)

                         res2=max2(res1,c)

                         res3=max2(res2,d)
                         return res3

         函数的嵌套定义:在函数内有定义了其他函数

                 from math import pi

                def circle(radius,action):

                     def cal_perimerter():
                            return 2*pi*radius

                     def cal_area():

                           return pi *(radius**2)
                     if action==1:
                           res=cal_perimeter()

                    elif action ==2:
                          res=cal_area()

                          return res

                   res=circle(10,1)

                   print(res)

四、名称空间与作用域

           1、名称空间相关内容

                    1.1名称空间Namespace:指的就是存放名字与值内存地址绑定关心的地方(内存空                            间)
                    1.2名称空间三大类

                     内置名称空间:存放的是python解释器自带的名字
                     产生:python解释器的启动则产生
                     销毁:python解释器关闭则销毁

                      全局名称空间:在顶级定义的名字(除局部名称除外都是全局名称)
                      产生:执行python程序时产生
                      销毁:python程序执行完毕后则销毁

                      局部名称的空间:在函数内定义的名字
                      产生:在函数调用时临时产生
                      销毁:在函数调用完毕后销毁

                     三种名称空间的产生的先后顺序:内置》全局》局部
                     查找名字的顺序:从当前位置往外一层一层查找
                     如果当前在局部名称空间:局部》全局》内置
                     如果当前在全局名称空间:全局》内置

           2,作用域:指的是作用的范围

                   全局作用域:包含内置于全局名称空间的名字
                   特点:全局存活,全局有效

                   局部作用域:包含局部名称空间的名字
                   特点:临时存活,局部有效

                   !!!作用域关系在函数定义阶段就已经被固定死了,与调用位置无关

                     def f1():
                             print(xxx)
                     xxx=111
                     def f2():
                            xxx=222
                            f1()
                      f2()

五、闭包函数

          闭:封闭,指的是该函数是定义一个函数内部的函数
          包:该内部函数包含对外层函数的名字的引用

          为函数传值得两种方法:

          方式一:直接以参数的形式传入

           def foo(name):
                print(’hello %s‘ %name)

           foo(‘egon‘)

          方式二:闭包函数

            def outter(name):
                   def foo():
                           print(’hello %s‘ % name)

                  return fo
            f=outter(‘egon‘)

           

 

 

 

 

           

python脱产4期内容整理NO.11

标签:内容整理   登录   isis   元素   命名   包含   input   mes   阶段   

原文地址:https://www.cnblogs.com/wuzhengzheng/p/9709543.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!