浅谈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.局部名称空间
    	函数体代码运行之后产生的都是局部名称空间

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • 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__()方法用来初始化对象,

随机推荐