코딩 = 프로그래밍 = 프로그램을 만드는 작업
프로그램
- 컴퓨터가 이해할 수 있는 언어를 사용해서 어떤 문제를 해결하는 것
- 미리 정해놓은 것
- 위에서부터 하나씩 명령어를 실행
- 기본 구성 : 순차/선택/반복
- 순차 : 위에서부터 명령어를 실행
- 선택 : y/n 분기
- 반복 : 같은 명령을 반복
파이썬 배워야하는 이유
1. 쉽다.(다른 언어에 비해서) 간결하다.
2. 모토 - 어떤 문제를 해결하기 위해 답은 1가지가 있다.
3. 빠르다 - 실행속도가 빠른 게 아니라 빠르게 개발할 수 있다.
있는 바퀴를 만들지 마라(이미 만들어진 라이브러리를 가져다 쓰라)
-> 입출력
- print
- input
- http://www.pythontutor.com/
-> 변수
- 숫자로 시작X, 띄어쓰기X,
한글 가능(유니코드 방식을 사용하기 때문에 한글 변수명도 지원)
, 대소문자 구분O
- type(변수명) - type 체크 가능
-> 데이터타입
- 정수형, 실수형, 문자형, 불린형
- 리스트(값변경O), 튜플(값변경X), 딕셔너리
- 자료형변환 - int(), float(), str(), list()
-> 문자열(string)
- 같은 따옴표를 세 번씩 쓰면 여러 줄을 표현가능
>>> my_str = """버스
지하철
택시
"""
>>>my_str
버스\n지하철\n택시
- %s(문자열), %f(실수), %d(정수)를 이용하여 문자열 포맷팅
>>> print('%d %d' % (1, 2))
1 2
- '{ }'.format() - % 연산자보다 파이썬스러운 방법
>>> 'My name is {}'.format('조희진')
'My name is 조희진'
>>> print('{} x {} ={}'.format(2, 3, 2 * 3))
2 x 3 = 6
>>> print('{1} x {0} ={2}'.format(2, 3, 2 * 3)) # 괄호 안의 숫자는 순서를 지정
3 x 2 = 6
- 인덱싱
>>> my_name = '김왼손의 왼손코딩'
>>> my_name[3]
의
>>> my_name[8]
딩
>>> my_name[-1] #가장 뒤의 값을 -1부터 해서 거꾸로 셈
딩
-슬라이싱 * 기존 문자열은 그대로 두고 복사해서 사용
>>> my_name = '김왼손의 왼손코딩'
>>> print(my_name[5:7])
왼손
>>> my_name[:2] #앞이나 뒤 숫자 생략 가능
김왼
>>> my_name[7:]
코딩
- 이스케이프 코드 (\n, \t)
>>> print('집단지성', end='/')
집단지성/
>>> print('집단지성', end='미운코딩새끼')
집단지성미운코딩새끼
>>> print('미운', end='\t'); print('코딩', end='\t')
미운 코딩
-> 리스트(list)
- immutable - 값 변경 X
- mutable - 값변경 O
>>> students = ['Tom', 'Alice', 'Sally']
>>> students.append('Betty')
>>> students.append('Angela')
>>> print(students)
['Tom', 'Alice', 'Sally', 'Betty', 'Angela']
-append, insert, pop ...
- 인덱싱, 슬라이싱 문자열과 동일
- 튜플(tuple) - 값 변경 X
>>> my_tuple = (1,2,3)
>>> my_tuple = 1,2,3 # 괄호 생략 가능
>>> my_tuple
(1, 2, 3)
- 패킹, 언패킹
>>> my_tuple = 1,2,3
>>> num1, num2, num3 = my_tuple
>>> num1
1
>>> num2
2
>>> num3
3
- 오른쪽에서 패킹이 되고 왼쪽에서 언패킹됨(두변수값을 서로 바꿀때)
>>> num1, num2 = num2, num1
>>> num1
2
>>> num2
1
'언어 > Python' 카테고리의 다른 글
[프로그래머스 알고리즘 Kit] 스택/큐 - 다리를 지나는 트럭 (0) | 2023.11.05 |
---|---|
[프로그래머스 알고리즘 Kit] 스택/큐 - 주식가격 (0) | 2023.10.30 |
[Leetcode] 이중연결리스트 - Design Browser History (0) | 2023.10.26 |
이중연결리스트(Doubled Linked-List) 구현 (0) | 2023.10.24 |
[김왼손의 왼손코딩] 파이썬 기초강의(2) (0) | 2023.10.18 |
댓글