函数基础2

命名空间与作用域  全局作用域:          内置名称空间    builtins          全局名称空间    文件中没有缩进的定义的名称     在这个文件的任何位置都可以使用  局部作用域:          局部名称空间    局部----------》全局-----------》内置

命名空间的查询:globals()                  locals()

函数嵌套:  嵌套调用           嵌套定义    函数定义时仅显示语法错误函数对象:        函数是第一类对象:                可以被当做变量来传递                可以被当做参数                可以被当做返回值                可以被当做容器的一个元素闭包:内部定义的函数,且包含对外部作用域名字的引用而不是全局作用域名字的引用         作用:闭包包含它的内存地址和自身引用的参数(自带干粮)         应用场景:专门爬某一网站的爬虫# print(f.__closure__)           # 查看闭包f2的内存地址和它引用的外部参数的个数# print(f.__closure__[0].cell_contents)   # 查看f2引用的外部参数的值
#嵌套定义:x = 9999999999def f1():    #x = 1    print(‘----------------‘,x)    def f2():        x = 2        print(‘------------‘,x)        def f3():            x= 3            print(‘------‘,x)        f3()    f2()f1()

#嵌套调用def my_max(x,y):    res = x if x > y else y    return res

def my_max1(a,b,c,d):     res1 = my_max(a,b)     res2 = my_max(res1,c)     res3 = my_max(res2,d)     return res3print(my_max1(1,20,3,4))

def foo():    print(‘from foo‘)    return ‘aaa‘print(foo) # 打印函数内存地址

print(foo()) #打印函数运行结果和返回值

#函数可以被赋值f = fooprint(f)f()#把函数当成参数传递def bar(func):    print(‘from bar‘)    func()

bar(foo)#把函数当成返回值def bar(func):

return funcbar(foo)f = (bar(foo))f()print(bar)

#把函数当做容器的一个元素def add():    print(‘-------------------add‘)def search():    print(‘--------------------search‘)cmd_dic={    ‘add‘:add,    ‘search‘:search}def tell_msg():    msg = """    **********    search:查找    add:增加    ***********    """    print(msg)def main():    tell_msg()    m = input(‘please input your choice:‘)    cmd_dic[m]()

main()#闭包x =1def f1(x):    def f2():        print(x)

return f2f = f1(999999999999)f()print(f.__closure__)           # 查看闭包f2的内存地址和它引用的外部参数的个数print(f.__closure__[0].cell_contents)   # 查看f2引用的外部参数的值#闭包的应用#爬虫from urllib.request import urlopendef get(url):    return urlopen(url).read()

