Python의 아주 기초적인 문법과 알고리즘 풀이 위주의 공부 기록
나는 이번에 Python을 태어나서 처음 만져봤다.
주로 사용한 언어가 C와 Java, Pascal인 입장에서, Python은 꽤 신선하게 다가왔다.
- Python은 인터프리터 언어이다.
- 인터프리터를 직접 실행하면 실시간으로 작성한 코드의 결과물을 볼 수 있다.
main()
함수 없이 프로그램을 작성한다.- 덕분에 알고리즘 문제 풀이를 할 때, 타 언어에 비해 코드가 정말 짧아보이는 효과가 있다.
- 문법 또한, 타 언어에 비해서 간결한 편이다.
- 코드 블록을 들여쓰기로 구성한다.
- 이 부분이 정말 신선했고..
적응이 정말 안된다.
- 이 부분이 정말 신선했고..
- 세미콜론
;
을 쓰지 않는다.
공부한 Python 문법들
console 입력 받기
#문자 입력받기
S = input()
#숫자 입력받기
I = int(input())
#공백으로 구분하여 값 2개 이상 입력받기 ex) 5 10 => A=5, B=10
A, B = map(int, input().split())
#int 타입 List로 입력 받기
inputs = list(map(int, input().split()))
console 출력하기
#출력
print('Hello Python!')
#변수(객체) 출력
A = 10
B = 'Clover'
print(A, B)
"""
출력:
10 Clover
"""
#개행 출력
A = 10
B = 'Clover'
C = 'Coding'
print(A, B, C, sep='\n')
"""
출력:
10
Clover
Coding
"""
#range()를 list 타입으로 출력
z = range(1, 3)
print(list(z))
"""
출력:
[1, 2]
"""
#ASCII 변환
print(ord('A')) #출력: 65
print(chr(65)) #출력 : A
변수(객체) 선언 & 접근 방법
# Int, String등의 일반적인 자료 타입을 명시할 필요가 없다.
A = 10 #Int
B = 'Clover' #Stirng
print(B[0]) # 출력 : C
print(B[2]) # 출력 : o
# List type
numbers = []
# 10칸짜리 List 선언과 동시에 값을 1로 초기화.
outputs = [1] * 10
조건문
# if문
if True and False:
...
...
elif True or False:
...
...
elif (True and True) or (True and False):
...
...
else:
...
...
# switch..case문
# 은 없다.
# 애초에, 개발자로 하여금 if문을 case문과 비슷하게 읽히도록 설계했기 때문에 case문을 지원하지 않는것이 아닐까??
# 라는 생각이 든다.
반복문
# for문
## 0부터 9까지 반복하며 출력
for i in range(0, 10):
print(i)
## List의 요소를 전부 반복하며 출력
outputs = ['Clover', 123, 'Coding']
for i in outputs:
print(i)
"""
출력 :
Clover
123
Coding
"""
## List의 요소 중 일부만 반복
numbers = [1, 2, 3, 4, 5]
### [1]부터 끝까지
for i in numbers[1:]:
print(i) #2,3,4,5 출력
### 처음부터 [1]까지
for i in numbers[:2]:
print(i) #1,2 출력
### [1]부터 [2]까지
for i in numbers[1:3]:
print(i) #2,3 출력
## range() 사용법
### 0부터 9까지
a = range(10)
### 2부터 9까지
b = range(2, 10)
### 0부터 9까지 2씩 증가
c = range(0, 10, 2) #[0, 2, 4, 6, 8]
# while문
## 0부터 9까지 출력
val = 0
while val < 10:
print(val)
val += 1
요 며칠간, Java로 풀었던 백준 알고리즘 문제들을 Python으로 풀어보면서, 아주 기초적인 문법들을 학습하고 정리해보는 시간을 가졌다.
Python은 Java에 비해 문법이 아주 간결하다.
특히 형변환이나, 입력받는 숫자나 문자들을 배열로 전환하는 부분에서 코드 길이 측면에서 이득을 엄청 많이 본다고 느꼈다.
어쨌든, 나는 대학 강의때문에 Python을 학습하고 있는 중이기 때문에.. 문법만 확실하게 알고 넘어가면 되므로, 앞으로도 알고리즘 문제 풀이 위주의 WIL을 작성하려고 한다.
문법 공부도 하고, 알고리즘 문제도 풀고 일석이조
'Python' 카테고리의 다른 글
[WIL] Python #3 (0) | 2022.06.30 |
---|---|
[WIL] Python #2 (0) | 2022.06.29 |