파이썬 기초 - 기능 영역

기능

Function 객체

  • 기능은 일류 객체
  • 함수 이름이 있습니다 참조 할 수
  • 함수 이름으로 사용할 수있는 매개 변수 사용하기
  • 함수 이름은 다음과 같이 사용할 수있는 반환 값의 사용
  • 함수 이름으로서 사용될 수있는 컨테이너 타입 요소

중첩 된 기능

  • 중첩 호출 : 함수 내부 함수를 호출

  • 중첩 정의 : 함수는 함수 내부에서 정의

네임 스페이스

저장 변수의 이름 으로 나누어 공간, 내장 된 네임 스페이스 , 글로벌 네임 스페이스 , 로컬 이름 공간

  • 내장 네임 스페이스 : 파이썬, 사전에 정의 된 이름은,이 내장되어 공간. 예를 들어 키워드, 내장 방법

  • 글로벌 네임 스페이스 : 파일 수준 이름에 저장 글로벌 이름 공간입니다

    IF / 그동안 / 위해 내부적으로 정의 의 이름으로 실행 한 후 글로벌 이름 공간에 저장됩니다

    # if 的示例:
    var = 4
    if var > 5:
        var = "var 大于5"
    else:
        var = "var 小于等于5"
    print(var)        # 打印结果:var 小于等于5
    
    # while 的示例:
    num = 0
    while num <= 3:
        num += 1
    print(num)        # 打印结果:4
    
    # for 的示例
    for i in range(2):
        pass
    print(i)      # 打印结果:1
  • 로컬 이름 공간 : 내부 함수의 정의는 모든 이름은 내장 된 네임 스페이스 기능은 현재에 저장됩니다

당신이 변수 값에 액세스하려면 먼저 이름과 변수의 메모리 주소의 이름과 값 사이의 관계에 해당 이름 공간, 액세스에 액세스해야합니다.

라이프 사이클

  • 내장 네임 스페이스 : 파이썬 인터프리터 를 시작 시행한다, 폐쇄 실패
  • 글로벌 네임 스페이스 : 현재 파이썬 파일 강제로 실행, 실행의 실패 후
  • 로컬 네임 스페이스 : 함수 호출시에, 효력이 함수 본문 코드 의 끝에 경과

순서를 찾기

  • 지역 이름 : 지역 지구 내장 함수

  • 글로벌 이름 : 글로벌 내장

    내장 오류 다시 찾을 수 없습니다

  • 내부 기능 에 사용되는 이름 정의 단계 와, 죽은 지정되어 위치를 호출하는 것도

범위

  • 글로벌 범위 : 글로벌 캔 호출 이름은 전역 범위에 존재합니다. 내장 네임 스페이스와 글로벌 네임 스페이스 여기에 속한다
  • 지역 범위 : 지역이 이름이 로컬 범위에 존재 호출 할 수 있습니다. 여기에 속한 로컬 이름 공간

  • 회사 무료 가입 다음 로컬 네임 스페이스 변수로 선언 된 전역 변수

    참고 : 회사 무료 함수 내에서 선언에 참여 함수 외부 문, 함수가 여전히 작동하지 않으면,

    # 这种情况不能修改x1的值
    x1 = 1
    def func1():
        x1 = 2
    func1()
    print(x1)  # 打印结果:1
    
    # 使用global 后,可以修改x2的值
    x2 = 1
    def func2():
        global x2 # 先声明成全局变量
        x2 = 2
    func2()
    print(x2) # 打印结果:2
    
    # global 若在函数外声明,无法操作变量
    global x3
    x3 = 1
    def func2():
        x3 = 2
    func3()
    print(x3) # 打印结果:1
  • 로컬이 아닌 :에서 로컬 네임 스페이스 선언의 로컬 변수를 .

    비 로컬 변수 선언 후에 변수를 찾아 현재 함수의 함수의 외부 층으로부터 시작한다. 가장 바깥 쪽 함수에 대한 모든 방법을 찾을 수없는 경우 예외가 발생합니다.

    def f3():
        x = 4
        def f1():
            y = 2
            def f2():
                nonlocal x
                x = 3
            f2()  # 调用f2(),修改f1作用域中名字x的值
            print(x)  # 在f1作用域查看x。打印结果:3
        f1()
        print(x)  # 打印结果:3
    f3()
    def f3():
        x = 4
        def f1():
            x = 2
            def f2():
                nonlocal x
                x = 3
            f2()  # 调用f2(),修改f1作用域中名字x的值
            print(x)  # 在f1作用域查看x。打印结果:3
        f1()
        print(x)  # 打印结果:4
    f3()

추천

출처www.cnblogs.com/xiaodan1040/p/11837506.html