12. Python - import_1

2021. 2. 23. 17:35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Java
#     자기가 작업한거 공유하는 문화
#     클래스명 중복이 생길 수 있다.
#     클래스명이 중복될 때 구분할 수단 : package
#     package명은 전세계적으로 중복 되지 않아야한다.
#     모든 class는 package에 소속되어 있어야한다.
#     패키지명.클래스로 사용
#     같은 패키지 or java.lang 소속 or import 하면 패키지명 생략 가능하다
 
# Python
#     자기가 작업한거 공유하는 문화
#     클래스명 중복이 생길 수 있다.
#     클래스명이 중복될 때 구분할 수단 : package
#     package명 규칙이 없음 -> 난리남
#     클래스를 꼭 package에 넣을 필요도 없음
#     다른 파일을 불러온다면 import는 무조건 해야한다.
 
# Java - package
#     package(필수) 속에 class(필수)
#     java.util.Random r - new java.util.Random();
#     같은 패키지 or java.lang 소속 or import 하면 패키지명 생략 가능하다
#     import는 패키지명을 생략하고 싶을 때 쓰는 옵션사향
 
# Python - package
#     package(필수x) 속에 module 속에 class(필수 x)
#     다른 module에 있으면 import는 필수 사항
 
# 가장 기본 버전
# import animal.pet 
#     import 패키지명.모듈명
#     pet.py의 소스가 이 모듈로 들어옴
# c = animal.pet.Cat("후추", 5)
#     Java의 import와 다르게 Python의 import를 하면 쓸수 있게 됨
#     import 후 패키지명.모듈명.클래스명()으로 불러와야함
 
# 2번째 버전
# import animal.pet as ap
#     import 패키지명.모듈명 as 별명
# c = ap.Cat("후추", 5)
#     별명.클래스명()
# c.printInfo()
 
# 우리가 자주 쓸 버젼
from animal.pet import Cat
# from 패키지명.모듈명 import 가져올 클래스명
= Cat("후추"5)
c.printInfo()
## 만능은 아님
## 클래스 명의 중복이 일어날 경우 가까운 클래스로 이어진다.
## 그럴땐 import animal.pet as ap으로 사용해서 두 클래스를 구분해 줘야한다.
 
from animal.pet import Dog as dd
# from 패키지명.모듈명 import 클래스명 as 별명
# 이렇게 사용 가능하기는 함
 
## Python은 인터프리터 방식의 언어
## Python의 import는 소스가 그대로 들어가는 의미
## 두개의 모듈에서 서로 import가 걸리면 무한 루프가 돌면서 에러가 터져버림
 
cs

'Python' 카테고리의 다른 글

14. Python - 상속, overriding  (0) 2021.02.23
13. Python - import2, if __name__ == "__main__":  (0) 2021.02.23
11. Python - 생성자, 소멸자  (0) 2021.02.23
10. Python - OOP (객체지향)  (0) 2021.02.23
9. Python - 가위바위보 게임  (0) 2021.02.23

BELATED ARTICLES

more