Python函数分类及操作

为什么使用函数?

答:函数的返回值可以确切知道整个函数执行的结果

函数的定义:1、数学意义的函数:两个变量:自变量x和因变量y,二者的关系

2、Python中函数的定义:函数是逻辑结构化过程化得编程方法

定义面向过程:过程 def ( 在Python中,过程是没有返回值的函数)

 1 #定义函数
 2 def  func1():
 3     """testing"""
 4     print(‘in the func1‘)
 5     return 0
 6
 7 #定义过程
 8 def func2():
 9     """testing2"""
10     print("in the func2")
11
12 #调用函数
13 x=func1()
14
15 #调用过程
16 y=func2()
17 print("from func1 return is %s "%x)
18 print("from func2 return is %s "%y)

传参:

1.默认参数特点:调用函数时,默认参数可有可无,非必须传递。传递后可以修改默认值,不传递则按照默认值输出
用途:1.默认安装  2.数据库连接,默认端口号

1 def test(x,y=2): 2 print(x) 3 print(y) 4 test(1,3) 此处设置y默认为2,调用时可以不传值。

2.关键字调用 print(y=2,x=1)

输出结果 1,2  与形参位置无关。 与形参数量必须匹配

3.位置参数调用:与形参的位置一一对应赋值print(1,2)  1,2

4.二者混用,按照位置参数调用来

关键参数不可以写在位置参数前面

5.(非固定参数)参数组:调用时,超过或少于形参的的数量个数,则报错

#实参的数量不固定的情况下,则形参如何定义?

共有两种方式

元祖形式及混合形式:

 1 #实参的数量不固定的情况下,则形参如何定义?
 2 #方法一
 3 def test(*args):
 4    print(args)
 5 test(1,2,3,4,5)
 6 #方法二
 7 test(*[1,2,3,4,5])#*args=*[1,2,3,4,5]  *args 接受n个位置参数,结果以元祖形式输出
 8 #位置参数和参数组结合起来定义
 9 def test(x,*args):
10     print(x)
11     print(args)
12 test(1,2,3,4,5,6,7)

位置参数和参数组结合,输出结果是1,(2,3,4,5,6,7).按照定义类型进行传参

test(tuple[1,2,3,4,5])    报错:‘type‘ object is not subscriptable  “类型”对象不可下标  语法错误。

字典形式及混合形式:

 1 #**kwargs 把关键字参数转换成字典的形式输出,接受n个关键字参数
 2 def test(**kwargs):
 3     print(kwargs)
 4     #结果从字典中只取出值来打印
 5     print(kwargs[‘name‘])
 6     print(kwargs[‘age‘])
 7 test(name=‘zhang‘,age=1,sex=‘women‘)#此处使用位置参数
 8 #直接以字典的形式输出
 9 ‘‘‘**kargs   test(name=‘zhang‘,age=1,sex=‘women‘)==
10 test({name=‘zhang‘,age=1,sex=‘women‘})#关键字的方式去赋值‘‘‘
11 #字典和位置参数共用
12 def test(name,age=1,**kwargs):#关键参数放到参数组前面
13     #结果从字典中只取出值来打印
14     print(name)
15     print(age)
16     print(kwargs)

(二)函数递归:函数在内部调用自己

  1.必须有明确的结束条件

  报错: maximum recursion depth exceeded in comparison  超过最大递归次数(999)

  2.每次进入更深一层的递归时,问题的规模较上次都要有所减少

  3.递归的效率不高,递归的层次过多会导致溢出。(在计算机中,函数调用时通过栈这种数据结构实现的,每当进入一个函数调用,栈就会增加一层栈帧,每当退出一层函数调用,栈就会减少一层栈帧。由于栈的大小不是无限的,,所以函数调用次数越多,会导致栈溢出。)

函数分类:

函数式编程:纯函数式编程,无变量,只要输入是确定的,输出就是确定的

高阶函数:

变量可以指向参数,函数的参数能接收变量,那么一个函数就能够接收另一个函数作为参数,这种函数就成为高阶函数。

内置函数;

b=eval(b)  通过内置函数eval转成字典

附:

Python的回收机制是解释器执行的,Python解释器中有引用计数。固定时间内会即时刷新,清空掉没有引用的内容。释放内存

