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

今天的内容整理共有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‘)

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

时间: 2024-07-29 10:01:42

python脱产4期内容整理NO.11的相关文章

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

一,文件处理的模式基本概念 打开文件的模式有三种:r(默认),w ,a 控制操作文件内容格式的两种模式:t(默认),b 操作文件内容格式不能单独使用,必须与纯净模式结合 二,打开文件模式 详解 1.r是只读模式:文件不存在时会报错,文件存在时文件指针位于文件开头部分 with open('a.txt',mode='rt',encoding='utf-8')as f: print(f.readlines()) 2.w是只写模式:在文件不存在时,会建立新文件,文件存在时内容会删除旧文件, 文件指针在

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

今天主要讲的内容有: 一.包的详解二.相对导入和绝对导入三.内置模块补充 一.包的详解 1.包是什么 包其实也是一个模块,只不过是一个大的模块下包含一堆模块的载体 本质上也是一个文件夹,与普通文件的区别在于其中包含一个init的文件 2.包的作用 包的作用就是提高代码的可读性和扩展性 3.怎么使用包 创建一个package文件夹,在该文件下创建多个文件 使用包和调用模块一样,import 包名 4.init文件的作用 模块调用会发生一下三种情况: 1.会创建一个名称空间 2.会执行模块中的代码

Google C++ 风格指南内容整理

之前一直没有全面的看过Google C++风格指南,现在很多公司进行C++开发都要求按照Google C++风格.在这个网站 http://zh-google-styleguide.readthedocs.org/en/latest/contents/  有人已经把其翻译成中文.为了便于以后查看,下面的内容完全是来自于这个网站,只是把多个网页的内容整理放在了一起. 1.      头文件: 通常每一个.cc文件都有一个对应的.h文件.也有一些常见例外,如单元测试代码和只包含main()函数的.c

2018年老男孩最新全栈python第8期全套视频教程(6个月)陆续更新完!

2018年老男孩最新全栈python第8期视频教程(6个月)陆续更新完! 1.png (78.13 KB, 下载次数: 0) 下载附件 半小时前 上传 视频日期:   老男孩教育Python高级全栈开发工程师 课程内容: 第一阶段: linux基础以及常用服务学习(2周) 计算机组成原理 linux前世今生 linux介绍以及特点 Unix的历史介绍 自由软件以及基金会 GUN.GPL核心 linux的三大企业应用领域介绍 linux的各种开发性版本以及区别 linux的环境搭建 CentOs安

《python自动化selenium+appium》8月11号开学!(2个月2000,包教会)

<python自动化selenium+appium>8月11号开学!(2个月2000,包教会) 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学 报名费2000一人(周期2个月) 联系QQ:283340479 个人成就: 1.个人博客,百度直接搜索:上海-悠悠博客 2.个人原创微信公众号:yoyoketang 3.已经在百度阅读上线的书,百度搜索:百度阅读,再搜索书名: <selenium webdriver基于源码案例>-作者:七月份的尾巴_葵花&上海-悠悠 <p

菜鸟学Python训练营第一期练习题

菜鸟学Python训练营第一期练习题 1.比如自然数10以下能被3或者5整除的有,3,5,6和9,那么这些数字的和为23. 求能被3或者5整除的1000以内数字的和 1 multiple_of_threes=[] 2 for multiple_of_three in range(0,1001,3): 3 multiple_of_threes.append(multiple_of_three) 4 sum_of_threes=sum(multiple_of_threes) 5 print(mult

Python Selenium入门学习材料整理

Python Selenium入门学习材料整理一.简介及环境搭建1.selenium 介绍:selenium 是一个 web 的自动化测试工具,可以自动打开浏览器执行页面打开.页面内容抓取.页面元素搜索,是相对好上手的网页爬取工具.2.安装selenium:pip install selenium3.安装webdriver:selenium打开网页需要有webdriver来调用浏览器.Firefox:https://github.com/mozilla/geckodriver/releases/

Python中set集合的整理

set集合函数主要用来去除重复: 比如一个列表有多个重复值,可以用set搞掉 >>> l = [1,2,3,4,5,4,3,21] >>> >>> l [1, 2, 3, 4, 5, 4, 3, 21] >>> >>> >>> set(l) set([1, 2, 3, 4, 5, 21]) >>> set  可以做交集,并集,差集 set的增删改 增:>>> a

要继续看Python写算法的内容请到那里去

因为在这里发文章的时候,莫名其妙的出现发布出去的问题,客服告知是因为链接或者敏感词. 能不能告诉我哪里出了问题?我可以修改,以便再发. 但是,没有人告诉我,只是告诉我不能发. 另外,能不能公布一下敏感词?以后我在遣词造句的时候,才可以避免. 但是,没有看到敏感词列表. 以后我的文章将发布在https://www.github.com/qiwsir/algorithm里面,有兴趣的可以到那里阅读. 要继续看Python写算法的内容请到那里去,布布扣,bubuko.com