2020Python练习11——命名空间和作用域

@2020.3.19

# 作业要求:下述所有代码画图以及分析代码执行流程

# 1、以定义阶段为准,先画出名称空间的嵌套关系图(名称空间只有优先级之分,本身并无嵌套关系,画图只是为了理解

# 2、然后找到调用函数的位置,写出函数调用时代码的执行过程,涉及到名字的查找时,参照1中画好的嵌套图,标明查找顺序,一层一层直到找到位置


# ===================题目一===================
input=333


def func():
      input=444


func()
print(input)

# ===================题目二===================
def func():
      print(x)
x=111

func()


# ===================题目三===================
x=1
def func():
        print(x)


def foo():
      x=222
      func()

foo()

 

# ===================题目四===================
input=111
def f1():
       def f2():
              # input=333
              print(input)
       input=222

      f2()

input=333

f1()

 

# ===================题目五===================
x=111
def func():
      print(x) 
      x=222

func()

该题有语法错误,x要先定义,才能使用

正确版本:

x=111
def func():     
      x=222

      print(x) 

func()


# ===================题目六===================
x=111

def foo():
print(x)

def bar():
print(x)

foo()
bar()

 

 

# ===================题目七===================
x=1
def func2():
      func1()

x=2

def func1():
      print(x)

x=3

func2()

 

 

暂略——练功ing

# ===================题目八===================
1、如下全局变量记录了当前登录用户,编写登录功能,一旦用户登录成功,则将全局变量赋值为当前登录的用户名
login_user=None 


2、针对之前编写的查询余额的功能,添加额外的逻辑:如果用户没有登录,则先执行登录功能

 

posted @ 2020-03-19 21:16  bigorangecc  阅读(293)  评论(0编辑  收藏  举报