《函数基础与内存机制深度剖析:从 return 语句到各类经典编程题详解》

news2025/5/10 7:13:44

一、问答题

(1)使用函数的好处是什么?

1.提升代码的复用性

2.提升代码的可维护性

3.增强代码的可读性

4.提高代码的灵活性

5.方便进行单元测试

(2)如何定义一个函数?如何调用一个函数?

在Python中如何定义函数,语法结构:

def 函数名(参数列表):
 函数体
 return 返回值

def sum(a, b):
 return a + b
  • def :定义函数的关键字
  • 函数名:自定义的函数名称,规则与标识符一致的;所有单词字母小写,单词之间用下划线分隔。
  • 参数列表:就是给函数传递的一些原始数据,函数根据这些数据去做具体的计算。参数可以不指定数据类型。
  • 函数体:就是上述说的具体的计算,今后在编写函数时,一定要注意缩进的问题
  • return:直译 返回,实际上表示结束函数(将函数进行弹栈操作),如果有返回值的话则将结果返回给函数的调用者,如果没有返回值的话return可以不写,但不代表不存在,它是隐藏的
  • 返回值:就是程序计算的结果,需要给调用者传递结果的话,就将结果写在return之后即可。

在C语言中:

int sum(int a, int b) {
    return a + b;
}
  • int:返回值类型 就是计算结果的数据类型
  • sum:函数名
  • int a, int b:参数列表,表示传递两个整数数字 -> 形式参数
  • return a + b:结束函数同时将计算的结果返回给调用者的

(3)给术语函数头、形参、实参的定义

函数头是函数定义的起始部分,它声明了函数的基本信息,主要作用是让编译器或解释器了解函数的名称、参数和返回值类型等关键信息。函数头一般包含函数名、参数列表和返回值类型(某些语言可能不要求显式声明返回值类型)。

形参即形式参数,是在函数定义时声明的参数。形参就像函数内部的变量占位符,用于接收调用函数时传递进来的数据。它规定了函数期望接收的数据类型和数量。

实参也就是实际参数,是在调用函数时传递给函数的具体数据。实参是形参的具体值,函数在执行时会使用这些实参来完成特定的任务。

(4)无返回值函数能不能有return语句?下面语句中的return函数是否会造成语法错误?

def	xFunction(x,y):
	print(x + y)
	return

无返回值可以有return语句,实际上它的返回的是none

(5)编写下面函数的函数头(并指出函数是否有返回值)

  • 给定销售额和提成率,然后计算销售提成。

    def sales_commission(sales_value:float, roya_yate:float) -> float:
        return sales_value * roya_yate
    
  • 给定年份和月份,然后打印该月的日历。

    def Pri(year, month):
        print(f'{year}{month}月')
    
  • 计算平方根

    def square_root(x, y):
        return x ** y
    
  • 判断一个数是不是偶数,如果是则返回true。

    def is_evennum(num):
        if num % 2 == 0:
            return True
        else:
            return False
    
  • 按指定次数打印一条消息。

    def pri(message, n):
        for _ in range(n):
            print(message)
    
  • 给定贷款额、还款年数和年利率,然后计算月支付额

    def pay_month(loan, years, year_rote):
        #计算月利率
        r = year_rote / 12
        #计算还款总月
        n = years * n
        #计算月支付额
        M = loan * r * (1 + r) ** n / ((1 + r) ** n - 1)
        return M
    
  • 对于给定的小写字母,给出相应的大写字母。

    def conver_letter(small_letter):
        return small_letter - 32
    

(6)确定并改正下面程序中的错误

def function1(n,m):
function2(3.4)

def function2(n):
	if n > 0:
		return 1
  elif n == 0:
	return 0
  elif n < 0:
	return -1
function1(23)

error:function2(3.4)这条语句属于f1里的内容,缩进错误

if elif 语句缩进错误

修改后

def function1(n,m):
	function2(3.4)

def function2(n):
	if n > 0:
		return 1
	elif n == 0:
		return 0
	elif n < 0:
		return -1


function1(23)

(7)下面代码的输出是什么?

def main():
	print(min(56))

def min(n1,n2):
	smallest = n1 
	if n2 < smallest:
		smallest = n2
	
main()#Call the main function

输出结果:none

因为min函数有返回值,但是没有用return返回,min(5,6)就无法得到返回值,所以是空

