首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈Python 参数与变量

,比如调用上面函数用 max(1, 9)函数中1和9就是实参; 什么是位置参数 我们定义函数max(a,b)后,在调用时,我们无需指定参数名,只需max(1,9),这个时候实参入参位置进行匹配,也就是在函数中...与位置参数相对另一种方式,是每次调用时候,都必需指定参数名字,也就是命名关键字 什么是命名关键字参数 限制调用者不能按位置传递,需要放在形参后面,并在前面使用星号*(独占一个参数位)与普通形参分隔...与位置参数相对另一种方式,是每次调用时候,都必需指定参数名字,也就是命名关键字 命名关键字用法 def person(name, age, *, pet): print(name,age,pet...) person("wiggin",29,pet="tomcat") 命名关键字使用*做分隔,*之前参数,基于位置参数,*后面的参数,在调用时候必需指定其参数名 一旦使用命名关机字之后,如果调用时...,没指定参数名,会报相应错误 def person(name, age, *, pet): print(name,age,pet) person("wiggin",29,"tomcat")TypeError

63910
您找到你想要的搜索结果了吗?
是的
没有找到

Python中*args和**kwargs

通过一个应用实例来说明’args’,’kwargs’应用场景以及为何要使用它 通过一个函数调用来理解’*’作用 定义一个含三个位置参数函数”fun”. >>> def fun(a,b,c): ....传三个位置参数调用此函数 >>> fun(1,2,3) 1 2 3 #输出 可以看到出入三个位置参数调用此函数,会打印出三个参数 现在我们定义一个含三个整数数列,并使用’*’ >>> l = [1,2,3...它拆开数列’l’数值作为位置参数,并把这些位置参数传给函数’fun’来调用。 因此拆数列、传位置参数意味着fun(*l)与fun(1,2,3)是等效,因为l = [1,2,3]。...exactly 3 arguments (2 given) ‘*l’与位置参数混合使用 >>> fun(23, *l) 23 7 4 在这里,我们给出一个位置参数23,和从数列’l’拆除两个数值7和...fun(a=7, b=3, d=90).传给函数”fun”想要参数个数,但参数列表中并没有’d’,调用中’d’键值参数传给函数导致TypeError.

98320

【python入门到精通】python核心知识之参数与变量完全解读

