7.函数相关

1.函数的定义

def function_name(params):
    return [expression]

function_name为函数名,
params为传参,
可以写注释
return[表达式]结束函数选择性返回一个值给调用方值
不带表达式的return相当于返回None
2.函数的调用
可以通过函数名加小括号来调用

function_name(params)

定义一个问好的函数

def say_hello():
print("hello")

定义一个计算字符串长度的函数

def my_len(params):
    a = 0
    for i in params:
        a += 1
    print(a)

my_len('string')

需要注意:
函数必须先定义,才能使用
参数如果不需要,可以省略不写
返回值如果不需要,可以省略不写
3.函数的参数传递
在函数进行计算的时候,可以接受外部提供的数据,参数可以是多个,也可以不给参数
形参和实参
(a,b)形参,(1,2)是实参

def function(a,b):
	pass
function(1, 2)

参数的传递

def say_hello(name):
    print(f"hello, {name}")


say_hello('zhangsan')

定义一个计算两数之和的函数

def add(a,b):
    total = a + b
    print(total)


add(1, 2)#add(a=1, b=2)

eval() 用于动态执行字符串形式的代码

print('3+4')
print(eval('3+4'))

简单计算功能

def computer(a, b, c):
    # if c == '+':
    #     print(a + b)
    # elif c == '-':
    #     print(a - b)
    # elif c == '*':
    #     print( a * b)
    # elif c == '/':
    #     print(a / b)
    # else:
    #     print('请输入正确格式,请检查')


# computer(8,2,'/')
    print(eval(f'{a} {c} {b}'))

3.函数的返回值
在函数完成要做的事情之后,向调用返回数据.

def function_name(params):
	pass
    return [表达式(返回值)]

变量 = function()
return表示退出函数,return后续的代码不会执行.
return语句可以返回多个值,返回多个值默认以元组的形式返回
不带参数的return返回None,没有return返回值也是None
None表示空的,无实际意义的, None的bool值是False
4.函数的嵌套:
输出结果为 1   2  3
```bash
def func1():
    print(1111)
    func2()
    print(333333)


def func2():
    print(2222)


func1()

嵌套定义计算器

def add(a, b):
    return a + b


def less(a, b):
    return a - b


def cheng(a, b):
    return a * b


def chu(a, b):
    return a / b




def computer(a, b, c):
    if c == '+':
       return add(a, b)
    elif c == '-':
        return less(a, b)
    elif c == '*':
        return cheng(a, b)
    elif c == '/':
        return chu(a, b)


res = computer(1, 2, '*')
print(res)

同理:

def computer(a, b, c):
    # if c == '+':
    #    return add(a, b)
    # elif c == '-':
    #     return less(a, b)
    # elif c == '*':
    #     return cheng(a, b)
    # elif c == '/':
    #     return chu(a, b)
    dict = {
        '+':add,
        '-':less,
        '*':cheng,
        '/':chu
    }
    func = dict.get(c)
    return func(a, b)

5.函数的递归
在其定义中调用自身的过程
条件:
终止条件:递归函数必须包含一个或多个基本情况,即不再进行递归调用的条件,避免无限递归
递归调用:递归函数在其定义中必须包含对自身的调用.通过递归调用,函数可以反复执行相同的操作,并且在每次调用中传递不同的参数.
递归的用法: 树的遍历,阶乘呢个计算,斐波那契数列,递归的思想能够简化问题的表达和解决.
递归倒计时程序:

import time
# 倒计时
def count_down(sec):
    if sec <= 0:
        print(f'秒倒计时结束')
    else:
        print(sec)
        time.sleep(1)
        count_down(sec-1)


count_down(10)

斐波那契数列

def feibo(n):
    if n == 1 or n ==2:
        return 1
    else:
        return feibo(n-1) + feibo(n-2)


feibo_num = feibo(8)
print(feibo_num)
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值