백엔드 개발 파이썬 튜토리얼 Python 모듈 데이터는 어디에서 오는가?

Python 모듈 데이터는 어디에서 오는가?

Jun 17, 2019 am 09:23 AM
python

파이썬의 모듈 데이터는 어디에서 오는가? 먼저 파이썬이 이 패키지 모듈을 어떻게 찾는지 알아야 합니다. 그러면 네임스페이스 개념을 좀 더 깊이 이해하면 파이썬의 모듈 데이터가 어디서 오는지 알 수 있습니다. .

Python 모듈 데이터는 어디에서 오는가?

검색 경로

모듈을 가져올 때 Python 파서는 다음을 검색합니다. 모듈 위치 검색 순서는

1입니다. 현재 디렉터리

2이면 Python은 쉘 변수 아래의 모든 디렉터리를 검색합니다. 파이썬패스.

3. 찾을 수 없으면 Python은 기본 경로를 확인합니다. UNIX에서 기본 경로는 일반적으로 /usr/local/lib/python/입니다.

모듈 검색 경로는 시스템 모듈의 sys.path 변수에 저장됩니다. 변수에는 현재 디렉터리인 PYTHONPATH와 설치 프로세스에서 결정된 기본 디렉터리가 포함됩니다.

네임스페이스 및 범위

변수는 일치하는 개체를 보유하는 이름(식별자)입니다. 네임스페이스는 변수 이름(키)과 해당 개체(값)를 포함하는 사전입니다.

Python 표현식은 로컬 네임스페이스와 전역 네임스페이스의 변수에 액세스할 수 있습니다. 지역 변수의 이름이 전역 변수와 동일한 경우 지역 변수가 전역 변수를 덮어씁니다.

각 함수에는 고유한 네임스페이스가 있습니다. 클래스 메소드의 범위 지정 규칙은 일반 함수의 경우와 동일합니다.

Python은 함수 내에 할당된 변수가 로컬이라는 가정하에 변수가 로컬인지 전역인지 지능적으로 추측합니다.

따라서 함수 내에서 전역 변수에 값을 할당하려면 전역 문을 사용해야 합니다.

global VarName의 표현식은 Python이 VarName이 전역 변수임을 알려주므로 Python은 로컬 네임스페이스에서 이 변수를 찾지 않습니다.

예를 들어 전역 네임스페이스에 Money 변수를 정의합니다. 그런 다음 함수 내 변수 Money에 값을 할당하면 Python은 Money가 지역 변수라고 가정합니다. 그러나 로컬 변수 Money에 액세스하기 전에 이를 선언하지 않았으며 결과는 UnboundLocalError입니다. 이 문제는 global 문 앞에 있는 주석을 취소하면 해결될 수 있습니다.

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
Money = 2000
def AddMoney():
   # 想改正代码就取消以下注释:
   # global Money
   Money = Money + 1
 
print Money
AddMoney()
print Money
로그인 후 복사

위 내용은 Python 모듈 데이터는 어디에서 오는가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

DeepSeek Xiaomi를 다운로드하는 방법 DeepSeek Xiaomi를 다운로드하는 방법 Feb 19, 2025 pm 05:27 PM

DeepSeek Xiaomi를 다운로드하는 방법

템플릿의 장점과 단점은 무엇입니까? 템플릿의 장점과 단점은 무엇입니까? May 08, 2024 pm 03:51 PM

템플릿의 장점과 단점은 무엇입니까?

Google AI, 개발자를 위한 Gemini 1.5 Pro 및 Gemma 2 발표 Google AI, 개발자를 위한 Gemini 1.5 Pro 및 Gemma 2 발표 Jul 01, 2024 am 07:22 AM

Google AI, 개발자를 위한 Gemini 1.5 Pro 및 Gemma 2 발표

단 250달러에 Hugging Face의 기술 디렉터가 Llama 3를 단계별로 미세 조정하는 방법을 알려드립니다. 단 250달러에 Hugging Face의 기술 디렉터가 Llama 3를 단계별로 미세 조정하는 방법을 알려드립니다. May 06, 2024 pm 03:52 PM

단 250달러에 Hugging Face의 기술 디렉터가 Llama 3를 단계별로 미세 조정하는 방법을 알려드립니다.

여러 .NET 오픈 소스 AI 및 LLM 관련 프로젝트 프레임워크 공유 여러 .NET 오픈 소스 AI 및 LLM 관련 프로젝트 프레임워크 공유 May 06, 2024 pm 04:43 PM

여러 .NET 오픈 소스 AI 및 LLM 관련 프로젝트 프레임워크 공유

golang 함수 디버깅 및 분석에 대한 완벽한 가이드 golang 함수 디버깅 및 분석에 대한 완벽한 가이드 May 06, 2024 pm 02:00 PM

golang 함수 디버깅 및 분석에 대한 완벽한 가이드

당신은 그에게 Deepseek에게 어떻게 물어 봐요 당신은 그에게 Deepseek에게 어떻게 물어 봐요 Feb 19, 2025 pm 04:42 PM

당신은 그에게 Deepseek에게 어떻게 물어 봐요

평가 기능을 저장하는 방법 평가 기능을 저장하는 방법 May 07, 2024 am 01:09 AM

평가 기능을 저장하는 방법

See all articles