본문 바로가기
[AI+X 역량 강화] 인공지능/1) 기본기: 파이썬, 데이터 수집

#3 파이썬 기초 1 // 기본 문법(변수 선언, 식별자, 자료형, 형변환, 연산자 학습)

by 'here' 2023. 8. 25.

오늘은 코랩으로 파이썬의 기본 문법에 대해서 알아보았다. 

이정도는 이미 알고 있는 내용이라 편하게 들었지만, 그래도 실습은 하나하나 다 따라하느라 오래 걸렸다!


1.주석(comment)과 출력(print)

  • 주석
    • 코드에 대한 설명이나 중간에 코드를 실행시키고 싶지 않을때 사용
  • 출력(print 함수)
    • 변수 또는 특정한 값들을 화면에 보여주게 하는 방법
    • 코드 중간에 변수에 들어있는 값을 확인하고 싶을때 사용

2.변수 선언

  • RAM 저장공간에 값을 할당하는 행위

  • 다중 할당

  • 변수값 수정

3.식별자

  • 변수, 함수, 클래스, 모듈 등의 이름을 식별자라고 한다.
  • 식별자 규칙
    • 소문자(a ~ z), 대문자(A ~ Z), 숫자, 언더스코어(_) 를 사용
    • 맨 첫글자는 숫자 사용 불가
    • 예약어(이미 python에서 문법적으로 정의되어 있는 식별자)의 사용 불가 : print, def, class, try, except ...
    • 컨벤션(띄어쓰기 불가)
      • snake case : fast_campus : 변수, 함수 (언더바 사용)
      • camel case : LowDashError : 클래스 (대문자 사용)

4.데이터 타입

  • 변수를 선언할 때 메모리에 저장 공간이 만들어지는데, 저장공간에 저장하는 데이터의 자료 타입을 설정
  • RAM 저장공간을 효율적으로 사용하기 위해서 저장공간의 타입을 설정
  • 동적타이핑(파이썬의 특징)
    • 변수 선언시 저장되는 값에 따라서 자동으로 데이터 타입이 설정
  • 변수의 데이터 타입을 확인하는 함수 : type(<변수명>)

4-1. integer(정수), float(실수), string(문자열)

문자열
작은 따옴표
큰 따옴표
escaping 문자 \

4-2. Boolean : True, False

4-3.데이터 타입에 따른 연산

· len() : 문자열 길이의 확인

4-4. 오프셋 (offset) 

  • 머신러닝에서 데이터 처리 시, 비전 딥러닝 과정에서도 많이 사용
  • 특정 위치의 데이터를 선택하는 방법
  • [index] : 특정 위치의 하나의 데이터를 선택
  • [start : end] : 시작(start)과 끝(end) 위치 사이의 데이터를 선택
  • [start : end : stride] : 시작과 끝을 범위로 sride만큼 선택하되 점프하여 선택

(참고: 컴퓨터의 인덱스는 0부터 시작)

4-5. 문자열 함수

 
 
· upper() : 대문자로 변환
· lower() : 소문자로 변환
· strip() : 공백 제거
· replace() : 특정 문자열 치환
· find() : 특정 문자열의 위치를 찾아주는 함수

4-6. 컬렉션 데이터 타입 : list, tuple, dict

  • list [] : 순서가 있는 수정이 가능한 데이터 타입
  • tuple () : 순서가 있는 수정이 불가능한 데이터 타입
  • dict {} : 순서가 없고 키:값 으로 구성되어 있는 데이터 타입

4-6.1.list()

· join() : 리스트 데이터를 문자열로 합쳐주는 함수

4-6.1.1.리스트의 오프셋

  • 문자열은 하나의 문자를 오프셋 단위로 인식
  • 리스트는 하나의 값을 오프셋 단위로 인식
· split() : 문자열을 list 데이터로 변환

4-6.1.2.list 함수

· append() : 가장 뒤에 데이터 추가
· sort() : 오름차순으로 데이터 정렬
· sort(reverse=True): 내림차순으로 데이터 정렬
· reverse() : 데이터를 역순으로 정렬
· pop() : (실행할 때마다) 가장 마지막 데이터를 출력하고 출력한 데이터를 삭제 (인덱스 값이 pop)
· del : 지정한 인덱스의 값 삭제
· remove() : 지정한 value 값 삭제 
· copy() : 내용값을 복사(깊은 복사)

리스트의 복사

4-6.2.tuple ()

  • 리스트와 같지만 수정이 불가능한 데이터 타입

4-6.3.dict {}

  • 순서가 없고 {키:값} 으로 구성되어 있는 데이터 타입
  • 키는 정수형, 문자열만 가능
  • 오프셋 인덱스 사용 불가, 키값만 가능(수정)

· keys() : 키 데이터만 가져오는 함수
· values() : 값 데이터만 가져오는 함수
· items() : 키와 값을 가져오는 함수
· update() : 두개의 딕셔너리를 합쳐주는 함수

5.형변환

  • 데이터 타입을 변환하는 방법
  • 문자열을 숫자로 형변환
  • 숫자를 문자열로 형변환
  • 딕셔너리의 values를 리스트로 변환
  • 문자열, 숫자, 리스트 등의 데이터 타입을 boolean으로 형 변환

6.입력과 출력

입력

출력

7.연산자

  • 산술연산자 : +, -, * , /, //, %, ** -> 사칙연산이 있는 연산자
  • 할당연산자 : 변수에 누적시켜서 연산 : +=, //=, **= ...
  • 비교연산자 : >, <, ==, !=, <=, >= : 결과로 True, False -> 두개의 데이터를 비교하여 같다 크다 연산을 하는 연산자
  • 논리연산자 : True, False 를 연산 : or, and, not
  • 멤버연산자 : 특정 데이터가 있는지 확인할때 사용 : not in, in

7-1.산술연산자

  • 연산자 우선순위: **  > *, /, //, %  >  +, - 

부동소수점 문제
  • 10진수를 2진수로 변환해서 계산할때 발생하는 문제
  • 해결 방법 1) 정수 형태로 변환하여 진행
  • 해결 방법 2) 반올림 round() 함수
  • 해결 방법 3)  고정소수점으로 변환 -> Decimal 라이브러리 안에는 string 타입만 들어와야함 

7-2.비교연산자

  • ==, !=, >, <, >=, <=
  • 조건문에서 많이 사용

7-3.할당연산자

  • 대입 연산자와 산술연산자를 사용하여 만들어진 연산자
  • +=, -=, =, /=, *=, %=,//=

7-4. 논리연산자

  • 논리의 참과 거짓을 나타내는 연산자
  • and : 두 개의 논리가 모두 True인 경우 True 출력
  • or : 두 개의 논리가 모두 False인 경우 False 출력
  • not : True는 False로 False는 True로 변환

7-5. 멤버연산자 -> 데이터 집합에서 특정 데이터가 있는지 없는지 판단하는 연산자

  • <특정 데이터> in <데이터집합>: 데이터 집합에서 특정 데이터가 있는지 확인해서 있으면 True
  • <특정 데이터> not in <데이터집합>: 데이터 집합에서 특정 데이터가 있는지 확인해서 있으면 False, 없으면 True

 

 

 

※ 해당 카테고리는 딥노이드, 오픈놀, 앙트비에서 주최하는 '<스타트업 유니버시티: DX Challenge 교육> AI+X 역량 강화 트랙'에 대한 기록입니다.