变量的内存回收机制:没有引用(定义了语句del,删除值的变量名),立马回收。否则直到程序结束才会回收。

原文地址:https://www.cnblogs.com/bocaimao/p/10340095.html

时间: 2024-10-14 06:20:41

Python函数分类及操作的相关文章

Python基础:Python函数、文件操作、递归

函数参数 函数参数包括位置参数,关键字参数,动态参数(*args, **args)三种. 传参的过程是形式参数的赋值. *args传入的参数是元组形式,**args传入的参数是字典形式. 示例代码如下:(这部分直接看代码实例会更清楚静态参数与动态参数如何混用) 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # def story(**kwargs): 4 # return 'Once upon a time,there was a ' 5

第3章 python 函数与文件操作

函数 定义 1.基本结构 def func_name(): func_code 2.三种形式 无参:应用场景仅仅只是执行一些操作,比如与用户交互,打印 有参:需要根据外部传进来的参数,才能执行相应的逻辑,比如统计长度,求最大值最小值 空函数:设计代码结构 3.函数在定义阶段只检测语法,不执行代码 调用 func_name() 列表参数调用/关键字参数调用(关键字参数在后) 注意: 1.函数先定义,再调用 2 函数的定义与变量的定义类似,没有事先定义变量,而直接引用变量,会报错没有事先定义函数,而

python函数及文件操作

定义函数的三种形式 - 无参数函数,通常无返回值 - 有参数函数,函数的功能执行依赖外部传入的参数,有参数函数通常有返回值     def add(x,y):         sum=x+y         return sum - 空函数 def insert():     pass 函数返回值 - 返回值为None     没写return     return 啥也不接     return None - 一个返回值     def foo():         return x - 多个

自动化运维Python系列(三)之基础函数和文件操作

函数作用 增强代码的重用性和可读性 在没有使用函数编程之前,我们可能一直遵循的都是面向过程编程,即根据业务逻辑从上到下实现各个功能,这样的做的坏处是代码可读性不强,大量冗余代码,而且执行效率不高:有了函数后,我们就可以将多次使用到的相同代码模块放在单独的函数定义中,在任何想要调用它的地方随时调用,这就叫做函数式编程. 面向对象编程其实就是对函数进行再分类和封装,让开发"更快更好更强..." 函数的定义 def 函数名(参数): ... 函数体 ... 返回值 函数的定义主要有如下要点:

python文件和目录操作函数小结

本文主要介绍python文件和目录操作函数小结,主要涉及到os模块和shutil模块的一些方法. python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r"c:\python")检验给出的路径是否是一个文件:os.path.isf

python文件和目录操作函数总结

有关python文件和目录操作函数小结,主要涉及到os模块和shutil模块的一些方法. python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出

python函数、装饰器、迭代器、生成器

5月21日,请假结婚,然后性格惰性来了,不怎么想看视频和笔记,性格中的弱点开始出现,开始做的不错,渐渐开始松懈,直至放弃--- 函数补充进阶 函数对象 函数的嵌套 名称空间与作用域 闭包函数 函数之装饰器 函数之迭代器 函数之生成器 内置函数 一.函数补充进阶 1.函数对象:  函数是第一类对象,即函数可以当作数据传递,它的应用形式也被称为高阶函数,函数的特性如下: a. 可以被引用 1 # def foo(): 2 # print('from foo') 3 # 4 # func = foo

13、Selenium+python+API分类总结

Selenium+python+API分类总结 http://selenium-python.readthedocs.org/index.html 分类 方法 方法描述 客户端操作 __init__(self, host, port, browserStartCommand, browserURL) 构造函数.host:selenium server的ip:port:elenium server的port,默认为4444:browserStartCommand:浏览器类型,iexplore,fi

Python函数大全

python内建函数 最近一直在看python的document,打算在基础方面重点看一下python的keyword.Build-in Function.Build-in Constants.Build-in Types.Build-in Exception这四个方面,其实在看的时候发现整个<The Python Standard Library>章节都是很不错的,其中描述了很多不错的主题.先把Build-in Function罗列一下吧,初学者的了解,分类可能不准确,一起交流. 一.数学运