首页 > 其他分享 >第八章 函数设计与应用

第八章 函数设计与应用

时间:2024-03-01 15:48:18浏览次数:20  
标签:函数 第八章 参数 numbers 应用 print def lambda

第八章 函数设计与应用

一、函数定义和使用

1、基本语法

def 函数铭([参数列表]):

​	""注释""

​	函数提

2、递归函数

函数在执行过程中又调用了函数自己

回文:

def isPalindrome(text):
	if len(text)<=1:
		return True
	if text[0]!=text[-1]
		return False
	return isPalindrome(text[1:-1])

3、函数嵌套定义

修饰器

二、函数参数

1、位置参数

常用参数,调用函数时的实参和形参顺序必须严格一致,数量必须相同。

def demo (a,b,c):

	print(a,,b,c)

2、默认值参数

def 函数名(.....,形参名=默认值):

	函数体

3、关键参数

参数按照参数名传值

demo(c=1,b=7,a=4)

1 7 4

4、可变长度参数

形参对应的参数数量不确实,一个形参接受对个实参。

*p接受多个实参,并放置到元组

>>> def domo(a,b,c,*p):
	print(a,b,c)
	print(p)
>>> demo(1,2,3,4,5,6)
123
(4,5,6)

**p接收任意多个关键参数并放入字典

>>> def demo(**p):
	for item in p.items():
		print(item)
>>> demo(x=1,b=4)
('x',1)
('b',4)

三、变量作用域

1、局部变量:部分函数区域影响

2、全局变量

global x

3、nonlcal变量

4、内置对象

四、lambda表达式

声明匿名函数,没有名字,临时使用

常用在临时需要一个函数的功能,但不想定义函数的场合

只能包含一个表达式,部运行包括选择结构和循环结构等语法

lambda arguments: expression
#arguments:是输入到函数中的参数,可以有多个,用逗号隔开。
#expression:是一个单一的表达式,lambda 函数返回这个表达式的结果。


add = lambda x, y: x + y  
print(add(5, 3))  # 输出 8


# 使用 map() 和 lambda 来对一个列表中的每个元素进行平方  
numbers = [1, 2, 3, 4, 5]  
squared = map(lambda x: x**2, numbers)  
print(list(squared))  # 输出 [1, 4, 9, 16, 25]  
  
# 使用 filter() 和 lambda 来过滤出偶数  
numbers = [1, 2, 3, 4, 5, 6]  
even_numbers = filter(lambda x: x % 2 == 0, numbers)  
print(list(even_numbers))  # 输出 [2, 4, 6]  

五、生成器函数

yield关键字用于定义生成器函数(generator functions)。生成器函数允许你创建一个迭代器,它可以在需要时逐个生成值,而不是一次性生成所有值。这使得生成器在处理大量数据或无限序列时非常高效,因为它们只占用与当前产生的值相对应的内存。

如:

def square_generator(n):  
    for i in range(n):  
        yield i ** 2  
  
# 使用for循环遍历生成器并打印每个值  
for square in square_generator(5):  
    print(square)
    
0  
1  
4  
9  
16

#斐波那契数列
def fibo():
    a,b=1,1
    while True:
        yield a
        a,b=b,a+b
        
seq=fibo()

for num in seq:
    if num>500:
        break
    print(num,end=' ')
    
   
1 1 2 3 5 8 13 21 34 55 89 144 233 377 

标签:函数,第八章,参数,numbers,应用,print,def,lambda
From: https://www.cnblogs.com/tihumenjiang/p/18047225

相关文章

  • Python函数每日一讲 - help函数的使用与实践
    引言今天周五,我们来看一个简单又熟悉的函数help(),help()函数就是Python中一个非常有用的工具,它能够帮助我们快速查找和理解Python中的各种函数、模块和对象的用法和功能。语句概览help()函数是Python内置函数之一,用于获取帮助信息。其语法格式如下:help([object])其中,object......
  • 傅里叶展开为什么要求函数有周期性
        傅里叶级数展开是针对有限区间,而不是周期。课本上写的周期其实是方便运算而已,有限区间上面的表示方法可以由简单的三角函数基函数表示。因为级数展开是在一个有限的时间段内对函数进行分解,然后用一系列正弦和余弦函数的线性组合来表示这个有限区间函数(或者说有限区间上面......
  • 掌握字符与字符串:C语言中的神奇函数解析(三)
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • 使用ConfuserEx代码混淆工具保护你的.NET应用程序
    .NET反编译相关的文章4款免费且实用的.NET反编译工具.NET反编译神器ILSpy怎么用?ConfuserEx.NET混淆工具安装GitHub开源地址:https://github.com/mkaring/ConfuserEx下载地址:https://github.com/mkaring/ConfuserEx/releases ConfuserEx-GUI.zip包解压即可使用:使......
  • 高 j 轨道上价核子波函数密度分布
    高\(j\)轨道即高\(l\)轨道,\(j\)是\(l\)与\(s\)的耦合:\[\vec{j}=\vec{l}\otimes\vec{s}.\]可以先不考虑自旋,定性了解氢原子波函数的几率分布。1.氢原子波函数氢原子波函数为\[\psi(n,l,m)=R_{nl}(r)Y_{lm}(\theta,\phi),\]其密度为\[|\psi|^2=|R_{nl}......
  • 低功耗全功能蓝牙5.1与2.4GHz私有协议的双模无线连接芯片OM6621FB 无线键鼠应用领域
    便携易操作且连接稳定的键鼠设备市场前景广阔。从有线发展为无线,高性能低功耗芯片在无线键鼠领域的应用,为开发者提供了优异的射频性能、强抗干扰及迅速稳定安全的连接,极大程度上提升了用户的办公灵活性和效率。为什么无线键鼠那么方便和好用,为何现在还有那么多人使用有线键鼠?今天......
  • 应用发布策略
    应用发布策略蓝绿发布 #概念定义:蓝绿发布是一种以最小的停机时间做服务升级的策略。需要维护的两个版本的环境分别称为“蓝环境”和“绿环境”。一般当前生产流量指向环境为绿环境,而在蓝环境上部署新版本,短时间内作为测试环境。#发布流程首先将一半的服务流量从负载......
  • 农村高中生源转型期提升学生二次函数建模能力的课堂探究
      在新课程下,培养学生的数学核心素养是高中数学课堂教学的根本任务。其中的建模思想是数学核心素养培养的一个基本指标,是学生正确认识数学知识内在本质与原理的重要思维工具。通过在数学课堂教学中有效地应用建模思想,主要的应用意义体现在如下几个方面:其一,通过在数学课堂中融入......
  • 【STL】二分搜索的实现与stl标准库的应用
    在算法题中经常会出现搜索的题目,如果使用暴力搜索在数据量较大时会超时,(如\(10^5\)数量级时\(O(n^2)\)就会超时,\(O(nlogn)\)则通常不会),因此常用二分搜索等进行优化。虽然stl库中关于二分搜索的接口很好用,很适合区间二分搜索,但我们仍需掌握C++实现二分搜索,“虽然这是一个简单的算法......
  • springboot应用中根据特定条件使用CommandLineRunner
    PS使用SpringBoot3.1.2进行测试1.使用@ConditionalOnProperty仅当特定属性存在或具有特定值时,注释@ConditionalOnProperty才会创建bean。在此示例中,仅当或文件中的CommandLineRunner属性db.init.enabled设置为true时才会执行application.propertiesapplication.ymlpac......