设为首页 加入收藏

TOP

Python集训营45天—Day04 (函数)(二)
2019-09-20 11:45:40 】 浏览:84
Tags:Python 集训 Day04 函数
行该模块,if条件下的这些代码是不会执行的,因为只有直接执行的模块的名字才是'__main__'

def foo():
   pass
def bar():
   pass

# _name_ 是Python中一个隐含的变量它代表了模块的名字
# 只有被python解释器直接执行的模块的名字是 __main__
if __name__ == '__main__':
   print('call foo')
   foo()
   print("call bar")
   bar

 

4. 递归函数

递归函数:如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数。

 

举个例子:我们来计算阶乘 n! = 1 * 2 * 3 * ... * n

方案1:循环解决

"""
while 循环算阶乘
version:0.1
author:coke
"""
# -*- coding:utf-8 -*-
def calNum(num):
    i = 1
    result = 1
    while i <= num:
        result *= i
        i += 1
    return result

total = calNum(4)
print(total)

 

方案2:递归函数

"""
while 循环算阶乘
version:0.1
author:coke
"""
# -*- coding:utf-8 -*-
def calNum(num):
    if num > 1:
        result = num * calNum(num - 1)
    else:
        result = 1
    return result

total = calNum(4)
print(total)

 

5. 匿名函数

lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。

lambda函数的语法只包含一个语句,如下:

   lambda [arg1 [,arg2,.....argn]]:expression

 

1. 使用匿名函数求两数之和 (自己定义函数 )

"""
匿名函数测试
version:0.1
author:coke
"""
def add(a,b):
    return a+b

result1 = add(1,6)
# 使用lambda 表达式
sum = lambda  x,y: x+y
result2 = sum(1,6)
print(result1)
print(result2)

 

2. 数据排序 (作为内置函数的参数 )

"""
匿名函数作为内置函数进行排序
关于 字典和列表的知识点后面会讲
version:0.1
author:coke
"""
stus = [
    {"name":"zhangsan", "age":18}, 
    {"name":"lisi", "age":19}, 
    {"name":"wangwu", "age":17}
]
stus.sort(key = lambda x:x['name'])
print(stus)

 

6. 多返回值

python中 一个函数可不可以返回多个 返回值呢?

"""
多返回值的测试
version:0.1
author:coke
"""
def cal(a,b):
    add = a+b
    mul = a*b
    return add,mul

result = cal(2,3)
print(result)

输出结果

 

一个函数,返回多个返回值 ,本质上是利用了元组的特性。

注:关于元组,列表,字典的知识点后面会讲,这里先提一嘴。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇django下创建多个app,如何设置每.. 下一篇Mysql指定部分数据同步

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目