python学习 函数 内嵌函数 全局变量和局部变量

文章目录

函数学习

练习代码

用def 关键字定义函数

全局变量和局部变量
定义在函数外的变量看作全局变量,在堆当中
定义在函数内的变量看作局部变量,在栈当中

内嵌函数
函数中,再定义一个函数,这个函数只能再这个上一级函数中调用,不能越级。

全局变量,在函数中使用时要用关键字 global声明 ,

内嵌函数与上一级函数的关系,和函数 与主函数(不知道怎么称呼)类似。
定义在函数中的函数,要使用外部函数的局部变量时,可以使用关键字 nonlocal声明

lambda 可以用于声明 无名函数

x=lambda x:x*x
x(8)

递归
自己初用python写递归函数

sum=1
i=1
n=10

def factorial():
    global sum,i,n,sum
    sum*=i
    i=i+1
    if i<=n:
        return factorial()
    else:
        return sum

print(factorial())

例程

def factorical(n):
    if n==1:
        return 1
    else :
        return n*factorical(n-1)

print(factorical(10))

裴波那齐数列
递归方法

def algorithm(n):
    if n==1:
        return 1
    elif n==2:
        return 1
    else :
        return algorithm(n-1)+algorithm(n-2)

print(algorithm(12))

迭代方法

def algorithm(n):
    last=before_last=1
    if n==1:
        result=1
    elif n==2:
        result=1
    else :
        for i in range(3,n+1):
            
            result=last+before_last
            before_last=last
            last=result
    return result
print(algorithm(12))

汉诺塔

def algorithm(n):
    if n==1  :
        return 1
    else :
        return 2*algorithm(n-1)+1
print(algorithm(12))

新学字符串打印方法

print('这篇文章共有%d字'% 897)

猜你喜欢

转载自blog.csdn.net/m0_52521883/article/details/113754993