파이썬 노트(5)
하나.간단한 소개
모듈은 기본적으로 당신이 정의한 함수와 변수를 모두 포함하는 파일입니다.다른 프로그램에서 모듈을 다시 사용하기 위해서는 모듈의 파일 이름이
.py
로 확장되어야 합니다.예를 들면 다음과 같습니다.
#!/usr/bin/python # Filename: using_sys.py import sys print 'The command line arguments are:' for i in sys.argv: print i print '/n/nThe PYTHONPATH is', sys.path, '/n'
출력:
$ python using_sys.py we are arguments The command line arguments are: using_sys.py we are arguments The PYTHONPATH is ['/home/swaroop/byte/code', '/usr/lib/python23.zip', '/usr/lib/python2.3', '/usr/lib/python2.3/plat-linux2', '/usr/lib/python2.3/lib-tk', '/usr/lib/python2.3/lib-dynload', '/usr/lib/python2.3/site-packages', '/usr/lib/python2.3/site-packages/gtk-2.0']
둘.바이트는 컴파일했다.pyc 파일
하나의 모듈을 입력하는 것은 상대적으로 시간이 많이 걸리는 일이기 때문에 Python은 입력 모듈을 더욱 빨리 하기 위해 몇 가지 기술을 했다.한 가지 방법은 바이트 컴파일된 파일을 만드는 것입니다. 이 파일들은
.pyc
확장자로 되어 있습니다.바이트가 컴파일된 파일은 Python 변환기의 중간 상태와 관계가 있습니다.다음에 다른 프로그램에서 이 모듈을 입력할 때 .pyc
파일은 매우 유용하다. 일부 입력 모듈에 필요한 처리가 이미 끝났기 때문이다.또한 이 바이트로 컴파일된 파일도 플랫폼과 무관하다.셋.from..import 문
프로그램에 변수를 직접 입력하려면
argv
문장을 사용할 수 있습니다.모든 from sys import argv
모듈에 사용할 이름을 입력하려면 sys
문장을 사용할 수 있습니다.이것은 모든 모듈에 적용된다.일반적으로 말하면 from sys import *
를 사용하지 않고 from..import
문장을 사용해야 한다. 왜냐하면 이것은 당신의 프로그램을 더욱 쉽게 읽을 수 있고 명칭의 충돌도 피할 수 있기 때문이다.넷.모듈의name__
모듈마다 하나의 명칭이 있는데 모듈에서 문장을 통해 모듈의 명칭을 찾을 수 있다.하나의 모듈이 처음 입력되었을 때, 이 모듈의 메인 블록은 실행될 것이다.만일 우리가 프로그램 자체가 사용될 때만 주 블록을 실행하고 다른 모듈에 입력될 때 주 블록을 실행하지 않으려면 모듈의 를 통해name__속성이 완성되었습니다.
#!/usr/bin/python # Filename: using_name.py if __name__ == '__main__': print 'This program is being run by itself' else: print 'I am being imported from another module'
출력:
$ python using_name.py This program is being run by itself $ python >>> import using_name I am being imported from another module >>>
모든 Python 모듈은
import
이 있는데 __name__
라면 이 모듈이 사용자에게 단독으로 실행되고 우리는 해당하는 적절한 조작을 할 수 있다는 것을 의미한다.오.자체 제작 모듈
예를 들면 다음과 같습니다.
module 쓰기
#!/usr/bin/python # Filename: mymodule.py def sayhi(): print 'Hi, this is mymodule speaking.' version = '0.1' # End of mymodule.py
사용하다
#!/usr/bin/python # Filename: mymodule_demo.py import mymodule mymodule.sayhi() print 'Version', mymodule.version
출력:
$ python mymodule_demo.py Hi, this is mymodule speaking. Version 0.1
여기서도 프롬...import에서 호출
예를 들면 다음과 같습니다.
#!/usr/bin/python # Filename: mymodule_demo2.py from mymodule import sayhi, version # Alternative: # from mymodule import * sayhi() print 'Version', version
출력이 같습니다.
여섯.dir () 함수
모듈이 정의한 표지부를 표시하기 위해 내장된
'__main__'
함수를 사용할 수 있습니다.표지부호에는 함수, 클래스와 변수가 있다.예를 들면 다음과 같습니다.
$ python >>> import sys >>> dir(sys) # get list of attributes for sys module ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__', '__stdin__', '__stdout__', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getrecursionlimit', 'getrefcount', 'hexversion', 'maxint', 'maxunicode', 'meta_path','modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'version', 'version_info', 'warnoptions'] >>> dir() # get list of attributes for current module ['__builtins__', '__doc__', '__name__', 'sys'] >>>>>> a = 5 # create a new variable 'a' >>> dir() ['__builtins__', '__doc__', '__name__', 'a', 'sys'] >>>>>> del a # delete/remove a name >>>>>> dir() ['__builtins__', '__doc__', '__name__', 'sys'] >>>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.