python学习笔记,视频day15-全局变量与局部变量、风湿理论、函数递归

上节课回顾

1.函数  

   数学中函数:y=2*x+1

   python中参数:

    def test(x,y,type=None):

      "注释"

      代码块

      return res

    函数名代表内存地址、引用,调用时要加括号

2.参数

  形参---调用时占内存,不调用时释放内存

实参--占内存

位置参数一一对应

关键字参数

默认参数

位置参数在关键字参数左边

3.

   def test(x,*args,**kwargs):

      "注释"

      代码块

      return res

4.函数好处:

  减少重复代码

  易维护

  可扩展

全局变量与局部变量

  • 全局变量:没有任何的缩进,在全局生效的变量
  • 局部变量:子程序中定义的变量
  • 只有函数有私密功能
  • 解释器从上到下运行,遇到函数只编译不执行

    规则:全局变量变量名大写,局部变量吧变量名小写

global全局变量、nonlocal上一级变量

name="yangzi"#全局变量
def change_name():
    name="jinmi"#局部变量
    print("chang_name",name)
change_name()
print(name)
# 结果
# chang_name jinmi
# yangzi

 global

  如果函数的内容无global关键字

  优先读取局部变量,无局部变量时,能读取全局变量,无法对全局变量进行赋值;对于可变变量可以对内部元素进行操作

  •   有声明局部变量
name="yangzi"
def change_name():
    name="jinmi"
    print("chang_name",name)
change_name()
# 结果
# chang_name jinmi
  •   无声明局部变量
name="yangzi"
def change_name():
    print("chang_name",name)
change_name()
# 结果
# chang_name yangzi
name=["yangzi","jingtian"]
def change_name():
    name.append("123")
    print("chang_name",name)
change_name()
# 结果
# chang_name yangzi 

  有global关键字,变量本质上就是全局变量,可读取赋值 

name=["产品经理","qianyue"]
def change_name():
    global name
    name="jinmi"
    print("chang_name",name)
change_name()
print(name)
# 结果
# chang_name jinmi
# jinmi
NAME  ="海峰"
def name1():
    name="huang"
    print(name)
    def liuyang():
        name="liuyang"
        print(name)
        def mulige():
            name="huzhihua"
            print(name)
        print(name)
        mulige()
    liuyang()
    print(name)

name1()
# 结果
# huang
# liuyang
# liuyang
# huzhihua
# huang

#global全局变量
name ="yangzi" def weihou(): name="chenzhuo" def weiweihou(): global name name="lengjin" weiweihou() print(name) print(name) weihou() print(name) # 结果 # yangzi # chenzhuo # lengjin
# nonlocal上一级变量
name ="yangzi"
def weihou():
    name="chenzhuo"
    def weiweihou():
        nonlocal name
        name="lengjin"
    weiweihou()
    print(name)
print(name)
weihou()
print(name)

# 结果
# yangzi
# lengjin
# yangzi

风湿理论

 未看05 python s3 day15 风湿理论之函数即变量.ev4

函数递归

函数内部调用函数

 

 

猜你喜欢

转载自www.cnblogs.com/ppll/p/11545431.html