(8)运行下面程序时会出现什么错误?

def main():
	print(min(min(5,6),(51,6)))
def min(n1,n2):
	smallest =n1
	if n2 < smallest:
		smallest =n2
main()# Call the main function

第二次调用min函数的时候,传过去的实参是none

(9)形参和实参能同名吗?

能,它们的作用域不同,是相互独立的变量

(10)显示下面函数的结果

# 代码A
def main():
	max=0
	getMax(12max)
	print(max)
	
def getMax(value1,value2,max):
	if value1 > value2:
		max = vauel
	else:
		max = value2
main()
# 代码B
def main():
	i=1	
	while i <= 6:
        print(function1(i,2))
        i+= 1
        
def functionl(i. num):
	line = ""
	for j in range(1,i):
        line += str(num) + " "
        num *= 2    
	return line
main()
# 代码C
def main():
	# Initialize times
	times= 3
	print("Before the call,variable","times is", times)
	#Invoke nprintin and display times
	nPrint("welcome to Cs!",times)
	print("After the call,variable","times is",times)
	
# Print the message n times
def nPrint(message,n):
	while n>0:
		print("n=",n)
		print(message)
		n -= 1
main()
# 代码D
def main():
	i=0
	while i <= 4:
		function1(i)
		i+ 1		
	print("i is,i)
	
def function1(i):
	line = " "
	while i >= 1:
		if i % 3 != 0:
			line += str(i) + " "
			i -= 1
	print(line) 
main()

#代码A

2

#代码B

none

2

2 4

2 4 8

2 4 8 16

2 4 8 16 32

#代码C

Before the call,variabletimes is3

n = 3

welcome to Cs!

n = 2

welcome to Cs!

n = 1

welcome to Cs!

After the call,variabletimes is3

#代码D

none

"1 "

"2 1 "

死循环

(11)下面代码的打印结果什么?

# 代码A
def function(x):
	print(x)
	x = 4.5
	y = 3.4	
	print(y)
x=2
y=4
function(x)
print(x)
print(y)
# 代码B
def f(x,y=1,z=2):
	return x+y+Z
print(f(11,1))
print(f(y=1,x=2,z=3))
print(f(1,z=3))

代码A

2

3.4

2

4

#代码B

3

6

5

(12)下面的代码有什么错误?

def function():
	x = 4.5
	y= 3.4
	print(x)
	print(y)
	
function()
print(x)
print(y)

输出结果:

4.5

3.4

然后报错

x, y 在函数外面没有被定义,出了函数它的作用域就结束了

(13)下面代码能运行吗?如果能,打印结果是什么?

x= 10
if x < 0:
	y = -1
else:
	y = 1
print("y is", y)

y is 1

(14)显示下面代码的打印结果

def f(w=1,h=2):
	print(w,h)
f()
f(w = 5)
f(h = 24)
f(45)

1,2

5,2

1,24

4,5

(15)确定下面程序的错误并改正

def main():
	nPrintln(5)
	
def nPrintln(message = "Welcome to Python!",n):
	for i in range(n):
		print(message)
main() #Call the main function

错误:n放在了message后面

规则:默认参数必须放在非默认参数之后(message必须放在n后面)

修改后:

def main():
	nPrintln(5)

def nPrintln(n, message = "Welcome to Python!"):
	for i in range(n):
		print(message)
main() #Call the main function

(16)如果在同一模块里定义两个同名的函数会发生什么?

后面定义的函数会覆盖前面的函数

def pri():
 print("这是第一个函数")
def pri():
 print("这是第二个函数")


pri()
#输出:这是第二个函数

(17)阐述函数的内存运行机制,举例代码并画图说明

函数的运行是基于栈内存的,栈就是一个先进后出的线性表

我们可以把一个函数当成是栈当中的一个元素:栈帧 -> 函数本身需要占用的内存

都包含哪些内容呢:

  • 函数名-引用关系
  • 参数列表
  • 函数内容:函数体 return 返回值

接着来看,具体的运行机制是这样的:

(1)函数被调用时,会从堆内存中将函数的代码加载进栈内存:进栈

(2)哪个函数在栈顶,哪个函数就有限执行

(3)直到栈顶函数遇到return时,结束函数并将返回值传递给调用者:出栈

(4)在栈顶函数运行期间,如果又调用了其他函数,则当前函数暂停运行,直到成为新的栈顶则继续执行。

def pow(a, b):
    c = sum(a,b) ** b
    return c

def sum(a,b):
    c = a + b
    return c

a = 1
b = 2
ret = pow(a,b)
print(ret)

image-20250324214542620

总结:

  • 局部变量是随着函数的进栈而创建的,随着函数的出栈而消亡
  • 全局变量是随着程序的执行而创建的,随着程序的技术而消亡
num = 10
def show():
    # 函数内部寻找变量或函数的逻辑:就近原则
    print(num)
show()

一般不建议在函数中直接使用全局变量,而是作为参数进行传递,为啥?一旦改变全局变量的值,那么直接调用该变量的函数在运行时就会出现有任务逻辑问题。

二、编程题

(18) 回文素数【录屏讲解】

视频链接:录制: 录制1
录制文件:https://meeting.tencent.com/cw/KnwALpgMa7

回文素数是指一个数既是素数又是回文数,例如131既是素数也是回文数

输出显示前100个回文素数,每行显示10个

"""
2 3 4 5 7 11 101 131 151 181 
191 313 353 373 383 727 757 787 797 919 
929 10301 10501 10601 11311 11411 12421 12721 12821 13331 
13831 13931 14341 14741 15451 15551 16061 16361 16561 16661 
17471 17971 18181 18481 19391 19891 19991 30103 30203 30403 
30703 30803 31013 31513 32323 32423 33533 34543 34843 35053 
35153 35353 35753 36263 36563 37273 37573 38083 38183 38783 
39293 70207 70507 70607 71317 71917 72227 72727 73037 73237 
73637 74047 74747 75557 76367 76667 77377 77477 77977 78487 
78787 78887 79397 79697 79997 90709 91019 93139 93239 93739 
"""

#回文素数
#判断素数
def is_prim(num):
    for i in range(2, num // 2):
        if num % i == 0:
            return False
    return True
#判断回文数
def is_pal(num):
    arr = []
    while num != 0:
        arr.append(num % 10)
        num //= 10
    #遍历数组
    left = 0
    right = len(arr) - 1
    # print(arr)
    while left <= right:
        if arr[left] == arr[right]:
            if left == right:
                return True
            left += 1
            right -= 1
        if arr[left] != arr[right]:
            return False
    if left > right and arr[left] == arr[right]:
        return True


count = 0
i = 2
while count < 100:
    if is_prim(i) and is_pal(i):
        count += 1
        print(i, end = " ")
        if count % 10 == 0:
            print()
    i += 1
print()

(19) 反素数

题目描述

反素数是指一个将其逆向拼写后也是一个素数的非回文数,例如17和71都是素数但不是回文数,且反转后依旧是素数

输出显示前100个反素数,每行显示10个

"""
13 17 31 37 71 73 79 97 107 113 
149 157 167 179 199 311 337 347 359 389 
701 709 733 739 743 751 761 769 907 937
941 953 967 971 983 991 1009 1021 1031 1033
1061 1069 1091 1097 1103 1109 1151 1153 1181 1193
1201 1213 1217 1223 1229 1231 1237 1249 1259 1279
1283 1301 1321 1381 1399 1409 1429 1439 1453 1471
1487 1499 1511 1523 1559 1583 1597 1601 1619 1657 
1669 1723 1733 1741 1753 1789 1811 1831 1847 1867
1879 1901 1913 1933 1949 1979 3011 3019 3023 3049
"""

#判断素数
def is_prim(num):
    for i in range(2, num // 2):
        if num % i == 0:
            return False
    return True
#判断回文数
def is_pal(num):
    arr = []
    while num != 0:
        arr.append(num % 10)
        num //= 10
    #遍历数组
    left = 0
    right = len(arr) - 1
    # print(arr)
    while left <= right:
        if arr[left] == arr[right]:
            if left == right:
                return True
            left += 1
            right -= 1
        if arr[left] != arr[right]:
            return False
    if left > right and arr[left] == arr[right]:
        return True


#得到反素数
def rever_pri(i):
    arr = []
    num = 0
    while i != 0:
        arr.append(i % 10)
        i //= 10
        left = 0
    right = len(arr) - 1
    while right >= 0 and left <= len(arr) - 1:
        num += arr[left] * 10 ** right
        left += 1
        right -= 1
    return num



#反素数
count = 0
i = 2
while count < 100:
    if is_prim(i) and not is_pal(i):
        if is_prim(rever_pri(i)):
            count += 1
            print(i, end = " ")
            if count % 10 == 0:
                print()
    i += 1

(20) 双素数

题目描述

双素数是指一对差值为2的素数,例如3和5就是一对双素数,5和7也是一对双素数

输出显示小于1000的双素数

"""
(2, 4) (3, 5) (5, 7) (11, 13) (17, 19) (29, 31) (41, 43) (59, 61) (71, 73) (101, 103) 
(107, 109) (137, 139) (149, 151) (179, 181) (191, 193) (197, 199) (227, 229) (239, 241) (269, 271) (281, 283) 
(311, 313) (347, 349) (419, 421) (431, 433) (461, 463) (521, 523) (569, 571) (599, 601) (617, 619) (641, 643) 
(659, 661) (809, 811) (821, 823) (827, 829) (857, 859) (881, 883) 
"""

#双素数
#判断素数
def is_prim(num):
    for i in range(2, num // 2):
        if num % i == 0:
            return False
    return True

#判断是否是双素数
def is_pait_prim(a, b):
    if is_prim(a) and is_prim(b) and b - a == 2:
        return True
    else:
        return False
    
i = 2
count = 0
while i < 1000:
    j = 2
    while j < 1000:
        if is_pait_prim(i, j):
            count += 1
            print((i, j), end = " ")
            if count % 10 == 0:
                print()
        j += 1
    i += 1

(21) 梅森素数

如果一个素数可以写成 2 p − 1 2^p-1 2p1的形式,其中p是某个正整数,那么这个素数就称作梅森素数

输出p≤31的所有梅森素数

#梅森素数
#判断素数
def is_prim(num):
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            return False
    return True


p = 2
while p <= 31:
    mersenne_prime = 2 ** p - 1
    if is_prim(mersenne_prime):
        print(mersenne_prime, end = " ")
    p += 1

(22) 对三个数排序

提示用户输入三个数字,最后按照升序输出三个数字

def sort_numbers(num1, num2, num3):
    if num1 > num2 > num3:
        print(num3, num2, num1)
    elif num1 > num3 > num2:
        print(num2, num3, num1)
    elif num2 > num1 > num3:
        print(num3, num1, num2)
    elif num2 > num3 > num1:
        print(num1, num3, num2)
    elif num3 > num1 > num2:
        print(num2, num1, num3)
    elif num3 > num2 > num1:
        print(num1, num2, num3)
        
        
x, y, z = map(float,input("请输入三个数字:").split(" "))
sort_numbers(x, y, z)

(23)显示模式【录屏讲解】

视频链接:录制: 录制2
录制文件:https://meeting.tencent.com/cw/2Vap6DLP42

编写函数显示如下模式:

              1
    		2 1
...       3 2 1
n n-1 ... 3 2 1
"""
                  			1 
                         2  1 
                      3  2  1
                   4  3  2  1
                5  4  3  2  1
             6  5  4  3  2  1
          7  6  5  4  3  2  1
       8  7  6  5  4  3  2  1
    9  8  7  6  5  4  3  2  1
10  9  8  7  6  5  4  3  2  1
"""
def display_pattern(n):
     for i in range(1, n + 1):
            #空格
        for k in range(n - i):
            print(" " * 2, end = " ")
            #数据
        for j in range(i, 0, -1):
            print(f'{j:>2d}',end = " ")
        print()
        
        
display_pattern(10)

(24)数列求和【录屏讲解】

视频链接:录制: 录制3
录制文件:https://meeting.tencent.com/cw/2yjdLa5bd1

编写一个函数计算下面的数列:

m ( i ) = 1 2 + 2 3 + . . . + i i + 1 m(i) = \frac{1}{2} + \frac{2}{3} + ... + \frac{i}{i + 1} m(i)=21+32+...+i+1i

并输出测试结果:

i		m(i)
1		0.50
2		1.16
...		
19		16.40
20		17.35
"""
m(i) = 1/2 + 2/3 + ... + i/(i + 1)
请输入一个整数:20
 i     m(i)
 1     0.50
 2     1.17
 3     1.92
 4     2.72
 5     3.55
 6     4.41
 7     5.28
 8     6.17
 9     7.07
10     7.98
"""
def func(i):
    #分子
    fenzi = 1
    #分母
    fenmu = 2
    #累加
    the_sum = 0
    for j in range(i):
        num = fenzi / fenmu
        the_sum += num
        fenzi += 1
        fenmu += 1
    return the_sum

n = int(input("请输入一个整数:"))
i = 1
print(" i     m(i)")
while i <= n:
    print(f'{i:>2d}     {func(i):.2f}')
    i += 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2327854.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python | 使用Matplotlib绘制Swarm Plot(蜂群图)

Swarm Plot&#xff08;蜂群图&#xff09;是一种数据可视化图表&#xff0c;它用于展示分类数据的分布情况。这种图表通过将数据点沿着一个或多个分类变量轻微地分散&#xff0c;以避免它们之间的重叠&#xff0c;从而更好地显示数据的分布密度和分布趋势。Swarm Plot特别适用…

新版本Xmind结合DeepSeek快速生成美丽的思维导图

前言 我的上一篇博客&#xff08;https://quickrubber.blog.csdn.net/article/details/146518898&#xff09;中讲到采用Python编程可以实现和Xmind的互动&#xff0c;并让DeepSeek来生成相应的代码从而实现对内容的任意修改。但是&#xff0c;那篇博客中提到的Xmind有版本的限…

set和map封装

目录 set和map区别 set和map的插入 set和map的实现 修改红黑树的模板参数 修改比较时使用的变量 迭代器的实现 迭代器的定义 *解引用重载 ->成员访问重载 自增重载 重载 封装迭代器 RBTree迭代器封装 封装set迭代器 对set迭代器进行修改 封装map迭代器 修改…

【Linux】Orin NX + Ubuntu22.04配置国内源

1、获取源 清华源 arm 系统的源,可以在如下地址获取到 https://mirror.tuna.tsinghua.edu.cn/help/ubuntu-ports/ 选择HTTPS,否则可能报错: 明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)查看Orin NX系统版本 选择jammy的源 2、更新源 1)备份原配…

Open-Sora:开源AI视频生成的新星

一.引言 近年来&#xff0c;AI视频生成技术快速发展&#xff0c;从文本生成图像&#xff08;如Stable Diffusion、DALLE&#xff09;到文本生成视频&#xff08;如Runway、Pika&#xff09;&#xff0c;AI在多媒体创作领域的应用日益广泛。近期&#xff0c;Open-Sora作为一款开…

【堆】《深入剖析优先级队列(堆):数据结构与算法的高效搭档》

文章目录 前言例题一、最后一块石头的重量二、数据流中的第 K 大元素三、前K个高频单词四、数据流的中位数 结语 前言 什么是优先级队列算法呢&#xff1f;它的算法原理又该怎么解释&#xff1f; 优先级队列&#xff08;堆&#xff09;算法是一种特殊的数据结构和算法&#xf…

【CMOS输出缓冲器驱动强度】

一 、学习笔记 原始资料&#xff1a;https://www.ti.com.cn/cn/lit/an/zhcae18/zhcae18.pdf?ts1743589394832 Q1、电平转换芯片的其中一个关键指标是转换速率&#xff0c;转换速率跟什么因素有关系呢&#xff1f; 1、瞬态驱动强度 上升或下降时间用于评估瞬态驱动强度。需要…

【C++】Cplusplus进阶

模板的进阶&#xff1a; 非类型模板参数 是C模板中允许使用具体值&#xff08;而非类型&#xff09;作为模板参数的特性。它们必须是编译时常量&#xff0c;且类型仅限于整型、枚举、指针、引用。&#xff08;char也行&#xff09; STL标准库里面也使用了非类型的模板参数。 …

透明的卡组收费模式IC++

IC是信用卡处理商用来计算每笔交易相关费用的定价模型。与统一或混合定价相比&#xff0c;IC提供了额外的透明度。 作为企业主&#xff0c;了解IC定价的来龙去脉至关重要&#xff0c;以确定它是否对您的运营有意义。 什么是IC&#xff1f; IC或interchange plus是一种流行的定…

吾爱置顶软件,吊打电脑自带功能!

今天我给大家带来一款超棒的软件&#xff0c;它来自吾爱论坛的精选推荐&#xff0c;每一款都经过精心挑选&#xff0c;绝对好用&#xff01; S_Clock 桌面计时软件 这款软件的界面设计特别漂亮&#xff0c;简洁又大方。它是一款功能齐全的时钟计时倒计时软件&#xff0c;既能正…

使用MFC ActiveX开发KingScada控件(OCX)

最近有个需求&#xff0c;要在KingScada上面开发一个控件。 原来是用的WinCC&#xff0c;WinCC本身是支持调用.net控件&#xff0c;就是winform控件的&#xff0c;winform控件开发简单&#xff0c;相对功能也更丰富。奈何WinCC不是国产的。 话说KingScada&#xff0c;国产组态软…

【AI论文】CodeARC:评估归纳程序合成中大语言模型代理的推理能力基准

摘要&#xff1a;归纳程序合成&#xff0c;或称示例编程&#xff0c;要求从输入输出示例中合成能够泛化到未见输入的函数。尽管大型语言模型代理在自然语言指导下的编程任务中展现出了潜力&#xff0c;但它们在执行归纳程序合成方面的能力仍待深入探索。现有的评估协议依赖于静…

加密解密工具箱 - 专业的在线加密解密工具

加密解密工具箱 - 专业的在线加密解密工具 您可以通过以下地址访问该工具&#xff1a; https://toolxq.com/static/hub/secret/index.html 工具简介 加密解密工具箱是一个功能强大的在线加密解密工具&#xff0c;支持多种主流加密算法&#xff0c;包括 Base64、AES、RSA、DES…

抖音短视频安卓版流畅度测评 - 真实

对于抖音短视频安卓版的流畅度&#xff0c;实际体验可以受到多方面因素的影响&#xff0c;比如设备性能、系统优化、网络情况和应用本身的优化程度。以下是一些常见的测评维度和抖音安卓版本流畅度的实际表现&#xff1a; 1.启动速度 抖音的启动速度通常较快&#xff0c;但如果…

基于javaweb的SSM+Maven机房管理系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…

发动机试验台底座:汽车研发的关键支撑(北重制造厂家)

发动机试验台底座是汽车研发过程中的重要组成部分&#xff0c;它承载着发动机及相关部件&#xff0c;在试验过程中提供稳定的支撑。底座的设计和制造对于发动机试验的精度和可靠性至关重要&#xff0c;它需要具备足够的承载能力、稳定性和耐久性&#xff0c;以确保试验过程的准…

Linux红帽:RHCSA认证知识讲解(九)标准输入输出、重定向、过滤器与管道

Linux红帽&#xff1a;RHCSA认证知识讲解&#xff08;九&#xff09;标准输入输出、重定向、过滤器与管道 前言一、标准输入与输出、重定向&#xff0c;使用过滤器筛选文件信息1.1 Linux 的标准输入与输出1.2 什么是输入重定向1.3 输出重定向1.4 标准错误输出重定向1.5 使用过滤…

智慧园区大屏如何实现全局监测:监测意义、内容、方式

智慧园区的价值不容小觑呀&#xff0c;可以说园区的大部分数据都在这个大屏上&#xff0c;监测数据越多&#xff0c;那么大屏的价值就越大。很多小伙伴拿到需求后感觉无从下手&#xff0c;本文在这里智慧园区大屏可以监测哪些内容、监测的意义、监测的方式等&#xff0c;欢迎点…

LangChain核心解析:掌握AI开发的“链“式思维

0. 思维导图 1. 引言 🌟 在人工智能快速发展的今天,如何有效地利用大语言模型(LLM)构建强大的应用成为众多开发者关注的焦点。前面的课程中,我们学习了正则表达式以及向量数据库的相关知识,了解了如何处理文档并将其附加给大模型。本章我们将深入探讨LangChain中的核心概…

思维链编程模式下可视化医疗编程具体模块和流程架构分析(全架构与代码版)

引言 随着人工智能在医疗领域的广泛应用&#xff0c;医疗AI思维链可视化编程工具应运而生&#xff0c;旨在为非技术背景的医疗从业者提供便捷的AI模型开发平台。这个工具通过直观的可视化界面&#xff0c;简化了AI模型的构建过程&#xff0c;帮助用户高效完成数据处理、模型训…