본문 바로가기
생산성 UP/파이썬

문과생의 파이썬 공부_#2. 파이썬 기본문법, 자료유형

by 하찮이 2020. 8. 10.

 

시작은 저번처럼 혼네의 Day 1 ◑으로.

 

youtu.be/hWOB5QYcmh0

 

왜냐하면 여기까지가 첫 날 공부한 내용이뉘까^^

 

 

 

 

문과생의 빈곤한 코딩 상상력을 배려하지 않는 무자비한 쌤 덕분에 웃음기 쫙 빼고 공부만 하다 왔다. 파이썬 계의 밥 선생님 같으심. 참 쉽죠? 넘어갈게요~~.

 


파이썬 기본 문법

변수(variable) 이름 생성 시 규칙: 영문 문자, 숫자 사용 가능. 언제든지 값과 자료유형이 변할 수 있음.

* 대소문자 구분함

* 영문 문자 혹은 밑줄 기호(_)로 시작해야 함(숫자부터 시작 불가)

* 특수문자 사용 불가  예) +, -, / 등

* 파이썬의 고유 키워드 사용 불가  예) if, for, and 등


들여쓰기: tab키 이용. 파이썬 기본 문법으로, 강제성 있음. 
 예) if 다음 문장은 항상 들여쓰기해야 함. 하지 않을 경우 indentation 에러 뜸


# : 주석. # 기호 이후에 쓴 말은 프로그램 실행에 영향 주지 않음. 코드에 대한 설명 기입용.
 * 여러 줄을 동시에 주석으로 변경하고 싶다면 영역 선택 후 Ctrl + /


사칙연산+(더하기), -(빼기), *(곱하기), /(나누기)를 쓰며, 우선순위(따로 괄호가 없을 경우 곱셈, 나눗셈을 덧셈, 뺄셈보다 먼저 계산) 판단함.

% : 나눗셈을 한 후 나머지를 구하는 연산자.

* 반복문(if, for) 에서 자주 활용함

// : 정수끼리의 나눗셈 결과를 정수로 나오게 하는 연산자


int(숫자/계산식/문자열) : 값을 정수로 만들기

float(숫자/계산식/문자열) : 값을 실수로 만들기


type() : 괄호안 객체의 자료 유형을 알아내는 함수


== : 좌우변이 같다는 의미의 불(boolean) 언어

!= : 좌우변이 같지 않다는 의미의 불(boolean) 언어

* 둘 다 if, while 구문 작성할 때 자주 사용


and : '그리고'라는 뜻의 논리 연산자.

* 앞, 뒤 조건 모두 참일 때만 True 값이 나옴

or : '또는' 이라는 뜻의 논리 연산자.

* 앞, 뒤 조건 중 하나라도 참이면 True 값이 나옴


print() : 괄호 안 특정 문자열, 변수 등을 출력하는 함수

 

 

 

 

 


파이썬 자료유형(type)

 

list 리스트 : 배열 형태의 자료로,  순서가 있음. 중복 가능. 값을 관리하기 편하다는 장점 있음. 

생성방법은 값(요소)을 대괄호를 씌우고, 쉼표로 자료 구분해서 입력

예) list_a = [1, "AAA", 2, 3, 5, 1, True, 6, 7, 8, 9, 10]

* 인덱스는 0부터 시작. 위의 예시에서 index 0은 1, index 1은 "AAA"이다.

* 마이너스 인덱스 번호는 맨 마지막부터 거꾸로 시작한다. 위의 예시에서 index -1은 10, index -2는 9이다.

 

리스트명.append() : 리스트에 요소를 추가하는 함수

리스트명.insert(위치, 요소) : 리스트의 특정 위치에 요소를 추가하는 함수

리스트와 리스트의 결합 : + 연산자 사용

예) list_c = list_a + list_b

del 리스트명[index] : 요소의 형태가 아닌 인덱스 번호를 기준으로 삭제

리스트명.pop[index] : del 리스트명[index] 함수와 비슷. 매개변수 미입력 시 마지막 요소 제거

리스트명.remove(값) : 인덱스 참조가 아니라 값을 가지고 삭제

리스트명.clear() : 리스트 내부 요소를 전부 제거

in 리스트명 : 특정값이 내부에 있는지 확인하는 연산자

not in 리스트명 : 특정값이 내부에 없는지 확인하는 연산자

list_e = [3, 5, 99, 0]
status = 3 in list_e
print(status)
status = -99 not in list_e
print(status)

 # status값은 T/F로만 나옴

list(range(stop)) : stop지점으로 지정된 숫자 직전까지 연속된 숫자를 저장하고 있는 리스트 생성

list(range(start, stop)) : start 지점으로 지정한 숫자부터 stop 지점 숫자 직전 숫자까지 연속된 숫자를 저장하고 있는 리스트 생성

* range함수는 0부터 시작함.


set 집합 : 중복 불가. 순서가 없음. set(값, 값, 값) 으로 생성.

예) x = set("hello")

 

집합명.remove() : 집합의 원소를 제거하는 함수

집합명.clear() : 집합의 모든 원소를 제거

 

합집합 : 집합명1 | 집합명2 또는 집합명1.union(집합명2)

차집합 : 집합명1 - 집합명2 또는 집합명1.difference(집합명2)

교집합 : 집합명1 & 집합명2 또는 집합명1.intersection(집합명2)


dict 딕셔너리 : 사전에서 단어를 찾듯이 값을 가져올 수 있음. 값의 순서 상관없음. 키 : 값의 조합을 중괄호로 씌우고, 쉼표로 각 자료를 구분함.

예) 딕셔너리명 = {키 : 값, 키 : 값, 키 : 값}

예) {"ㄱ":"감자", "ㄴ":"나초", "ㄷ":'다람쥐'}에서 ㄱ, ㄴ, ㄷ은 key(색인)이고 감자, 나초, 다람쥐는 value(값)임.


dict[키] = 값 : 특정 키에 대응되는 기존 값을 수정하거나, 없던 요소(키+값)를 추가할 때 사용

키 in 딕셔너리명 : 특정 키가 딕셔너리에 있는지 확인할 때 in을 사용
del dict[키] : 키를 기준으로 특정 요소(키+값)을 삭제

dict.get(키) : 키를 기준으로 값을 추출. 단 존재하지 않은 키일 경우, 에러가 아닌 None(없음)을 출력함


tuple 튜플 : 읽기전용 자료라서 변형(변경, 추가, 삭제) 불가. 변수에 값을 저장할 때 괄호로 묶어주거나 그대로 넣어주면 됨.
예) a = (3,4,5,6) 또는 a = 3, 4, 5, 6

 

 

댓글