如何用c语言做网站,建筑网站知识大全,阿里云域名备案网站建设方案,广告设计与制作基础知识变量与递归函数一、变量 变量分为全局变量和局部变量。 python中全局变量和局部变量的最大区别在于局部变量只能通过函数去访问#xff0c;而全局变量可以直接访问。 举个例子#xff1a; name linxu #全局变量
def change_name():namepython #局部变量print(name) … 变量与递归函数一、变量 变量分为全局变量和局部变量。 python中全局变量和局部变量的最大区别在于局部变量只能通过函数去访问而全局变量可以直接访问。 举个例子 name linxu #全局变量
def change_name():namepython #局部变量print(name) #打印局部变量结果为python
change_name()
print(name) #打印全局变量结果为linux 如果将函数内的局部变量转换为全局变量需要使用到关键字global引用全局变量。 name linxu #全局变量
def change_name():global name #引用全局变量可将函数内后面出现局部变量name转换为全局变量namepython #局部变量print(name) #结果为python
change_name()
print(name) #结果为python 函数的内部无global关键字优先读取局部变量无局部变量然后能读取全局变量无法对全局变量重新赋值但是对于可变类型可以对内部元素进行操作。函数的内部有global关键字变量本质上就是全局的那个变量可读取可赋值。 如果需要引用到上一级变量则使用关键字nonlocal name 张三
def change_name():name 李四def change_name1():nonlocal namename 王五change_name1()print(name) #结果为王五
print(name) #结果为张三
change_name()
print(name) #结果为张三 讲到变量就要提提风湿理论风湿理论的定义函数即变量。 风湿理论总的来讲就是代码从上到下执行遇到定义的函数体内存便为其开辟空间但不执行。程序需要调用函数时才会执行函数体的内容。如果一个函数还未开辟空间就先调用就会报错。 def foo():print(this is foo)bar()
foo()
def bar():print(this is bar) 这段代码就会报错因为bar()函数未被开辟空间就先调用了。 二、递归函数 递归调用是函数嵌套调用的一种特殊形式函数在调用时直接或间接调用了自身就是递归调用。 def calc(n):print(n)if int(n/2) 0:return nres calc(int(n/2)) #递归调用return res
calc(10) 总结递归的调用 必须有一个明确的结束条件每次进入更深递归时问题规模相比上次递归都应有所减少递归效率低递归作业递归问路假设lisi知道路 import time
person_list [alex,zhangsan,lisi,wangwu]
def ask_way(person_list):if len(person_list) 0:return 没人知道路person person_list.pop(0)if person lisi:return %s说我知道路就是。。。 %personprint(hi 朋友[%s],请问路怎么走 %person)print(%s回答道我不知道不过我可以帮你问%s %(person,person_list))time.sleep(2)res ask_way(person_list)print(%s问的结果是%res %(person,res))return res
res ask_way(person_list)
print(res) 转载于:https://www.cnblogs.com/lzc69/p/11098698.html