浅谈python的函数知识
目录
- 函数参数的两大分类
- 位置参数
- 可变长参数
- 名称空间
- 总结
函数参数的两大分类
形式参数 函数定义阶段括号所写的参数 实际参数 函数调用阶段括号内传入的参数
形参与实参的关系 可以将形参看成是变量名,实参看成是变量值 函数调用阶段临时绑定,函数运行结束断开 形参的表现形式 变量名 实参的表现形式多种 (把握核心 数据值)
位置参数
位置参数 从左往右依次填入的参数 位置形参 函数定义阶段从左往右依次填入的变量名 位置实参 函数调用阶段从左往右依次填入的数据值
关键字实参(可以打破位置顺序) 函数调用阶段通过形参名=数据值的形式 传值 1.位置形参与位置实参在函数调用阶段,按照位置对应绑定 2.位置参数绑定的时候多一个不行少一个也不行 重点: 格式越简单越靠前,越复杂越靠后
可变长参数
1.函数无论传入多少位置参数都可以正常运行 可变长形参 def func(x,y,*a): print(x,y,a) func() # () func(1) # (1,) func(1, 2, 3, 4, 5, 6, 7) # (1, 2, 3, 4, 5, 6, 7) func(1,2) # 1 2 () func(1,2,3,4,5,6,7,8,9) # 1 2 (3, 4, 5, 6, 7, 8, 9) func(1,2) # 1 2 (3, 4, 5, 6, 7, 8, 9) *在形参中用于接收多余的位置参数 并组织成元组的行赋值给*后面的变量名
2.函数无论传入多少关键字都可以正常运行 def index(x, y, **b): print(x, y, b) index() # {} index(a=1,b=2,c=3,d=4) # {'a': 1, 'b': 2, 'c': 3, 'd': 4} index(y=2, x=1) # 1 2 {} index(y=2, x=1, u=222, k=111, l=444) # 1 2 {'u': 222, 'k': 111, 'l': 444} **在形参中用于接收多余的关键字参数 并组织成字典的形式赋值给**后面的变量名 *使用 会将列表、元组内的数据打散 **使用 会将字典的键值对打散成关键字参数传入
名称空间
1.内置名称空间 print() len() 2.全局名称空间 py文件中顶格编写的代码 name = 'jason' # name全局 def func(): # func全局 pass if 1: a = 123 # a全局 for i in range(10): print(i) # i全局 while True: a = 123 # a全局 3.局部名称空间 函数体代码运行之后产生的都是局部名称空间
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
相关推荐
-
Python 函数那不为人知的一面
通常我们定义一个函数,然后调用该函数时,函数相关的代码才开始执行.可是很多人并不知道,当我们定义函数时,一些代码就开始执行了.今天就来说说函数这个不为人知的一面. 通常我们定义一个函数,然后调用该函数时,函数相关的代码才开始执行.可是很多人并不知道,当我们定义函数时,一些代码就开始执行了.今天就来说说函数这个不为人知的一面. 先看一段代码: def do_something(opt: print('参数 opt'), arg=print('参数 arg')) -> print('函数的返回值')
-
python 函数的详解与应用范例
目录 如何定义一个函数 如何使用 什么是参数 不定长参数 return是干什么 如何定义一个函数 函数也称方法,下面写一个简单的函数: def function(): print("我是函数.") 这是一个很简单的函数,函数只干了一件事,打印输出"我是函数."这句话. 从这个函数的外观看,有个def,还有个function加个()和:. def是定义函数的关键字不能改动,function为函数的名称,可以随便写,后加()和:这是规定. 在函数里面的输出语句可以称之为
-
python的函数和方法(中)
目录 匿名函数 1.什么是匿名函数 2.如何声明/调用一个匿名函数(lambda) 3.匿名函数的几种使用方式 4.匿名函数的组合使用 总结 匿名函数 1.什么是匿名函数 lambda是个匿名函数,也是一个表达式,是函数的最小作战单元 匿名函数顾名思义,就是"无名"函数 匿名函数适用于简单的业务逻辑 一行一个函数 通俗的说逻辑不复杂,不需要大规模批量调用的功能可使用匿名函数构建,匿名函数的书写特性决定其简易性 #lambda简约而不简单 注意lambda是 python的一个关键字,用
-
python数据处理67个pandas函数总结看完就用
目录 导⼊数据 导出数据 查看数据 数据选取 数据处理 数据分组.排序.透视 数据合并 不管是业务数据分析 ,还是数据建模.数据处理都是及其重要的一个步骤,它对于最终的结果来说,至关重要. 今天,就为大家总结一下 "Pandas数据处理" 几个方面重要的知识,拿来即用,随查随查. 导⼊数据 导出数据 查看数据 数据选取 数据处理 数据分组和排序 数据合并 # 在使用之前,需要导入pandas库 import pandas as pd 导⼊数据 这里我为大家总结7个常见用法. pd.Da
-
python的函数和方法(上)
目录 函数 什么是函数/方法 2.为什么需要函数 1.载体 2.组织 3.复用 4.封装 5.清晰 6.按需 3.如何声明/调用一个函数 4.函数/方法的参数 1.形式参数 参数的名字(类似变量名)- parameter 2.实际参数 该参数的具体值(变量的那个值)- argument 3.位置参数 按照参数位置取值 - positional 4.关键字参数 就是一个标准的变量赋值的过程 5.默认参数 为函数预设的参数值 6.参数组 可变参数和可变关键字 - 传入结构化数据类型(列表.元组.字典
-
python中几个常用函数的正确用法-lambda/filter/map/reduce
目录 1 lambda 2 filter 3 map 4 reduce 5 联合使用 lambda/filter/map/reduce这几个函数面试中很肯定会用到,本篇主要介绍这几个函数的用法. 1 lambda 匿名函数,用法如下: # lambada 参数,参数,参数 : 返回的表达式 示例1: f = lambda x, y: x * y print(f(2, 3)) # 6 示例2: r = (lambda x, y: x+y)(1, 2) print(r) # 3 2 filter f
-
浅谈python的函数知识
目录 函数参数的两大分类 位置参数 可变长参数 名称空间 总结 函数参数的两大分类 形式参数 函数定义阶段括号所写的参数 实际参数 函数调用阶段括号内传入的参数 形参与实参的关系 可以将形参看成是变量名,实参看成是变量值 函数调用阶段临时绑定,函数运行结束断开 形参的表现形式 变量名 实参的表现形式多种 (把握核心 数据值) 位置参数 位置参数 从左往右依次填入的参数 位置形参 函数定义阶段从左往右依次填入的变量名 位置实参 函数调用阶段从左往右依次填入的数据值 关键字实参(可以打破位置顺序)
-
浅谈Python中函数的参数传递
1.普通的参数传递 >>> def add(a,b): return a+b >>> print add(1,2) 3 >>> print add('abc','123') abc123 2.参数个数可选,参数有默认值的传递 >>> def myjoin(string,sep='_'): return sep.join(string) >>> myjoin('Test') 'T_e_s_t' >>>
-
浅谈python socket函数中,send与sendall的区别与使用方法
在python socket编程中,有两个发送TCP的函数,send()与sendall(),区别如下: socket.send(string[, flags]) 发送TCP数据,返回发送的字节大小.这个字节长度可能少于实际要发送的数据的长度.换句话说,这个函数执行一次,并不一定能发送完给定的数据,可能需要重复多次才能发送完成. 例子: data = "something you want to send" while True: len = s.send(data[len:]) if
-
浅谈Python中函数的定义及其调用方法
一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的使用包含两个步骤 1.定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用'' 函数: 函数是带名字的代码块,用于完成具体的工作 需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该任务的函数,让python运行其中的代码,你将发现,通过使用函数,程序编写,阅读,测试和修复都将更容易 1.定义函数 def
-
浅谈Python从全局与局部变量到装饰器的相关知识
全局变量与局部变量 # num1是全局变量 num1 = 1 # num2是局部变量 def func(): num2 = 2 在函数外(且不在函数里)定义的变量是全局变量: 在函数里定义的变量是局部变量. 在函数外无法引用局部变量,但在函数里面可以引用全局变量,不过需要注意的是,一般函数里不能修改全局变量,如果在函数里修改全局变量,那么python会自动创建一个与之名字相同的变量,使用global关键字可以将局部变量变为全局变量,进而修改. # 这是全局变量 num1 = 1 # 函数里的nu
-
浅谈python中的getattr函数 hasattr函数
hasattr(object, name) 作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的). 示例: >>> hasattr(list, 'append') True >>> hasattr(list, 'add') False getattr(object,name,default): 作用:返回object的名称为name的属性的属性值,如果属性name存在,则直接返回其
-
浅谈python中scipy.misc.logsumexp函数的运用场景
scipy.misc.logsumexp函数的输入参数有(a, axis=None, b=None, keepdims=False, return_sign=False),具体配置可参见这里,返回的值是np.log(np.sum(np.exp(a))). 这里需要强调的是使用该函数的场景: 一般来说,该函数主要用于非常小的数值的运算(比如蒙特卡洛取样样本).在这种情况下,将数据保持log处理是必须的.所以这时你如果想将数组中的数据累加求和就需要这样计算log(sum(exp(a))),但这样做就
-
浅谈Python类里的__init__方法函数,Python类的构造函数
如果某类里没有__init__方法函数,通过类名字创建的实例对象为空,切没有初始化:如果有此方法函数,通常作为类的第一个方法函数,有点像C++等语言里的构造函数. class Ca: def __init__(self, v): # 注意前后各两个下划线 self.name = v def pr(self): print "a--->", self.name ia = Ca("Jeapedu") # 本质调用的是__init__方法函数 ia.pr() Ca.
-
浅谈python函数之作用域(python3.5)
1 基本概念 1.1 命名空间 (namespace) 命名空间是变量名到对象的映射(name -> obj).目前大多数的命名空间以类似于python字典的形式实现,实现形式在未来可能发生变化.命名空间举例:内置变量(内置函数abs, 内置的异常等),模块中的全局变量,函数调用时的局部变量.在某种意义上讲,对象的属性也形成一个命名空间.重要的是,不同的命名空间中的变量没有任何关联,两个不同的命名空间中可以包含相同的变量名. 命名空间有不同的创建时间和生命周期: •内置变量命名空间在python
-
浅谈Python中带_的变量或函数命名
Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读,易于在程序员之间交流. python中的标识符可以包含数字.字母和_,但必须以字母或者_开头,其中以_开头的命名一般具有特殊的意义. 前后均带有双下划线__的命名 一般用于特殊方法的命名,用来实现对象的一些行为或者功能,比如__new__()方法用来创建实例,__init__()方法用来初始化对象,
随机推荐
- asp.net(C#) 动态添加非ASP的标准html控件(如添加Script标签)
- 判断文件是否正在被使用的JS代码
- 如何实现某一页面只让特定的用户浏览?
- OGNL表达式基本语法与用法详解
- 服务器应用自动重新启动IIS批处理 原创
- jQuery prototype冲突的2种解决方法(附demo示例下载)
- 详解Mybatis极其(最)简(好)单(用)的一个分页插件
- 在Javascript类中使用setTimeout第1/2页
- JavaScript 拖拉缩放效果
- PHP中数组定义的几种方法
- Python中的anydbm模版和shelve模版使用指南
- BootStrap 智能表单实战系列(十)自动完成组件的支持
- javascript 中的事件委托详解
- Shell脚本判断Linux系统是32位还是64位的几种方法分享
- 归纳整理Python中的控制流语句的知识点
- 验证SQL保留字
- Android Studio使用小技巧:布局预览时填充数据
- 用PHP实现多服务器共享SESSION数据的方法
- php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
- Javascript中Eval函数的使用