标签:示例 mamicode 数据结构 ref target 报错 cal 读取 规模
原文:https://www.cnblogs.com/linhaifeng/articles/6113086.html#_label6
# 如果函数的内容有global关键字 # - 有声明局部变量 # NAME = ["产品经理","廖波湿"] # def qupengfei(): # global NAME # NAME = "自己" # print(‘我要搞‘, NAME) # qupengfei() # - 错误示例 # NAME = ["产品经理","廖波湿"] # def qupengfei(): # NAME = "自己" # global NAME # print(‘我要搞‘, NAME) # qupengfei() # - 无声明局部变量 # NAME = ["产品经理","廖波湿"] # def qupengfei(): # global NAME # NAME = ["阿毛"] # NAME.append(‘XXOO‘) # print(‘我要搞‘, NAME) # qupengfei() ######## 全局变量变量名大写 ######## 局部变量变量名小写 # 优先读取局部变量,能读取全局变量,无法对全局变量重新赋值 NAME=“fff”, # 但是对于可变类型,可以对内部元素进行操作 # 如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值 NAME=“fff”
函数之间可以进行嵌套
NAME = ‘海风‘ def huangwei(): name = "黄伟" print(name) def liuyang(): name = "刘洋" print(name) def nulige(): name = ‘沪指花‘ print(name) print(name) nulige() liuyang() print(name) huangwei() # 黄伟 # 刘洋 # 刘洋 # 沪指花 # 黄伟
def weihou(): name = "陈卓" def weiweihou(): nonlocal name # nonlocal,指定上一级变量,如果没有就继续往上直到找到为止 name = "冷静" weiweihou() print(name) print(name) weihou() print(name) # 刚娘 # 冷静 # 刚娘
def foo(): print(‘from foo‘) bar() foo()#报错,未定义 def bar(): print(‘from bar‘)
递归:
def calc(n): print(n) if int(n/2) ==0: return n return calc(int(n/2)) calc(10) 输出: 10 5 2 1
import time person_list=[‘alex‘,‘wupeiqi‘,‘linhaifeng‘,‘zsc‘] def ask_way(person_list): print(‘-‘*60) if len(person_list) == 0: return ‘根本没人知道‘ person=person_list.pop(0) if person == ‘linhaifeng‘: return ‘%s说:我知道,老男孩就在沙河汇德商厦,下地铁就是‘ %person print(‘hi 美男[%s],敢问路在何方‘ % person) print(‘%s回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问%s...‘ % (person, person_list)) time.sleep(1) res=ask_way(person_list) return res res=ask_way(person_list) print(res)
递归特性:
1. 必须有一个明确的结束条件
2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少
3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)
堆栈扫盲http://www.cnblogs.com/lln7777/archive/2012/03/14/2396164.html
尾递归优化:http://egon09.blog.51cto.com/9161406/1842475
标签:示例 mamicode 数据结构 ref target 报错 cal 读取 规模
原文地址:https://www.cnblogs.com/raitorei/p/11682188.html