본문 바로가기
언어/Python

[김왼손의 왼손코딩] 파이썬 기초 강의(1)

by 횰쓰 2023. 10. 16.

코딩 = 프로그래밍 = 프로그램을 만드는 작업

프로그램 
- 컴퓨터가 이해할 수 있는 언어를 사용해서 어떤 문제를 해결하는 것
- 미리 정해놓은 것
- 위에서부터 하나씩 명령어를 실행
- 기본 구성 : 순차/선택/반복
   - 순차 : 위에서부터 명령어를 실행
   - 선택 : 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

댓글