공부 기록/Python

[Python] 2. 파이썬 기본문법_1

햇살아래 2022. 7. 16. 01:28

https://ssun-coding.tistory.com/67

 

[Python] 1. 파이썬 개요 및 기초

01. 파이썬(Python) ❓ 파이썬(Pyhon)이란? 991년 귀도 반 로섬이라는 프로그래머가 개발한 대화형 프로그래밍 언어이다. 사전적인 의미는 비단뱀으로 로고도 파란색과 노란색 비단뱀 두마리가 서로

ssun-coding.tistory.com

 

01. 기본 문법

 

① 변수

👉🏻 변수의 이해

  • 데이터 또는 자료를 담을 수 있는 메모리의 저장장소
  • 상자와 같은 하나의 빈 공간으로서 변화하는 값들을 담을 수 있는 역할을 한다.
  • 저장공간에 값을 생성하고 이름을 지정한다.
a = 2        #int
b = 10.2     #float
c = '사과'   #str

print(a, b, c)
print(a, b , c, sep=',', end'%'   
#sep : 출력할 변수 사이 구분
#end : 마지막에 출력할 문자열

 

👉🏻 변수 이름 규칙

  • 영문 대소문자, _, 숫자로 구성
  • 숫자로 시작 X
  • 일반적으로 정확하고 간단하게 지정하는 것이 원칙
  • 예약어 사용 금지

 

② 데이터 타입

  • 정수(int), 실수(float), 문자열(str), 불리언(boolean) 등이 있다.
  • type 함수 : 해당 변수, 값의 타입(type)을 알고자 할 때 사용한다.
  • None : 아무런 값을 갖지 않을 때 사용, 기타 언어의 NULL과 같은 의미로 사용한다.

 

👉🏻 숫자형 데이터 타입

  • 정수(int), 실수(float)로 구성
  • 수학의 기본 연산자를 사용해 사칙연산 가능

a = 7
b = 4
print(a + b)
print(a - b)
print(a * b)
print(a ** b)
print(a / b)
print(a // b)
print(a % b)
  • 비교 연산자 - 결과값은 bool타입

a = 7
b = 4
print(a == b)
print(a != b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)

 

👉🏻 문자형 데이터 타입

  • 여러 개의 문자로 구성된 자료이며, 자료 순서에 의미가 있다.
  • 문자영 데이터임을 선언하기 위해서 ‘’(작은따옴표), “”(큰따옴표)를 사용한다.
a = 'Giant Pengsoo'
b = '''Giant Pengsoo.

Peng-ha'''
  • 문자열 인덱스(index)
    • 문자열의 각 문자는 순서가 있으며, 각 문자열의 순서를 인덱스라 한다.
    • 파이썬은 음수 인덱스를 지원하며, -1이 가장 마지막 인덱스를 의미한다
    • 인덱스의 범위
  • 문자열 슬라이싱(slicing)
    • 문자열의 부분을 추출
    • [시작 : 끝]과 같이 사용하며, [시작 : 끝] 또는 [시작 : 끝-1]에 해당하는 부분 출력
    • 시작, 끝 인덱스는 생략 가능하며, 지정하지 않는 경우 0부터 또는 끝까지로 간주
  • 문자열 함수
    • upper() : 영문자를 모두 대문자로 변환
    • replace() : 문자열 내의 특정 문자를 치환
    • split() : 문자열을 특정한 문자로 구분하여 나눠줌(리스트로 치환)

 

 

💡 리스트(list)

  • 여러 형태의 데이터가 순서형으로 결합된 구조
  • 생성된 후에 변경 가능(mutable)
  • list(), str.split() 또는 []로 생성
a = [1, 2, 3, 4, 5]
b = [1, 2, 'apple', 1.4, [3, 4]]
c = 'This is Pengsoo'
d = list(c)
  • 문자열의 인덱싱과 동일, 인덱스를 이용해 항목 변경 가능(숫자만)
a = [1, 2, 3, 4, 5]
print(a[1])
print([-1])

a[1] = 20
print(a)
  • 슬라이싱 (문자열과 동일, list로 반환)
a = [1, 2, 3, 4, 5]
print(a[2:4])
print(a[:4])
print(a[:])
  • 주요 함수
    • append() 리스트 끝에 항목 추가
    • extend() : 리스트 연장
    • remove() : 값으로 항목 삭제
    • insert() : 항목 추가. 앞에 인덱스, (인덱스, 값) 원하는 위치에 원하는 값 추가 가능
    • pop() : 지우고자 하는 아이템 반환 후 삭제
    • index() : 찾고자 하는 값의 인덱스 반환
    • in : 리스트 내에 해당 값이 존재하면 True, 존재하지 않으면 False 반환
    • sort(), sorted() : 리스트 정렬, 정렬된 리스트의 복사본 반환

 

💡 튜플(tuple)

  • 여러 형태의 데이터 결합이란 점에서 리스트와 유사하나 값의 변경은 불가능(immutable)하다
  • (), tuple() 로 생성
a = [1, 2, 3]    #리스트
b = (1, 2, 3)    #튜플
  • 여러 개의 변수를 하나의 라인으로 생성할 때 사용
#tuple unpacking : 튜플의 값을 차례때로 변수에 대입
a, b = 100, 200
print(a, b)

 

💡 딕셔너리(dictionary)

  • 키-값을 갖는 데이터 구조
  • □ key : 고유한 값으로서 다른 값들과 구분할 수 있는 기준 □ value : 각 key에 덧붙여진 정보
  • 사전선언은 dict() 또는 {}이며, {key1:value1, key2:value2, key3:value3, ...} 형태로 구성
  • key를 알면, 해당하는 value를 불러올 수 있지만, 반대로 value를 안다해도 key값을 불러올 수 없다.
  • 순서를 따지지 않는다. 즉, 인덱스가 없다.
a = {'A':'apple', 'B':'banana', 'C':'carrot'}
print(a)

a['M'] = 'mango'  #항목 추가
  • 주요 함수
    • update() : 두 딕셔너리 병합. 겹치는 키가 존재하면 parameter로 전달되는 키의 값이 덮어쓰기 된다.
    • pop(), del() : 키 삭제
    • clear() : 딕셔너리의 모든 값 초기화
    • in : key값 존재 확인
    • dict[key] : 값에 접근, key가 없는 경우 에러 발생
    • get() : 값에 접근, key가 없는 경우 none 반환
    • keys() : 키만 반환
    • values() : 값만 반환
    • items() : 키, 값의 튜플을 반환

 

💡 집합(set)

  • 딕셔너리에서 key만 활용하는 데이터 구조로 순서에 의미가 없다.
  • 수학에서의 집합과 동일한 개념
  • 교집합(intersection()), 합집합(union()), 차집합(difference()) 등 집합연산 가능
  • {}, set() 로 생성하며, 새로운 값 추가, 삭제 가능
a = {1, 1, 3, 5, 7, 7, 9}
print(a)

b = set(a)
print(b)    #정리된 상태로 반환
a = {1, 2, 3, 4}
b = {1, 2, 4, 8}

print(a.union(b))
print(a.intersection(b))
print(a.difference(b))

'공부 기록 > Python' 카테고리의 다른 글

[Python] 3. 파이썬 기본문법_2  (0) 2022.07.17
[Python] 1. 파이썬 개요 및 기초  (0) 2022.07.16