# Python 언어 Syntax 요약(feat. Java)
간략히 Java를 기준으로 염두해 두어야 할 것들을 정리해본다.
0. 주석(comment)
의미 |
Python |
비고 |
한줄 주석 |
# Python |
// Java |
여러줄 주석 |
''' Python ''' """ Python """ |
/* Java */ |
1. 연산자(Operator)
의미 |
Python |
비고 |
덧셈, 뺄셈, 곱셈 나눗셈 등 아래 나열되지 않는 대부분의 것들 |
Java와 동일 - 나눗셈을 하면 Float이 된다. Java처럼 int로 나오고 싶으면 // 이렇게 두번 쓰면 된다. |
|
제곱(거듭제곱) |
** 라는 연산기호가 있다. |
Java에서는 Math.pow()를 사용하는 편 |
연산자 Convention |
덧셈, 뺄셈같은 상대적 후순위 계산은 띄어쓰기를 하고 곱셈, 나눗셈은 띄어쓰기 하지 않는다. ex) 1 + 2*3 |
2. 자료형
의미 |
Python |
비고 |
Integer, Float |
Integer, Float으로 double이나 short, char 같은 개념을 통합했다. 하지만 선언시 자료형을 미리 정의하지 않는다. float의 경우는 2진수로 표현할 수 있는 근사값 형태로 저장되는데 이 때문에 10진수를 2진수로 변환할 때 생기는 loss가 있다. ex) 0.1 + 0.1 + 0.1 != 0.3 |
|
Boolean |
대문자로 시작하는 True, False를 쓴다. 하지만 선언시 자료형을 미리 정의하지 않는다. 부정을 표현할때 "!" 대신 "not" 을 쓴다. |
|
String | string(immutable) Java와 달리 ''로도 String을 묶을 수 있다(큰따옴표, 작은따옴표 둘다 동일하게 사용) 특이하게도 string을 곱셈할 수 있는데 "hippo" *3 하면 "hippohippohippo" 가 된다. | |
list | tuple(immutable), list(mutable) 두가지 형태가 built-in으로 존재한다. - 서로 형변환 할 수 있다. 1. list - list[start_index : end_index] 라는 구역의 개념으로 slicing과 replacing이 가능하다 - list의 요소를 쉽게 찾아볼 수 있다. ex) if a in some_list: 2. tuple - return 인자가 여러개 일때 이 형태로 보내주는 것이고 이렇게 Unpacking이 쉽다. | Linked-list가 속도가 낫냐 Array-list가 낫냐 같은 결정은 그리 중요하지 않다는 뜻인가 보다... |
Set | set 라는 명칭으로 built-in 되어 있다. list처럼 for 문을 돌 수 있다. ex) for item in set: | 이제 어떤 Set을 쓰느냐는 중요하지 않은 것이다... |
Map | dictionary 라는 명칭으로 built-in 되어 있다. list처럼 for 문을 돌 수 있다. ex) for item in set: >> key가 하나씩 된다. | 이제 어떤 Map을 쓰느냐는 중요하지 않은 것이다... |
3. Built-in Method: built-in method로 대부분 해결이 된다.
의미 |
Python |
비고 |
length |
len(): 문자열의 길이, 배열의 길이 등을 잰다 |
|
type check |
type(): 자료형 type을 본다 |
|
type casting | int() 등: 자료형을 casting하고 string -> int 같은 변환도 담당한다. | |
String 변형 | String 내부 method도 있으니 찾아서 활용하면 된다. - .count([찾을단어]): 찾을단어가 몇번 들어갔는지... - etc... | https://docs.python.org/3/library/stdtypes.html#string-methods |
List에서 max/min 값 찾기 | max() / min() | |
정렬 | sorted() | Quick, Merge, Bubble 뭐 이런건 의미 없구나... |
string 배열 하나로 합치기 | [join 할때 사이에 들어갈 string].join([join시킬 string 배열]) ex) "-".join(["This", "is", "Sparta"]) This-is-Sparta - 배열에 int 같은거 들어가 있으면 오류남. string-only list | Java에서는 StringBuilder로 해결했던 편... |
string에 단어 첫글자 대문자로 변경 | [space가 들어간 string].title() ex) "first last".title() First Last |
4. 조건문, 반복문, brace: 이것은 예제를 보는것이 낫다.
의미 |
Python |
Java |
brace |
특정 조건에 대한 ":" 그 밑의 탭(Indentation) 들어간 것으로 구분 |
{}로 묶음 |
if |
if [조건]: |
if ([조건]) |
for |
for item in input_list: for i in range(100): |
for each 처럼 쓰거나 for (int i = 0; i < 100; i++) 처럼 쓰거나... |
Reference:
- Introduction to Python: https://www.udacity.com/course/introduction-to-python--ud1110
'Program Languages > Python' 카테고리의 다른 글
자주 쓸 것 같은 Third-party packages 메모 (1) | 2017.11.03 |
---|---|
자주 쓸 것 같은 Python Standard libraries 메모 (0) | 2017.11.03 |
virtualenv에 OpenAI gym 설치하기(MAC OS) (0) | 2017.10.23 |
virtualenv에 matplotlib 설치하기(MAC OS) (1) | 2017.06.20 |
virtualenv 독립환경 Pycharm과 연결시키기 (0) | 2017.06.13 |