print(get(‘http://www.baidu.com‘))

#专门爬pythonfrom urllib.request import urlopen

def get(url):    def f2():        n = urlopen(url).read()        print(n)    return f2f = get(‘http://www.baidu.com‘)f()
时间: 2024-10-08 23:06:30

函数基础2的相关文章

python 学习笔记day06-错误和异常、函数基础

错误和异常 基本概念 错误 从软件方面来说,错误是语法或是逻辑上的 - 语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译,这些错误必须在程序执行前纠正 - 逻辑错误可能是由于不完整或是不合法的输入所致,还可能十逻辑无法生成.计算,或是输出结果需要的无法执行 异常 当python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常 异常是因为程序出现了错误而在正常控制流以外采取的行为 这个行为又分为两个阶段: - 首先是引起异常发生的错误 - 然后是检

2016.8.07 函数基础

写在前面:今天我将发表函数基础.对象基础.this.new.封装.封装例子  这几篇个人理解文章.最好能一口气看完,并自己写下,相信会对想要理解函数和对象的朋友们会有一些帮助. 目录:函数的三种声明方式. 函数的return. 函数形参和实参的区别. 函数注意 函数的三种声明方式: 1.自定义函数: function f1(){ alert("asd"); } 调用方式: 函数名 f1(); 特点: (1)函数声明的函数在JS预解析的时候,会提升到作用域的最前面 (2)函数声明中的函数

【2017-03-05】函数基础、函数四种结构、ref和out参数、递归

一.函数基础 1.函数/方法:非常抽象独立完成某项功能的一个个体 2.函数的作用: 提高代码的重用性提高功能开发的效率提高程序代码的可维护性 3.分类 固定功能函数高度抽象函数 4.函数四要素:输入,输出,函数体,函数名.(函数体.函数名必须有,输入.输出不是必须有的!) 5.格式 public static 返回值类型 函数名(输入值类型参数,第二个,第三个,int a,string b) { return 上面的返回值类型 } 注:函数也是放在Main函数之外,在Class之内.花括号之内的

JavaScript 函数基础

1. JavaScript 函数基础 1. 定义方法 2. 函数的调用方法 3. 函数方法 apply : 将函数作为数组的方法来调用 将参数以数组形式传递给该方法 call   : 将函数作为对象的方法来调用 将制定参数传递给该方法 toString : 返回函数的字符串表示 4. arguments对象 arguments对象 功能: 存放实参的参数列表 特性:仅能在函数体内使用  带有下标属性 但并非数组  函数声明时自动初始化 属性: A) length 获取函数实参的长度 B) cal

速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数

[源码下载] 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函数返回值 可变函数 匿名函数 闭包函数 回调函数 示例1.函数的相关知识点 1(基础)function/function1.php <?php /** * 函数的相关知识点 1(基础) */ // 可以在相关的 function 声明语句之前调用该函数 f1(); function f1() { echo "f1"; echo "<br />"; } // 这里调用

Javascript eval()函数 基础回顾

如果您想详细了解ev al和JSON请参考以下链接: eval  :https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Global_Functions/Eval JSON:http://www.json.org/ eval函数的工作原理 eval函数会评估一个给定的含有JavaScript代码的字符串,并且试图去执行包含在字符串里的表达式或者一系列的合法的JavaScript语句.eval函数将把最后一个表达式或者语句所

PHP基础入门(二)【PHP函数基础】

PHP基础入门(二)--函数基础 了解 PHP基础入门详解(一) 后,给大家分享一下PHP的函数基础. 这部分主要讲的就是: 函数的声明与使用.PHP中变量的作用域.静态变量.函数的参数传递.变量函数.回调函数.匿名函数.include&require.PHP闭包 PHP的函数基础↓↓↓ 一.函数的声明与使用 1.标识符:程序中的变量名,属性名,方法名,函数名,类名统称为标识符: ① 标识符的命名要求:  只要是标识符,命名就只有字母.数字.下划线组成,开头不能是数字: ② 标识符的命名规范:

10分钟学会 Python 函数基础知识

一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运行.Python中的函数在其他语言中也叫做过程或子例程,那么这些被包装起来的语句通过一个函数名称来调用. 有了函数,我们可以在很大程度上减少复制及粘贴代码的次数了(相信很多人在刚开始时都有这样的体验).我们可以把相同的代码可以提炼出来做成一个函数,在需要的地方只需要调用即可.那么,这样就提高了代码的复用率了,整体代码看起来比较简练,没有那么臃肿了. 函数在Python中是最基本的程序结构,用来最大化地

【C++ Primer】 第六章 函数基础

函数基础 练习 练习6.6 1 #include<iostream> 2 using namespace std; 3 4 double myADD(double num1, double num2) 5 { 6 double result = num1 + num2; 7 static unsigned iCnt = 0; 8 ++iCnt; 9 cout << "该函数累计执行了" << iCnt << "次" &

Python_函数基础

函数基础 一.什么是函数 函数是在开发语言中根据需求,实现定制好的用来实现某种功能.之后,在遇到应用场景时可以直接调用函数. 二.函数的分类 函数分为两类: 1.内置函数:为了方便开发,针对一些简单功能,Python解释器已经为我们定义好了的函数就是内置函数. 对于内置函数我们可以不用实现定义就可以使用.如:len()   sum()   join()等 2.自定义函数: 内置函数提供的功能是有限的,所以需要我们根据自身需求来事先定义函数来实现某种功能,之后再遇到其他应用场景时可以直接调用. 三