码迷,mamicode.com
首页 > 编程语言 > 详细

python第四周

时间:2019-05-19 15:49:38      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:理论   次数   第四周   ==   递归调用   栈溢出   tac   数据   必须   

全局变量和局部变量:

全局变量:如果直接创建变量,而不在子程序中创建,创建的为全局变量

局部变量:在子程序中创建的变量为局部变量,局部变量只能应用在子程序中

global 变量:在子程序中,可将变量应用至全局,必须提前 申明

 

name=lhf

def change_name():
    print(我的名字,name)

change_name()


def change_name():
    name=帅了一笔
    print(我的名字,name)

change_name()
print(name)



def change_name():
    global name
    name=帅了一笔
    print(我的名字,name)

change_name()
print(name)

 

 

风湿理论:函数就是变量

如果创建的函数中有函数没有被创建,但在没有调用这个函数之前创建了,则不会报错

def mode():
    print("hello")
    bau()
def bau():
    print("world")
mode()

 递归函数:在函数内部中,可以调用其他函数,如果一个函数在内部调用自身本身,这个函数就是递归函数。

递归的特性:

1.必须有一个明确的结束条件

2.每次进入更深一层的递归时,问题规模相比上次递归都应有所减少

3.递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用栈(stack)这种数据结构实现的,每当进入一个函数的调用,栈就会加一层栈帧,每当函数返回,栈就会减少一层栈帧。由于栈的大小不是无限的 ,所以,递归调用的次数过多吗,就导致栈溢出)

#问路
import time           #1
person_list = ["alom","poat","jion","haux"]     
def ask_way(person_list):                #定义函数将列表传入             
    print("-" *60)                                           
    if len(person_list) == 0:                          
        return 没人知道
    person = person_list.pop(0)
    if person == jion:
        return %s说:我知道,她在东边 %person
    print(hi[%s],问一下路在哪里%person)
    print("%s回答,我不知道,但我可以帮你问问%s"%(person,person_list))
    time.sleep(3)
    res= ask_way(person_list)
    return res
res = ask_way(person_list)                          
print(res)

 

python第四周

标签:理论   次数   第四周   ==   递归调用   栈溢出   tac   数据   必须   

原文地址:https://www.cnblogs.com/Alom/p/10887026.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!