一.参数陷阱 在使用默认参数时,可能碰见下列情况 def show_args_trap(i, li = []): li.append(100) li[i] = 101 print(li) show_args_trap(0) show_args_trap(1) show_args_trap(2) # 显示结果为: # [101] # [101, 101] # [101, 101, 101] 分析: 大家知道:含有默认参数的,不输入该参数就使用默认的值:在这里,第一次调用函数的时候,只传入一个参数0…
1. day 09 内容复习 # 函数 # 可读性强 复用性强 # def 函数名(): # 函数体 #return 返回值 # 所有的函数 只定义不调用就一定不执行 #先定义后调用 #函数名() #不接收返回值 #返回值 = 函数名() #接收返回值 #返回值 # 没有返回值 :默认返回None # 不写return:函数内的代码执行完毕自动结束 # 只写return:结束一个函数 # return None # 返回一个值 :结束了函数且返回一个值,可以是任意的值 # 返回多个值 : 多个值…
命名空间 -------‘’存放名字与值的关系”的空间 代码在运行伊始,创建的存储“变量名与值的关系”的空间叫做全局命名空间: 在函数的运行中开辟的临时的空间叫做局部命名空间. 命名空间一共分为三种: 全局命名空间 局部命名空间 内置命名空间 *内置命名空间中存放了python解释器为我们提供的名字:input,print,str,list,tuple...它们都是我们熟悉的,拿过来就可以用的方法. 三种命名空间之间的加载与取值顺序: 加载顺序:内置命名空间(程序运行前加载)->全局命名空间(程…
函数的使用原则 函数的使用必须遵循:先定义后使用的原则 函数的定义,与变量的定义是相似的,如果没有事先定义函数而直接引用就相当于在引用一个不存在变量名 定义阶段:只检测语法,不执行代码,当出现语法错误会抛出错误 def foo(): print('from foo') bar() def bar(): print('from bar') 调用阶段:执行代码的过程中,会检查逻辑问题,当引用一个不存在的变量名会抛错 foo() 函数参数 形参与实参 形参指的是函数定义时候标记的变量名,实参表示函数调…
楔子 假如有一个函数,实现返回两个数中的较大值: def my_max(x,y): m = x if x>y else y return mbigger = my_max(10,20)print(bigger) 之前是不是我告诉你们要把结果return回来你们就照做了?可是你们有没有想过,我们为什么要把结果返回?如果我们不返回m,直接在程序中打印,行不行? 来看结果: >>> def my_max(x,y): ... m = x if x>y else y ... >&…
一,复习 字符编码 文件头:py2—ASCII,py3—UTF-8 三种字符串:u' ' b ' ' r ' ' u' ' .endcode(' utf-8 ') b' '.deconde(' utf-8 ') str(b' ' , encode=' utf-8 ' ) bytes( u' ' , encode=' utf-8 ') 文件操作: 三步骤: 1,打开文件 2,操作文件(读写) 3,关闭 简写: with open => 可以自动关闭文件流 操作模式: 主 :r w a x 从:t…
复习, 昨天讲了字符串的比较,按照从左往右比较每一个字符,通过字符对应的ASCII码进行比较 函数的参数,‘ 实参与形参 形参:在函数定义时()中出现的参数 实参,在函数调用时()中出现的参数 实参的分类 位置实参:给位置形参传值,必须 按位置 关键字实参:给位置与关键字形参,不需要按照顺序 形参的分类, ··无值位置形参 ··有值位置形参 ··可变长位置形参 ··有无值关键字形参 ··可变长关键字形参 def fn(a,b=10,*args,x,y=10,z,**kwargs):pass 4:…
函数总结 # 函数的定义:def func(a, b):    print(a, b)    return a + b​​# 函数四个组成部分# 函数名:调用函数的依据,必须的# 函数体:执行函数逻辑的,必须的# 参数列表:为函数内部提供资源,非必须的# 返回值:将函数执行结果返回给外界,(非必须的)​# 返回值:空返回(没有return|空return) | 一值返回 | 多值返回:装有多个值的元组​# 参数列表:# 实参:外界调用函数传入的参数,拥有实际值# 形参:函数定义时,()中定义用来…
一.动态传参1.*表示动态传参. 可以接受所有的位置参数传参的时候自动的把实参打包成元组 交给形参 def chi(*food): print(food) chi() # 动态传参可以不传参数 chi(good_food = "胡辣汤") # 关键字传参 chi("胡辣汤", "疙瘩汤", "西红柿鸡蛋汤") chi("大猪蹄子","大汉堡","薯条","圣…
嵌套函数: 1. 函数内部可以再定义函数 2. 函数只有被调用之后才会执行 看如下代码: age = 18 def func1(): age = 22 print(age) def func2(): age = 28 # 如果这个age没有被赋值,它会先向它的父级(func1)里面找,如果父级也没有就再向它的爷爷级(全局的age)找. # 一层一层由内向外找 print(age) func2() func1() # 输出结果: # # 注: 函数内部的变量都叫局部变量,只不过局部变量之间也有等级…
1.高阶函数(map/reduce/filter) 高阶函数是指函数的参数可以是函数 这篇总结几个常用的高阶函数:map/reduce/filter map函数.reduce函数.filter函数都是Python中的内建函数. map函数 map函数的作用是将一个函数作用于一个序列的每一个元素,一行代码即可完成,不需要用我们平常喜欢用的循环.map将运算进行了抽象,我们能一眼就看出这个函数是对一个序列的每个元素进行了同样的一个操作.map()函数接收两个参数,一个是函数,一个是Iterable,…
今天的内容整理共有5部分 一.命名关键字参数 二.函数对象 三.函数的嵌套 四.名称空间与作用域 五.闭包函数 一.命名关键字参数 # 命名关键字参数: 在定义函数时,*与**之间参数称之为命名关键字参数 # 特点: # 在调用函数时,命名关键字参数必须按照key=value的形式传值 # # def func(x,*,y=1,z): # print(x) # print(y) # print(z) # # func(1,z=2) def func(a,b=2,*args,c,**kwargs)…
一.函数对象 函数是第一类对象:函数的内存地址(即函数名)可以像一个变量值一样去使用 1.变量值可以被引用,例如 x = 1,y = x def foo(): print('from foo') f = foo # 变量值(函数名)被引用 print(f) f() 2.变量值可以当作参数传给另外一个函数 def foo(): print('from foo') def bar(x): print(x) x() bar(foo) # 函数名当作参数传给另外一个函数 3.变量值可以当作函数的返回值…
今日内容: 1. 函数对象 函数是第一类对象: 指的是函数名指向的值可以被当中数据去使用 1.可以被引用 2.可以当做参数传给另一个函数 3.可以当做一个函数的返回值 4.可以当做容器类型的元素 2. 函数嵌套 函数嵌套分为两大类: 1.函数的嵌套调用: 在调用一个函数过程中,其内部代码又调用了其他函数 2.函数的嵌套定义: 一个函数内部又定义了另一个函数 3.名称空间与作用域(******) 1.什么是名称空间namespaces: 名称空间就是用来存放名字与值内存地址绑定关系的地方(内存空间…
函数对象 # 函数名就是存放了函数的内存地址,存放了内存地址的变量都是对象,即 函数名 就是 函数对象​# 函数对应的原因# 1 可以直接被引用# 2 可以当作函数参数传递# 3 可以作为函数的返回值# 4 可以作为容器类型的元素 名称空间 # 名称空间:存放名字与内存空间地址对应关系的容器# 作用:解决由于名字有限,导致名字重复发送冲突的问题​# 三种名称空间# Built-in:内置名称空间:系统级,一个:随解释器执行而产生,解释器停止而销毁# Global:全局名称空间:文件级,多个:随所…
函数的返回值和作用域 1.返回值 def guess(x):    if x > 3:        return "> 3"    else:        return "<= 3"print(guess(10)) 1> Python 函数使用 return 语句返回 "返回值” 2> 所有函数都有返回值,如果没有 return 语句,隐式调用 return None 3> return 语句并不一定是函数的语句块的…
一.内置对象 object对象:ECMAScript 中的所有对象都由这个对象继承而来:Object 对象中的所有属性和方法都会出现在其他对象中 ToString() : 返回对象的原始字符串表示.ValueOf() : 返回最适合该对象的原始值.对于许多对象,该方法返回的值都与 ToString() 的返回值相同 11种内置对象 包括: Array ,String , Date, Math, Boolean, Number  Function, Global, Error, RegExp ,…
#闭包:嵌套函数,内部函数调用外部函数的变量 # def outer(): # a = 1 # def inner(): # print(a) # inner() # outer() def outer(): a = 1 def inner(): print(a) return inner inn = outer() inn() # import urllib #模块 from urllib.request import urlopen # ret = urlopen('http://www.x…
函数嵌套: 函数嵌套: 嵌套指的是,一个物体包含另一个物体,函数嵌套就是一个函数包含另一个函数 按照函数的两个阶段 嵌套调用 指的是在函数的执行过程中调用了另一个函数,其好处可以简化外层大函数的代码,使得结构更清晰 可以将一个大的复杂的功能拆成多个简单的小功能 嵌套调用的好处: def max(a,b): if a>b: return a return b print(max(100,200)) 嵌套调用: def max_3(a,b,c): temp=max(a,b) m=max(temp,c…
''' 一: 名称空间namespaces     名称空间就是存放名字与值绑定关系的内存空间 二: 名称空间分为三种     内置名称空间:         1. 特点: 存放是python解释器自带的名字,len,print         2. 生命周期: 解释器启动则产生,解释器关闭则销毁     全局名称空间         1. 特点: 存放是全局的名字(没有任何缩进\顶头定义的名字)         x=10         y=20         def func():    …
一.函数 1.函数格式: #定义函数: def function(): 函数体 return 返回值 #调用函数: function() ret = function() 这是得到返回值. 这里是用关键字def定义函数,函数命名规则基本和变量一样; 返回值问题:执行完函数之后,我们可以用return来返回结果, a:函数中若遇到return时,此函数结束,不在继续执行; b:return返回值可以有多个,但有几个需要注意的地方: def sum(): return "小","…
Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global以及nolocal的用法 目录 Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global以及nolocal的用法 内容大纲 1.函数的动态参数 2.函数的注释 3.名称空间 4.函数的嵌套 5.global及nolocal的用法 6.今日总结 内容大纲 1.函数的动态参数 2.函数的注释 3.名称空间 4.函数的嵌套 5.global以及nolocal的用法 1.函数的动态参数 # d…
 本文是笔者在看廖雪峰老师JavaScript教程时的个人总结   JavaScript中函数定义可以是这样的格式 function 函数名(参数) {     函数体 } 也可以是这样的格式      var 函数名 = function (参数) {     函数体 };   关键字一:arguments               获取全部参数            只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数.arguments类似Array但它不是一个Array.第一…
复习 # 什么是函数:具体特定功能的代码块 - 特定功能代码块作为一个整体,并给该整体命名,就是函数 # 函数的优点: # 1.减少代码的冗余 # 2.结构清晰,可读性强 # 3.具有复用性,开发效率高,维护成本低 # 如何定义一个函数:用def关键词来声明函数 ''' def fn(参数列表): 函数体 return 函数的返回值 ''' # -- 定义函数时,函数体不会被执行 | 函数必须先定义后使用 # 函数的四部分: # 函数名:存放着函数的地址,是调用函数的依据 # 函数体:解决问题的…
装饰器 装饰器本质就是函数,为其他函数添加附加功能. 原则: 不修改被修饰函数的源代码 不修改被修饰函数的调用方法 装饰器知识储备:装饰器 = 高阶函数 + 函数嵌套 + 闭包 案例:求函数运行时间! # 普通:求函数运行时间 def cal(l): start_time = time.time() res = 0 for i in l: time.sleep(0.1) res+=i end_time = time.time() print('函数运行时间是%s'%(end_time-start…
前言:“函数是对象,函数名是指针.”,函数名仅仅是指向函数的指针,与其他包含函数指针的变量没有什么区别,话句话说,一个函数可能有多个名字. -1.函数声明,function+函数名称.调用方法:函数名(参数): function f1(x,y){ return x+y; //函数体 }console.log(f1(2,3)); 这是最常见的指定函数名声明函数,在函数体内返回参数值,函数调用时才会输出结果.既然说到函数,那就免不了提一提它的预解析以及作用域. 此类方法定义的函数,在代码开始执行之前…
进击のpython 嵌套函数&匿名函数 讲完作用域之后 对变量的作用范围有大致的了解了吗? 讲个稍微小进阶的东西吧 能够帮助你更加的理解全局和局部变量 嵌套函数 玩过俄罗斯套娃不? 没玩过听过不? 没听过?很好!我就喜欢你这种"大人物" 从小的一点一点的往大了装,一个嵌套一个 函数也可以这么玩~~~ msg = "我是全局变量" def func(): msg = "我是函数func的局部变量" def func1(): msg = &q…
写在前面 注:这个系列是本人对js知识的一些梳理,其中不少内容来自书籍:Javascript高级程序设计第三版和JavaScript权威指南第六版,感谢它们的作者和译者.有发现什么问题的,欢迎留言指出. 1.执行环境 执行环境简称"环境",定义了变量或函数有权访问的其他数据.每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中. 全局执行环境是最外围的一个执行环境.在Web浏览器中,全局执行环境被认为是window对象,因此所有全局变量和函数都是作为wi…
最近没有编码任务,作为一个才毕业的小辣鸡,给的任务就是看一下公司的新系统,熟悉怎么用哪些地方是干什么的. 下午喝了两杯水,感觉有点浪.然后就开始看了下代码.发现有一个函数是这样子的. var TX = {}; //命名空间函数 TX.nameSpace = function (str) { var arr = str.split("."); var o = TX; for (i = (arr[0] == "TX") ? 1 : 0; i < arr.lengt…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.近似值函数 2.1.ROUND 2.2.TRUNC 3.正则函数 4.高级函数 5.总结 转换函数 Oracle 中的转换函数共计超过 20 个,但一大半都是做字节转换.日期(包括时间和时区)转换.LOB 类型转换.ROWID 类型转换等非常见转换的,光日期转换函数就占了 1/3.剩下几个函数当中有 4 个是比较实用的,也就…