在函数入参处,使用等号赋值默认参数, def power(x, n=2): return x ** n print(power(2)) 特别注意必需参数在前,默认参数在后,否则会报错 如果有多个默认参数呢...print(my_fun(1, 2, 3)) 输出结果: 6 核心基础知识之命名关键字参数 我们先来看看之前最普通入参方式–位置参数 def person(name...与位置参数相对另一种方式,是每次调用时候,都必需指定参数名字,也就是命名关键字 什么是命名关键字参数?...与位置参数相对另一种方式,是每次调用时候,都必需指定参数名字,也就是命名关键字** 命名关键字用法 def person(name, age, *, pet): print(name,age...*后面的参数,在调用时候必需指定其参数 名,一旦使用命名关机字之后,如果调用时,没指定参数名,会报相应错误 def person(name, age, *, pet): print(name,age

39210

es 5 数组reduce方法记忆

语法: array1.reduce(callbackfn[, initialValue]) 参数参数 定义 array1 必需。一个数组对象。 callbackfn 必需。...异常 当满足下列任一条件时,将引发 TypeError 异常: callbackfn 参数不是函数对象。 数组不包含元素,且未提供 initialValue。...回调函数返回值在下一次调用回调函数时作为 previousValue 参数提供。最后一次调用回调函数获得返回值为 reduce 方法返回值。 不为数组中缺少元素调用该回调函数。...如果未提供 initialValue: previousValue 参数是数组中第一个元素值。 currentValue 参数是数组中第二个元素值。...下表描述了在 reduce 方法启动后修改数组对象所获得结果。 reduce 方法启动后条件 元素是否传递给回调函数 在数组原始长度之外添加元素。 否。 添加元素以填充数组中缺少元素。

1.1K60

【Python 入门第十七讲】异常处理

以下是 Python 中一些最常见异常类型:SyntaxError:当解释器在代码中遇到语法错误(例如关键字拼写错误、缺少冒号或括号不平衡)时,将引发此异常。...ValueError:当使用无效参数或输入调用函数或方法时,例如,当字符串不表示有效整数时,尝试将字符串转换为整数,则会引发此异常。...下面是一个示例:这里会引发“TypeError”,因为要添加两种数据类型不同。...raise 中唯一参数表示要引发异常。这必须是异常实例或异常类(派生自 Exception 类)。此代码有意使用try块中raise语句引发消息NameError“Hi there”。...更轻松调试:当引发异常时,Python 解释器会打印一个回溯,显示异常发生的确切位置,从而更轻松地调试代码。

26611

Python3 函数

python 函数参数传递: 不可变类型:类似 C++ 值传递,如整数、字符串、元组。如 fun(a),传递只是 a 值,没有影响 a 对象本身。...如 fun(la),则是将 la 真正传过去,修改后 fun 外部 la 也会受影响 python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。...: 必需参数 关键字参数 默认参数 不定长参数 必需参数 必需参数须以正确顺序传入函数。...Python3.8 新增了一个函数形参语法 / 用来指明函数形参必须使用指定位置参数,不能使用关键字参数形式。...在以下例子中,形参 a 和 b 必须使用指定位置参数,c 或 d 可以是位置形参或关键字形参,而 e 和 f 要求为关键字形参: def f(a, b, /, c, d, *, e, f):

76920

javascript中Strict模式

; // throws a TypeError 禁止对象和函数参数重复属性: 'use strict'; var o = { p: 1, p: 2 }; // Duplicate declaration...另外,在普通模式下,arguments是和命名参数相绑定,并且arguments[0]和arg同步变化,都表示是第一个参数。...另外,在普通模式下,我们可以通过fun.caller或者fun.arguments来获取到函数调用者和参数,这有可能会访问到一些private属性或者不安全变量,从而造成安全问题。...; 保留关键字和function位置 为了保证JS标准后续发展,在strict模式中,不允许使用关键字作为变量名,这些关键字包括implements, interface, let, package...而对于function来说,在普通模式下,function是可以在任何位置,在strict模式下,function定义只能在脚本顶层或者function内部定义: 'use strict'; if

84130

javascript中Strict模式

; // throws a TypeError 禁止对象和函数参数重复属性: 'use strict'; var o = { p: 1, p: 2 }; // Duplicate declaration...另外,在普通模式下,arguments是和命名参数相绑定,并且arguments[0]和arg同步变化,都表示是第一个参数。...另外,在普通模式下,我们可以通过fun.caller或者fun.arguments来获取到函数调用者和参数,这有可能会访问到一些private属性或者不安全变量,从而造成安全问题。...; 保留关键字和function位置 为了保证JS标准后续发展,在strict模式中,不允许使用关键字作为变量名,这些关键字包括implements, interface, let, package...而对于function来说,在普通模式下,function是可以在任何位置,在strict模式下,function定义只能在脚本顶层或者function内部定义: 'use strict'; if

85730

python基础-函数(一)--pyth

TypeError: fun1() takes 0 positional arguments but 1 was given fun1() 不能传参数 #2.必备参数 def fun2(a): print...#5.关键字参数 def fun5(a,b): #定义时候跟必备参数一样 print(a,b) #必须放到最后 fun5(a=1,b=2) 1 2...) TypeError: fun6() keywords must be strings ##参数混合时 关键字参数必须在后面,根据定义书序,确保必备参数能拿到值且只有一个 #1....必备参数+默认参数:默认参数必须在必备参数后面 def fun7(b,a=1): print(a,b) >>> fun7(1,) 1 1...return后面的程序都不会执行 如果函数中没有写return,其实函数运行结束时,默认执行了 return None return 语句位置是可选,不是固定出现再函数最后,可以自定义在函数任何地方

41410

读Zepto源码之IOS3模块

, t[k], k, t) k++ } return accumulator } 用法与参数 要理解这段代码,先来看一下 reduce 用法和参数: 用法: arr.reduce...(callback[, initialValue]) 参数: callback: 回调函数,有如下参数 accumulator: 上一个回调函数返回值或者是初始值(initialValue) currentValue...如果数组为空数组,而又没有提供初始值时,会报错 检测参数 if(this === void 0 || this === null) throw new TypeError() var t = Object...接下来,检测回调函数 fun 是否为 function ,如果不是,抛出类型错误。 在数组为空,并且又没有提供初始值(即只有一个参数 fun)时,抛出类型错误。...() } while (true) 如果参数至少有两项,则 accumulator 初始值很简单,就是 arguments[1] ,即 initialValue。

66100

Day8.函数那些事儿

形参只在函数内部有效 实参: 可以是:常量、变量、表达式、函数 进行函数调用时,实参必须是确定位置参数位置形参:函数定义时,从左往右写参数,比如上面的 a, b , c 位置实参:函数调用时...,从左往右写参数, 比如上面的 1,2,3 位置形参定义多少个,调用时位置实参必须写上多少个,多一个少一个都不行。...位置参数必须以正确顺序传入函数。调用时数量必须和声明时一样。...调用函数时,关键参数可以和位置参数一起用,但是关键参数必须在位置参数后面。不然会报错。...python 函数参数传递: 不可变类型:类似 c++ 值传递,如 整数、字符串、元组。如fun(a),传递只是a值,没有影响a对象本身。

1.4K30

【JavaScript】预解析 ① ( 变量预解析 - 变量提升 | 函数预解析 - 函数提升 | 函数表达式预解析 )

位置在哪里 , 解析器 在 预解析 阶段 都会把它们提升到它们各 自作用域最顶部 ; 二、变量预解析 1、变量预解析 - 变量提升 变量预解析 又称为 " 变量提升 " , 就是 把 所有的 变量声明..., num = 5; 初始化赋值操作 仍然在原来位置 ; 预解析 变量提升 效果相当于将 代码转为 : // 声明变量 var num; // 输出 undefined , 只有变量声明被提升 ,..., 肯定会报错 , 因为 函数此时没有赋值给 该变量 ; 在下面的代码中 , var fun 是一个变量 , 因此这里只进行 变量提升 , // 报错 : Uncaught TypeError...console.log("Hello"); } 变量提升后效果如下 : // 函数提升 var fun; // 报错 : Uncaught TypeError...{ console.log("Hello"); } 上述代码执行后 , 就会报错 Uncaught TypeError: fun is not a function

8510
领券