Python을 사용해야할 일이 생겨서 공부를 시작했다.
기존에는 Java와 C를 주로 사용해왔는데 이것들과 비교할 때 장점도 있고 단점도 있다.
http://pythonstudy.xyz/python/article/1-Python-%EC%86%8C%EA%B0%9C 를 통해 Python을 공부중이며, 여기에 Python에서 처음 접한 개념들을 정리하려한다.
-----------------------------------------------------------
기본 데이터 타입
- int : 정수
- float : 소숫점을 포함한 실수
- bool : true/false
- None : null과 비슷한 개념
Range(start,stop,step)
- start에서 stop-1까지 step간격으로 값을 리턴
FunctionName (*_____)
- * : 가변길이 파라미터임을 암시
Switch
- if / elif / else
Pass
- if문 속에서 특정부분을 실행하지 않게함.
List/Tuple
- List : 값 변경가능, [ ]
- Tuple : 값 변경불가능, ( )
a, b = func(_, _)
- func함수의 리턴값 중 첫번째를 a, 두 번째를 b에 저장.
Self
- java에서의 this와 같음.
- Python은 기본적으로 모든 멤버가 Public.
- Private화 하려면 변수명 앞에 언더바(_)를 2개 붙임.
Method
- 정적 : @staticmethod
- 클래스 : @classmethod, self대신 cls를 사용.
- 일반
사용자 정의 Exception
- raise Exception ('description')
- java의 throw.
with
- open('file address', 'r') as 별명
- C#의 using과 유사. 어떤 Exception이 발생해도 블럭 종료시 리소스를 해제함.
Unittest
- unittest 모듈 import
- 클래스 생성 매개변수로 unittest.TestCase
- test_ 로 시작하는 method 생성
- 전처리, 후처리 필요시 SetUp(), TearDown()함수 사용
위 두 함수를 Test Fixture라고 칭함.(Fixture : 각각의 TestCase실행 전후에 실행됨)
Comprehension(직역: 이해력, 이해하여 얻은 지식)
- List Comprehension : newlist = [ i*i for i in oldlit if type(i)==int ]
- Set Comprehension : 위 문장의 결과가 결과가 Set으로 반환됨. { }
- Dictionary Comprehension : name_id = { val:key for key,val in id_name.items()}
dict로 리턴됨
Integrator
- mylist = [1,2,3] -> it=iter(mylist) -> next(it) 호출시 1, 2, 3순서대로 리턴됨
- next(it)를 호출했으나 값이 없는경우 StopIteration Exception이 리턴됨
- 클래스는 해당 Class의 iterator를 리턴하는 1) __iter__()메서드를 작성하고 2) __next()__메서드를 구현해야 하며 3) raise StopIteration Exception 구문을 삽입해야함.
Generator
- 내부의 갑시 yield로 구분됨.
- 이전에 호출된 yield의 위치를 기억하고, 다음 위치를 리턴함
Thread
- threading.Thread() 호출
- Thread.start()
- t=threading.Threea(target=sum, args=(1,1000)) -> sum에 (1,1000)값 전달.
+) Garbage Collection 존재함/ 다중상속 가능 ex) 클래스명(부모클래스)
'Programming' 카테고리의 다른 글
[Algorithm] 알고리즘 자료 (0) | 2018.03.26 |
---|---|
[Node.js] NPM/Java Script (0) | 2018.03.26 |
[Node.js] 개요 (0) | 2018.03.26 |
[Python] 모듈 (0) | 2018.03.25 |
고등학교 3년간 배운것 (0) | 2018.02.17 |