首页 > 编程语言 >学python的第八天

学python的第八天

时间:2024-04-05 13:34:04浏览次数:23  
标签:return 函数 第八天 python print data2 def lambda

补充前面某天学的函数,函数具有函数名,参数,返回值,作用域:当前模块,函数中定义:嵌套函数,类中定义:方法
语法格式
def 函数名(形式参数列表):
    函数体
    return 返回值              #如果没有数据返回值,则可以省略return语句

# 1,变量

函数中变量的作用域,可以在模块中创建,作用域使整个模块,称为全局变量。也可以在函数中创建,默认情况下,作用域是整个函数,称为局部变量

x = 20


def p_a():
    x = 10
    print('函数中x={}'.format(x))


p_a()
print('全局变量x={}'.format(x))

# 在函数中将其声明为global,则会将函数中同名的变量提升为全局变量
x = 20


def p_a():
    global x
    x = 10
    print('函数中x={}'.format(x))


p_a()
print('全局变量x={}'.format(x))

# 2,可变函数

# 基于元组的可变函数(*可变函数)

def sum(*numbers):
    total = 0.0
    for number in numbers:
        total += number
    return total


print(sum(100.0, 20.0, 30.0))

# 基于字典的可变函数(**可变函数)
def show_info(**info):
    print('********************************')
    for key, value in info.items():
        print('{0} - {1}'.format(key, value))


show_info(name='wby', age=23, sex=True)
show_info(sutdent_name='wby', student_no='1000')

# 3,过滤函数 filter()

# 语法: filter(function,iterable)
# 参数function是一个提供过滤条件的函数,返回布尔值
# 参数iterable是容器类型的数据
# 处理一批数据

def f1(x):  # 提供过滤条件函数
    return x > 50  # 找出大于50元素


data1 = [66, 15, 91, 55, 77, 43, 63, 78, 22, 19]  # 需要处理的数据
filtered = filter(f1, data1)  # 过滤
data2 = list(filtered)  # 转化为列表
print(data2)  # 输出结果

# 4,映射函数map()

# 语法: map(function,iterable)

# 参数map是一个提供变换规则的函数,返回变换之后的元素

# 参数iterable是容器类型的数据

def f1(x):
    return x * 2  # 变换规则乘以2


data1 = [66, 15, 91, 28, 98, 50, 6, 80, 33]
mapped = map(f1, data1)
data2 = list(mapped)
print(data2)

# 5,匿名函数:lambda()函数

# 语法,lambda 参数列表:lambda体

# lambda体不能是一个代码块,不能包含多条语句,只有一条语句,语句会计算一个结果并返回给lambda()函数,但不需要return语句返回

# 例一:
def calc(opr):
    if opr == '+':
        return lambda a, b: (a + b)
    else:
        return lambda a, b: (a - b)


f1 = calc('+')
f2 = calc('-')
print("10+5={0}".format(f1(10, 5)))
print("10-5={0}".format(f1(10, 5)))


# 例二:
data1 = [66, 15, 91, 28, 98, 50, 6, 80, 33]

filtered = filter(lambda x: (x > 50), data1)
data2 = list(filtered)
print(data2)

mapped = map(lambda x: (x * 2), data1)
data2 = list(mapped)
print(data2)

标签:return,函数,第八天,python,print,data2,def,lambda
From: https://blog.csdn.net/Wby123456wby/article/details/137398646

相关文章

  • 使用Python写简单的点云SUSAN关键点检测
    一、代码Pythonimportnumpyasnpimportopen3daso3dfromscipy.spatialimportcKDTreefromjoblibimportParallel,delayeddefcalculate_response(idx,points,radius,t,kdtree):#使用KD树找到半径内的所有点neighbor_indices=kdtree.query_ba......
  • 归并排序 返回逆序数 python
    defmerge_sort_and_count_inversions(arr):n=len(arr)ifn<=1:returnarr,0#如果n小于等于1,数组已经有序,直接返回数组本身和逆序数0mid=n//2left_lst,inv_left=merge_sort_and_count_inversions(arr[:mid])#对左半部分进行递......
  • python 插值搜索-迭代与递归(Interpolation Search)
             给定一个由n个均匀分布值arr[]组成的排序数组,编写一个函数来搜索数组中的特定元素x。         线性搜索需要O(n)时间找到元素,跳转搜索需要O(?n)时间,二分搜索需要O(logn)时间。插值搜索是对实例二分搜索的改进,其中排序数组中的值是......
  • Python自学:类 构造方法练习(思路打不通,还遇到赋值错乱!)
    开始学习类一个练习,就是输入学生信息,并且要用到forinput结合,构造方法等。自己思考时,这个应该先设计一个类,然后用input输入,之前练习过main架构 tools调用两个py文件相互辅助,这个是不是也是,还有全局变量,想了很多结果不是,乱的。看了课件,用到forxinrange(1,11):开......
  • Python基础
    本人以前学习python基础时的两个简单实战1.模拟网上购物流程#创建空的购物车list=[]foriinrange(5):goods=input("请输入对应的商品编号和商品名称入库,每次只能输入一个产品:")list.append(goods)foriteminlist:print(item)#创建一个空列表,购物车......
  • Python线程池的概念涉及创建一个线程集合(即线程池)
    Python线程池的概念涉及创建一个线程集合(即线程池),这些线程预先被初始化并保存在内存中,等待任务的分配和执行。使用线程池可以有效地管理和复用线程资源,提高程序的执行效率。以下是Python线程池相关的概念及其示例程序:1.线程池(ThreadPool)线程池是一个管理线程的集合,它负责线......
  • LeetCode in Python 88. Merge Sorted Array (合并两个有序数组)
    合并有序数组也有两种方法,区别是空间复杂度不同。第一种,重新开辟一个数组空间,大小为O(m+n),另外需要三个指针分别指向两个有序数组和新开辟的数组,依次判断两个数组内元素大小,不断更新指针即可。第二种,无需单独开辟空间,在第一个数组(该数组空间足够存放两个数组总长的数据)内进行......
  • nodejs+python开发基于uniapp的校园跑腿系统 微信小程序
    本文先提出了开发基于uniapp的高校校园跑腿系统的背景意义,然后通过功能性和非功能性分析阐述本系统的需求,然后从功能设计和数据库设计两方面进行系统的设计建模。在技术实现部分采用了nodejs作为开发后台的编程语言,客户端使用uniapp,数据库选择MySQL。最后进行了代码的编写,并说......
  • 【python毕业设计】社区居民健康档案管理系统8cgo7
    典型的应用系统中还需要系统维护这一功能,其主要包括:(1)可以完成社区居民家庭和个人基本信息的维护和查询功能。(2)可以完成社区居民健康档案管理系统用户的添加、删除、修改等功能。(3)可以完成用户组的维护和用户组的查询功能。(4)可以完成数据备份和恢复的功能。(5)可以完成......
  • python3.12.2银河麒麟v10鲲鹏离线快速部署
    python3.12.2银河麒麟v10鲲鹏离线快速部署背景清明假期忙活了一整天发现自己方向走错了.部署效率巨慢无比.其实简单情况下很快就可以弄好.自己最开始使用python3.9使用的是libressl发现最新版已经不需要了.并且使用仓库中的就可以.系统版本说明公司的银河麒麟v10......