IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> python中的函数(3) -> 正文阅读

[人工智能]python中的函数(3)

6.函数的递归

在函数的内部,去调用自己

条件

1.函数自己要调用自己
2.递归一定要有结束条件

#函数的递归  求n!
def fact(n):
	if n == 1:
		return 1
	return n*fact(n-1)
print(fact(5))

#5 * fact(5-1)
#5 * 4 * fact(4-1)
#5 * 4 * 3 * fact(3-1)
#......
#5 * 4 * 3 * 2 * 1

如果递归的次数太大会导致栈溢出的情况,怎么解决?
尾递归 ------ 调用自己的时候没有任何表达式

def fact(n):
	return fact_iter(n,1)
def fact_iter(num,product):
	if num == 1:
		return product
	return fact_iter(num-1,num*product)
print(fact(5))
#fact(5)
#fact_iter(5,1)
#fact_iter(4,5)
#fact_iter(3,5*4)
#fact_iter(2,5*4*3)
#fact_iter(1,5*4*3*2)

7.匿名函数

匿名函数 ------ lambda表达式

function 函数名称(参数){
    //代码块
    return 返回值
}
function(参数){
    //代码块
}
python中
def 函数名(参数):
    #代码块
    return 返回值

语法格式:

lambda 参数:代码如果有返回值就写,没有就不写

#lambda参数
def sum(a,b,c):
	return a + b + c
sum_lambda = lambda a,b,c:a + b + c
print(sum(1,100,1000))
print(sum_lambda(1,100,1000))

参数的个数:

  • 无参
#无参的lambda函数
a_lambda = lambda:100
print(a_lambda())
  • 有一个参数
b_lambda = lambda num:num *10
print(b_lambda(5))
  • 有多个参数
#有多个参数 
sum_lambda = lambda a,b,c:a + b + c
  • 表达式
#表达式
c_lambda = lambda x:x if x % 2 == 0 else x + 1
print(c_lambda(6))
print(c_lambda(7))

  • lambda也可以作为一个参数传递
#lambda作为参数进行传递
def sub_func(a,b,func):
	print("a=",a)
	print("b=",b)
	print("c=",func(a,b))
sub_func(100,1,lambda a,b:a-b)
a = 100
b = 1
c  = 99
  • lambda还可以作为函数的返回值
#作为函数的一个返回值
def run_func(a,b):
	return lambda c:a + b + c
return_func = run_func(1,100)
print(run_func)
print(return_func)
print(return_func(10))

8.偏函数

在python中,如果在设置某个函数的时候需要把函数的某个参数设置为固定的值

functools其中就包含偏函数(partial)

import functools

form functools import partial(只导入了偏函数的库)

partial (函数名称,参数=固定值)

>>> int("12345")
12345
>>> int("12345",base=8)
5349
>>> int("12345",base=16)
74565
>>> def int2(x,base=2):
...     return int(x,base)
...
>>> int2("11101")
29
>>> int2("11101101")
237
>>> import functools
>>> int3 = functools.partial(int,base=2)
>>> int3("11101")
29

9.全局函数

在这里插入图片描述

round() ------ 在奇数上所谓标准的四舍五入,在偶数上是以5为分界线,小于等于0.5的都舍去
>>> round(4.5)
4
>>> round(5.5)
6
>>> round(6.5)
6
>>> round(7.5)
8

round()用法 ------ 奇变偶不变/奇进偶定

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章           查看所有文章
加:2021-11-16 18:49:57  更:2021-11-16 18:52:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 6:36:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码