Python入门第22课——函数嵌套(只读课堂)

Python入门第22课——函数嵌套(只读课堂)

欢迎来到“只读课堂”!往期课程和Python资料包请找QQ:1649643021,我们的学习交流群:206527832¶

以后,我们将会经常使用Jupyter Notebook(就是现在这个页面)来教学,它的功能和内容更多,也可以帮助我们更直观,更简洁地学习。

In [4]:

#今天我们来学以下函数嵌套,以及需要注意的地方。

函数嵌套

内部函数整个函数体都在外部函数的作用域,如果在外部没有对这个函数的引用,那么除了在函数体内,任何地方都不能调用这个函数。例如:

In [5]:

def func():
    print('1')
    def func2():
        print('2')

In [7]:

#我们在里面定义一个function1:

In [8]:

def func():
    print('func')
    def func1():
        print('func1')

In [9]:

func()
func

In [10]:

func1()
1

In [11]:

#这样我们要做一个前项声明:

In [12]:

def func():
    def func1():
        print('abc')

In [13]:

func()

In [14]:

func1()
1

In [15]:

#虽然我们在这里定义了一个同名的,但是并不是同一个函数。

In [16]:

#接下来我们又要用到global语句:

In [17]:

def func():
    global func():
  File "", line 2
    global func():
               ^
SyntaxError: invalid syntax

In [18]:

#这样它就会说是错误的,我们必需要先定义

In [19]:

def func():
    global func1
    def func1():
        print('abc')

In [20]:

func()

In [21]:

func1()
abc

In [ ]:

#当你要用函数的时候,一定要知道它的函数周期。

In [22]:

#当然我们后期还会有更多更好的办法解决这个问题!

如果我们想使用函数内部定义的func2(),可以采用前项声明的方式。例如:

In [6]:

def func2():
    pass
def func1():
    print('1')
    global func
    def func2():
        print('2')

In [2]:

print("\n本次“只读课堂”的python教程就到这了,欢迎继续收看!\n")
本次“只读课堂”的python教程就到这了,欢迎继续收看!

 

你可能感兴趣的:(Python)