https://light-tree.tistory.com/8

 

파이썬(python) importlib, __import__(), getattr 을 사용하는 입력으로 동적 import

개발을 진행하다 import를 사용자의 입력에 따라 동적으로 사용하고 싶은 경우가 생겼습니다. 파이썬에서 동적 import 하는 방법을 공부했고, 정리하고자 합니다. * 모듈(module)은 클래스, 함수, 변수

light-tree.tistory.com

 

https://jh-bk.tistory.com/29

 

'Python > 기초' 카테고리의 다른 글

함수, 클래스, 모듈, 패키지 간단 개념  (0) 2023.06.06
Pandas 사용 함수  (0) 2022.04.22
각 type별 함수 사용  (0) 2022.04.19
파이썬 나아가기  (0) 2019.09.05
Python 프로그램 입출력하기  (0) 2019.09.05

https://hyunsitstory.tistory.com/entry/python-%ED%8C%A8%ED%82%A4%EC%A7%80-%EB%AA%A8%EB%93%88-%ED%95%A8%EC%88%98-%ED%81%B4%EB%9E%98%EC%8A%A4-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC

'Python > 기초' 카테고리의 다른 글

동적 import가 필요할때 - importlib  (0) 2023.07.04
Pandas 사용 함수  (0) 2022.04.22
각 type별 함수 사용  (0) 2022.04.19
파이썬 나아가기  (0) 2019.09.05
Python 프로그램 입출력하기  (0) 2019.09.05

1. dtype and type

dtype: numpy에 해당하는 함수로, 데이터 타입을 확인할 수 있음

type: pandas의 함수로, 데이터 타입을 확인할 수 있음

 

2. loc and iloc

loc(): pandas함수로 row의 정보로 검색

ex) data.loc[[1,2,3]]

iloc(): pandas함수로 row의 index로 추출

ex) data.iloc([:,3])

 

3. sort_values

ex) data.sort_values('Age') , Age = 변수이름

 

4. 중복값찾기: pd.duplicated()

객체.duplicated(): 전체 중복 row를 찾음

객체.duplicated(['컬럼명']): 해당 컬럼이 중복되는 row만 찾음

ex) df[df.duplicated()]

 

5. 중복값 제거: pd.drop_duplicates() 

 

6. map 과 replace

dictionary형 데이터를 이용해서 컬럼으로 정보를 붙일때 => map, 자리의 정보를 대체할때 => replace

 

7. groupby (pivot_table대신 사용)

df.groupby(['컬럼명'])['보고싶은컬럼명'].sum().to_frame()

#output은 groupby object라서 꼭 dataframe으로 변환하는 과정이 필요함.

 

'Python > 기초' 카테고리의 다른 글

동적 import가 필요할때 - importlib  (0) 2023.07.04
함수, 클래스, 모듈, 패키지 간단 개념  (0) 2023.06.06
각 type별 함수 사용  (0) 2022.04.19
파이썬 나아가기  (0) 2019.09.05
Python 프로그램 입출력하기  (0) 2019.09.05

파이썬 함수를 사용하다보면 이런 의심이 든다...

어디까지 온점을 붙여서 함수를 사용할 수 있을까? 

예를 들면, 아래처럼 어레이도 만들고 만들어진 어레이의 합을 구할 수 있는 함수를 쓸 수 있는 것 처럼...? 

 

np.array([1,2,3]).sum()

이건 무조건적으로 함수를 갖다 쓸 수 있는게 아니다!

 

온점 앞에 있는 데이터 특성이 무엇인지 확인하고 이에 사용할 수 있는 함수들이 따로 있다. 

예를 들면 판다스의 series 타입에서는 '.unique'를 사용해 중복을 제거할 수 있지만, 

판다스의 Dataframe타입에서는 저 함수가 사용되지 않는다. 'drop_duplicate()'함수를 사용해서 중복을 제거해야한다.

이때 우리가 쓰려는 함수의 대상이 되는 것의 type을 확인하거나, 혹은 대상을 dir()함수 안에 넣어서 사용 가능한 함수를 확인할 수 있다. 

'Python > 기초' 카테고리의 다른 글

함수, 클래스, 모듈, 패키지 간단 개념  (0) 2023.06.06
Pandas 사용 함수  (0) 2022.04.22
파이썬 나아가기  (0) 2019.09.05
Python 프로그램 입출력하기  (0) 2019.09.05
Python 제어문  (0) 2019.09.05

파이썬 날개달기

 

  1. 클래스 (class)

    1. 한가지 작동방식의 함수를 여러개 찍어낼 수 있도록 하는 것

      1. ex) 과자틀 -> 클래스, 과자 -> 객체

    2. 객체와 인스턴스의 차이

      1. 인스턴스: 클래스로 만든 객체

    3. 매서드 (method)

      1. 정의: 클래스 내에 있는 함수

      2. 정의할 때, 가장 앞에 self를 사용 -> self는 객체를 받음

        1. ex) class calculator: def add(self, a,b):

    4. 생성자 (constructor)

      1. 객체에 초깃값을 설정해야할 필요가 있을 때, 생성자를 구현하는 것이 안전한 방법 -> __init__(self, 필요 변수1, 필요 변수2,...):

    5. 클래스 상속

      1. 기존에 존재하는 클래스 기능을 상속받을 수 있음

      2. 방법: class 클래스이름(상속할 클래스):

      3. 사용하는 이유: 주로 기존 클래스에 기능을 추가하고 기존것을 해치지 않으려고 할 때

    6. 매서드 오버라이팅

      1. 부모가 갖는 매서드를 새로 작성하고 싶을 때

        1. ex) calss 새 클래스(부모매서드): 동일한 함수 이름: 작성

    7. 클래스 변수

      1. 클래스 변수는 객체들과 모두 이어져 있음

 

  1. 모듈

    1. 정의: 함수, 변수, 클래스를 모아놓은 파일

      1. 모듈 이름 = 파이썬 파일 이름

      2. 파이썬 라이브러리란? 파이썬을 다운받을 때 설치하는 모듈들을 의미

    2. 불러오기

      1. 기본:  import 모듈이름 (.py 제외하고)

        1. ex) import mod1

      2. 함수만 직접사용: from 모듈이름 import 함수1, 함수2, ….

        1. from mod1 import add -> add함수 바로 사용

        2. 모든함수를 불러오고 싶을 때, 함수 이름대신 -> *

    3. if __name__ = ‘__main__’

      1. 모듈안에 수행문을 돌리고 싶지 않을 때

    4. 클래스나 변수등을 포함한 모듈

      1. 만약 class가 사용하고 싶다면 -> import mod2; a = mod2.클래스 이름() 

      2. 만약 함수가 사용하고 싶다면 -> import mod2; a.함수(변수)

    5. 다른파일에서 모듈 불러오기

      1. 모듈을 저장한 디렉터리 사용하기

        1. sys를 사용: 파이썬 라이브러리가 설치되어 있는 디렉토리 확인

      2. python 환경변수 바꾸기

        1. set명령어를 사용해 python path환경변수에 mod2.py파일이 있는 디렉토리를 설정

 

  1. 패키지

    1. 정의: 파이썬 모듈과 디렉토리를 계층적으로 정리해주는 구조

    2. 불러오기

      1. import 패키지.모듈.

      2. from 패키지 import 모듈

      3. import 패키지.모듈 import 매서드

        1. 주의사항: import의 마지막은 언제나 모듈, not 매서드

    3. __init__.py함수: 해당 디렉토리가 패키지의 일부임을 알려주는 역할, 만약 패키지에 포함되는 디렉토리에 이 함수가 존재하지 않는다면 패키지로 인식하지 못함

        1. python 3.3부터는 없어도 인식, but 안전하게 하기 위해 사용 ^^

      1. 모듈을 *로 모두 불러오는 경우에 -> __init__.py에 __all__을 추가해야 함

    4. 다른 모듈의 함수를 특정 모듈의 함수에서 사용하고 싶을 때

      1. import 패키지.모듈; def 함수: 사용가능

 

  1. 예외처리

    1. 에러 종류

      1. FileNotFoundError: 없는 파일을 찾을 때 

      2. ZeroDivisionError: 0으로 무언가를 나눌 때

      3. IndexError: Index관련 에러가 날 때

    2. 오류 예외 처리 기법

      1. try,except문

        1. 기본 구조: try: 수행문; except 발생오류 as 변수: 수행문

          1. 설명: try 블록 중 오류가 발생되면 except 블록이 수행

        2. 여러개의 오류를 처리할 때

    3. try.. finally문

      1. 사용한 리소스를 종료할 때 사용

        1. 문법 try: 수행문; except 오류문1 as 변수: 수행문1; except 오류문2 as 변수: 수행문2

        2. 한꺼번에 처리할 때 문법: try: 수행문; except (오류문1, 오류문2) as 변수

    4. 오류 회피하기

      1. 문법: try: 수행문; except 오류문: pass

    5. 오류를 일부러 발생시키기

 

  1. 내장함수

    1. 사용

      1. abs(): 절대값 반환

      2. all(): 하나라도 False가 있으면 False/ any(): 하나라도 True가 있으면 True

      3. chr(): 아스키코드값을 넣으면 대응 문자 반환

        1. ord(): 반대를 수행

      4. dir(): 객체가 가지고 있는 변수나 함수를 반환

      5. divmod(): 몫과 나머지를 튜플형으로 반환

      6. enumerate(): 순서가 있는 리스트, 튜플, 문자열을 값으로 받아서 순서 index를 enumerate의 객체로 반환

      7. eval(): 실행 가능한 문자값을 실행하여 결과로 돌려줌

        1. ex) eval(‘1+3’) = int(3)

      8. hex(): 정수값을 받아서 16진수로 반환

      9. oct():정수를 8진수로 변환

    2. 자주사용

      1. id(): 객체의 고유 주소값 반환

      2. input(): 입력값을 받는 함수 -> 언제나 integer

      3. int(): 정수로 반환

      4. instance(함수이름, 클래스이름): 함수가 해당 클래스의 함수인지 여부 확인 -> T/F 값으로 반환

      5. len(): 입력값의 길이

      6. list(): 리스트로 변환 

      7. max()/min(): 입력값의 최대값/최솟값

      8. open(‘함수명’,’mode’): 함수 오픈

      9. pow(a,b): a의 b제곱을 반환

      10. range(시작, 마지막, delta): 범위값을 반복 가능한 객체로 만들어 반환

      11. round(): 반올림 함수

      12. sorted(): 정렬 함수

      13. str(): 문자화 함수

      14. sum(): 입력받은 모든 리스트나 튜플값을 합산하는 함수

      15. tuple(): tuple로 변환하는 함수

      16. type(): 자료형이 무엇인지 반환하는 함수

 

  1. 외장함수

    1. sys: 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈

      1. 강제로 스크립트 종료: sys.exit(), 프로그램 내에서 사용

      2. 자신이 만든 모듈 불러와서 사용: sys.path -> 파이썬 모듈이 저장된 위치를 나타냄

        1. sys.path.append(‘경로’): 사용하려는 모듈의 경로를 추가하여 사용 가능

    2. pickle: 객체의 형태를 그대로 유지하여 파일을 저장하고 불러올 수 있는 모듈

      1. 사용방법(쓰기)

        1. import pickle

        2. 원하는 파일 f =open(‘파일명’,’w’)

        3. data 작성 data = {1: ‘you’,2: ‘need’}

        4. pickle.dump(data,f)

        5. f.close()

      2. 사용방법(읽기)

        1. import pickle

        2. 원하는 파일 open ‘r’

        3. data = pickle.load(f)

        4. f.close()

    3. os: 환경변수나 디렉터리 파일등의 os자원을 제어할 수 있게 해주는 모듈

      1. 내 시스템에 환경변수 값을 알고 싶을 때: os.environ

      2. 디렉토리 위치 돌려받기: os.getcwd

      3. 시스템 명령어 호출하기: os.system(‘명령어’)

      4. 실행한 시스템의 명령어 결괏값 돌려받기: os.popen()

    4. shutil: 파일을 복사해주는 모듈

      1. 사용방법: shutil.copy(‘복사할파일명’,’새로만들어질파일명’)

    5. glob: 디렉토리에 있는 파일을 모두 리스트로 변환

      1. 사용방법: glob.glob(‘디렉토리 위치’)

    6. time

      1. time.time(): 1970년 1월 1일 0시 0분 0초를 기준으로 지난 시간의 초단위를 반환

      2. tile.localtime(): time.time()이 돌려준 값을 연도, 월, 일, 시, 분,초 … 형태로 바꿔주는 함수

      3. time.asctime(): time.localtime에 의해서 반환된 튜플 형태의 값을 인수로 받아 날짜와 시간을 알기 쉬운 형태로 반환

      4. time.ctime(): 현재 시간을 반환

      5. time.strftime(‘출력포맷코드’,값)

      6. time.sleep(값): 값sec만큼의 텀을 두고 문장을 수행

        1. ex) for i in range(10): print(i); time.sleep(1) -> 1초마다 i값을 print 수행

      7. time.sleep(값): 값sec만큼의 텀을 두고 문장을 수행

    7. calendar: 파이썬에서 달력볼 수 있는 모듈

    8. random: 난수를 발생시키는 모듈

출처: jump to python

'Python > 기초' 카테고리의 다른 글

Pandas 사용 함수  (0) 2022.04.22
각 type별 함수 사용  (0) 2022.04.19
Python 프로그램 입출력하기  (0) 2019.09.05
Python 제어문  (0) 2019.09.05
Python 기초 (특징과 데이터형)  (0) 2019.08.29

프로그램 입출력

 

  1. 함수

    1. 구조와 사용법

      1. 구조: def 함수명(입력값): 수행문

        1. def는 함수를 만들때 사용하는 예약어

        2. 매개변수: 함수에 입력으로 전달 된 값을 받는 변수

        3. 인수: 함수를 호출할 때 전달하는 입력값

      2. 함수의 형태

        1. 일반적인 경우

          1. def 함수이름(매개변수): 수행문 return 결과값

        2. 입력값이 없는 경우

          1. def 함수(): return 결과값

          2. 사용법: 결과값을 받을 변수 = 함수()

        3. 결괏값이 없는 함수

          1. def 함수명(매개변수): 수행문

            1. return이 없으면 결과값이 아니다. print도 수행문의 일부일 뿐이다.

        4. 입력값도 결과값도 없는 함수

          1. 사용법: 함수이름()

      3. 매개변수 사용

        1. 매개변수를 지정해서 호출

          1. ex) result = add(a=3,b=7) <- 순서가 바뀌어도 됨

        2. 매개변수에 초깃값 미리 설정

          1. 함수를 만들때 초기값이 변하는 것이 아니면 매개변수에 초기값을 넣어서 생성

            1. ex) def say_myself(name, old, man=True): 수행문

            2. 초기값의 위치는 맨 마지막에 입력

      4. 입력값이 몇개인지 모를 때

        1. 사용법: def 함수이름 (*매개변수): 수행문

        2. 사용법2: def 함수이름(choice, *매개변수): 수행문

      5. 키워드 파라미터

    2. 특징

      1. 결과값은 늘 하나

        1. 만약 결과값은 언제나 하나여야하지만 2개를 입력하는 경우 -> 두 값이 하나로 뭉쳐지는 튜플로 변환되어 나옴, 에러 안남

        2. 만약 return을 두번 사용하면?

          1. return을 사용하는 순간 함수를 빠져나옴

      2. 함수안의 변수는 함수 안에서만 효력이 있음

        1. 함수 안에서 함수 밖의 변수를 변경하려면?

          1. return 사용

            1. return값을 다시 밖의 변수에 넣어주면 됨

          2. global 명령어 사용

            1. global 변수 선언하면 가능

    3. lambda

      1. def 대신에 간결한 함수를 만들 때

        1. ex) add= lambda 매개변수1,2,...: 매개변수를 이용한 표현식

  2. 사용자 입력과 출력

    1. 입력

      1. input()함수

        1. 사용: 사용자의 입력값을 변수에 입력하고 싶을 때 사용

          1. 입력된 값은 문자이다!

          2. ex) a = input()

        2. 프롬프트에 질문띄우고 입력값 받기: input(‘질문내용’)

          1. ex) old = input(‘how old are you?’

    2. 출력

      1. print 자세히 알기

        1. 클따옴표로 둘러싸인 문자열은 +연산과 동일함

        2. 문자열 띄어쓰기는 콤마(,)로 함

        3. 한줄에 결괏값 입력: end 사용

          1. print(출력값, end=’ ‘)

  3. 파일 읽고 쓰기

    1. 파일 쓰기

      1. open함수 이용: 파일객체 = open(‘파일명’,’파일 열기모드’)

        1. ex) f= open(‘example.txt’,’w’) f.close() -> 결과값으로 파일이 생성

          1. f.close()는 파일을 닫아주는 역할 -> 생략가능

        2. 디렉토리 설정가능: open(‘C:/doit/새파일.txt’,’w’) 

        3. 열기모드(r,w,a)

          1. r: 읽을때만 

          2. w: 파일을 쓸때

          3. a: 새로운내용 추가

      2. 주의: 파일을 쓰기모드로 다시 실행한 경우 기존의 내용이 모두 사라지고 새로운 파일이 생성

      3. 쓰기예제

        1. f = open(‘example.txt’,’w’); for i in range(1,11): data = ‘%d line \n’ %i; f.write(data); f.close()

    2. 파일 읽기

      1. readline() 함수: 파일의 한줄을 읽어옴

        1. readline을 쓰는 경우 무한루프 안에서 한줄씩 읽어오다가 더이상 읽을 라인이 없으면 break

          1. while True: line=f.readline(); if not line: break; print(line)

      2. readlines() 함수: 여러줄을 불러옴

        1. readlines() 함수로 전체를 불러와서 lines 객체로 넣고 for문을 사용하여 line을 한줄씩 읽음

      3. read 함수 이용

        1. data= f.read(); print(data)

    3. 파일에 새로운 내용 추가하기

      1. ‘w’를 사용하면 새로 작성이기 때문에 문제가 생김 -> ‘a’로 수정만 하자!

        1. ex) f = open(‘example.txt’,’a’)

    4. with문과 함께 사용하기

      1. close()를 안 사용해도 된다는 장점

      2. 사용법

        1. with open(‘example.txt’,’w’) as f:

        2. 이하의 블록을 넘어가면 종료

출처: jump to python

'Python > 기초' 카테고리의 다른 글

Pandas 사용 함수  (0) 2022.04.22
각 type별 함수 사용  (0) 2022.04.19
파이썬 나아가기  (0) 2019.09.05
Python 제어문  (0) 2019.09.05
Python 기초 (특징과 데이터형)  (0) 2019.08.29

제어문

 

  1. if문

    1. 기본구조와 특징

      1. 구조 -> if 조건문: 수행문 else: 수행문

        1. 수행문 대신 pass사용하면 아무일도 수행하지 않고 지나감

      2. 특징

        1. 들여쓰기는 필수!

        2. if문 뒤에 콜론(:)으로 마무리

        3. 참과 거짓여부를 확인하는 것

          1. if 참: 수행문

    2. 연산자와 조건

      1. 비교연산자

        1. <,>,==,!=,<=,>=

        2. 비교연산자 후에 True, False값을 내보냄

      2. 이중조건

        1. and, or, not 사용 가능

      3. 값이 포함되어 있는지 조건

        1. in/ not in (리스트, 튜플, 문자열)

    3. 다양한 조건을 판별하는 elif

      1. 구조 -> if 조건문1: 수행문1 elif 조건문2: 수행문2 else:수행문3

        1. elif는 여러개가 들어가도 된다.

        2. 해석: 만일 조건문1이라면 수행문 1을 수행하고, 조건문 1은 아니지만 조건문2라면 수행문2를 수행, 마지막으로 두 조건문 다 해당없으면 수행문3 수행

    4. 조건부표현식

      1. ex) 참 수행문 조건 거짓수행문 -> message=’pass’ if score>=60 else message=’failure’

  2. while문

    1. 기본구조와 특징

      1. 구조 -> while 조건문: 수행문

        1. 조건문이 참일동안만 반복수행

      2. 중간에 빠져나가기

        1. break

      3. 맨 처음으로 돌아가기

        1. continue

      4. 무한루프 구조 -> while True:

  3. for문

    1. 기본구조와 특징

      1. 구조 -> for 변수 in (리스트, 튜플, 문자열): 수행문

        1. 변수가 두개씩 프린트 가능

          1. ex) a = [(1,2), (3,4), (5,6)]

          2. for (first, last) in a: print(first+liat)

          3. 리스트의 요소값이 튜플이기 때문에 각각의 요소가 자동으로 변수에 대입 

      2. 처음으로 돌아가기: continue

    2. for문과 함께 사용하는 range 함수

      1. 숫자 리스트를 자동으로 만들어주는 range함수

        1. 사용법: range(값) -> 0부터 값-1까지 숫자리스트 생성

    3. 리스트 내포 이용하기

      1. append대신에  사용하는 리스트 내포

        1. ex) a = [1,2,3,4]

        2. result = [num*3 for num in a]

        3. print(result)

        4. [3,6,9,12]

      2. if 조건도 추가 가능

        1. ex) result = [num*3 for num in a if num%2==0]

출처: jump to python

'Python > 기초' 카테고리의 다른 글

Pandas 사용 함수  (0) 2022.04.22
각 type별 함수 사용  (0) 2022.04.19
파이썬 나아가기  (0) 2019.09.05
Python 프로그램 입출력하기  (0) 2019.09.05
Python 기초 (특징과 데이터형)  (0) 2019.08.29

==================================

출처: jump to python

==================================

 

파이썬이란?

 

  1. 파이썬은?

    1. 인터프리터 언어(한 줄씩 소스코드를 해석해서 그때그때 실행해 결과를 바로 확인할 수 있는 언어)이다.

  2. 특징

    1. 쉬운 언어

    2. 무료

    3. 속도가 빠르다. C는 더 빠름.(그런 이유로Python 함수들 중 C로 작성된 것들도 많음)

      1. ‘life is too short, you need python’

  3. 파이썬으로 가능한 일

    1. 시스템 유틸리티 제작

    2. GUI 프로그래밍

      1. Tkinter를 주로 사용

    3. C/C++과의 결합

    4. 웹 프로그래밍

    5. 수치 연산 프로그래밍

      1. 적합하지는 않지만 Numpy라는 모듈을 제공하여 빠르게 돌아감

    6. 데이터베이스 프로그래밍

      1. Sybase, Infomix, Oracle, MySQL, PostgreSQL등 데이터베이스에 접근하기 용이한 도구를 제공

      2. pickle은 자료 변형없이 그대로 파일을 저장하고 불러옴

    7. 데이터분석,  사물인터넷

      1. pandas 모듈 이용

  4. 훑어보기

    1. 파이썬은 대화형 인터프리터이다. 

    2. 파이썬은 대소문자를 구분한다.

    3. ‘…’은 아직 문장이 끝나지 않음을 의미한다.

 

데이터형

 

  1. 숫자형

    1. 종류

      1. 정수(integer): 0, 양수, 음수

      2. 실수형(floating-point): 소수점이 포함된 수

        1. ex) 3.5e10, 3.412 등

      3. 8진수나 16진수도 사용가능

    2. 사칙연산

      1. +,-,/,*

      2. 제곱: **

      3. 몫: //, 나머지: %

        1. 몫의 반환값은 정수값만 됨

          1. ex) 7/4=1.75지만 7//4=1

          2.  
  2. 문자열: 문자나 단어들의 집합

    1. 표현

      1. 문자열을 하나로 취급할 때: 작은따옴표로 감싸거나 큰따옴표로 감쌈

        1. ex) “python’s availability”혹은 ‘python”s availability’

      2. 작은따옴표나 큰따옴표를 문자열안에 포함시키고 싶을 때

        1. ex) \큰따옴표 or \작은따옴표 -> 컴퓨터는 문자열을 둘러싸는 기호가 아닌 문자 자체로 인식함

      3. 여러줄을 사용할 때:  \n을 사용해 줄을 바꾸거나 세개의 큰따옴표 혹은 작은따옴표로 감쌈

        1. ex) ‘life is too short, \n we should use python’

        2. ex) ‘’’life is too short, … we should use python’’’

    2. 이스케이프코드: 문자열에서 미리 지정해둔 문자코드

      1. \n: 줄바꿈, \t: 문자열 탭

      2. tip: 이스케이프코드보다 따옴표 세개사용이 깔끔하여 권장

    3. 문자열사칙연산(다른 언어에서 찾기 힘든 부분)

      1. 합치기(concatenation): + 사용

        1. ex) ‘abcd’ + ‘efg’ = ‘abcdefg’

      2. 곱하기: * 사용, 문자열을 두번 반복하라는 의미

        1. ex) ‘abcd’*2 = ‘abcdabcd’

      3. 문자열길이구하기: len()함수

    4. 인덱싱과 슬레이싱

      1. 인덱싱 방법

        1. 파이썬은 0부터 인덱싱해서 마지막은 n-1까지 인덱싱

        2. 인덱싱 중 ‘-’기호는 문자열을 거꾸로 카운트한다는 의미

        3. 공백문자도 문자이므로 인덱싱가능

        4. 문자열은 immutable 자료형이어서 인덱싱으로 문자변경이 불가

      2. 슬레이싱방법

        1. 문자열변수[n,m]: n번째부터 m-1번째까지

    5. 문자열 포매팅(formatting): 문자열에 삽입하기, 포맷코드 사용

      1. 숫자, 변수: %d, 부동소수: &f

        1. ex) ‘apple is %d’ %3

        2. ex) %0.4f% 3.4553443 = ‘3.4553’

        3. %10.4f% 3.4553443 = ‘      3.4553’

      2. 문자: %s, 다른 숫자형을 입력해도 자동으로 문자열로 변환

        1. ex) ‘apple is %s’ %’red’

      3. 두개 이상의 값

        1. ex) ‘apple is %s and %d’ %(‘red’,3)

      4. 포맷코드에 %를 함께 쓰고 싶을 때: %%를 사용 -> %를 문자로 인식

        1. ex) ‘error is %d%%’ %30 = ‘error is 30%’

      5. 정렬하기: 포맷코드 사이에 원하는 값을 입력하면 그만큼의 문자열을 생성하고 오른쪽 정렬을 함

        1. 음수: 왼쪽 정렬

        2. ex) ’%10s’ %’hi’ = ‘        hi’

      6. %와 %d를 함께 쓸 때는 %d%% 이렇게 사용

    6. 모든것을 통합하는 format함수

      1. 한개 값

        1. ex) ‘apple is {0}’.format(3) -> 숫자, 문자, 변수도 대입 가능

      2. 두개 이상의 값

        1. ex)’apple is {0} and {1}. format(‘red’,’10’)

      3. index 숫자 자리에 문자사용 가능

        1. ex) ‘apple is {0} and {color}’.format(‘1’,color=’red’)

      4. 정렬

        1. 왼쪽정렬: {0:<10}

        2. 오른쪽 정렬: {0:>10}

        3. 가운데 정렬: {0:^10}

        4. 공백에 원하는 문자를 넣고 싶을 때: {0:문자^10}

      5. 소수점 표현

        1. ‘{0:0.4f}’.format(3.234235) = ‘3.2342’

      6. f 문자열 포맷팅

        1. f ‘문자열’ 하면 외부 변수를 참조 가능

          1. ex) name = ‘홍길동’,  f’my name is {name}’ = ‘my name is 홍길동’

        2. f’{‘hi’:<10}

        3. f’{name:!<10}’

        4. f’{value:0.4f<10}’

    7. 문자열 내장함수: 문자열이 자체적으로 가지고 있는 함수

      1. 사용법: 문자열 뒤에 점을 찍고 함수를 사용하면 됨

        1. 문자 수 세기: 문자.count(‘수를 셀 문자’)

        2. 문자 찾기

          1. 문자.find(‘찾을문자’): index를 반환, 없다면 -1을 반환

          2. 문자.index(‘찾을 문자’): 없으면 error 반환

        3. 문자 삽입: 삽입할문자.join(‘문자열’)

          1. ex) ‘,’.join(‘abc’) = ‘a,b,c’

        4. 문자열 대문자,소문자화: 문자열.upper(): 대문자, 문자열.lower(): 소문자

        5. 공백지우기: 왼쪽지우기-> 문자열.lstrip(), 오른쪽 지우기 -> 문자열.rstrip, 둘다 지우기 -> 문자열.strip

        6. 문자 대체: 문자열.replace(‘대체당하는 문자’,’대체할문자’)

        7. 문자나누기: 문자열.split() -> 스페이스,엔터,줄바꿈을 기준으로 나눔, 원하는 문자에 따라 나누고 싶으면 함수에 문자를 입력하면 됨

  3. 리스트(list)

    1. 특징

      1. list는 대괄호([]) 안에 쉼표(,)로 요소를 구분 지음

      2. 어떠한 자료형도 포함할 수 있음 -> list안에 list도 가능함

      3. 인덱싱과 슬라이싱

        1. 인덱싱 방법

          1. 문자열과 동일

          2. list안에 list인덱싱: list[][]

            1. 삼중 list도 가능: list [][][]

        2. 슬라이싱방법

          1. 문자열과 동일

          2. list안에 list 슬라이싱: list[][]

    2. 연산

      1. list끼리 더하면 요소끼리가 아니라 전체를 더하는 것

      2. len(list): list의 길이

      3. 문자형이 다른것은 연산하면  type error가 뜸

    3. list 다루기

      1. 수정: list를 인덱싱하여 값을 교환

      2. 삭제: del a[]: 삭제할 값을 인덱싱하여 삭제

    4. 관련 함수들

      1. list.append(값): list에 값 추가, 다른 자료형도 추가 가능

      2. list.sort(): list 정렬

      3. list.index(값): 값에 해당하는 index반환

        1. 값이 없으면 value error를 냄

      4. list.insert(인덱스, 값): 원하는 인덱스 자리에 값을 넣음

      5. list.remove(값): 첫번째로 나오는 값을 지움

      6. list.pop(index): 인덱스 자리 값을 print하고 값을 지워서 반환

      7. list.count(값):요소 세기

      8. list.extend(list): list 확장하기

  4. 튜플(tuple)

    1. 특징: list와 비슷하지만 수정,삭제가 불가능

    2. 대괄호가 아닌 괄호를 사용해서 튜플생성

  5. 딕셔너리(dictionary): 연관배열 혹은 해시형

    1. 구성:  {key:value, key:value, …}

      1. key로 value를 찾아서 사용

      2. 요소삭제: del dic[1]

      3. value에는 어떤 자료형이 들어가도 상관없음

        1. ex) dic = {‘name’=’chaelin’,’hieght’=167,’score’= [1,2,3,4,5]}

    2. 주의사항: key는 동일한 것을 여러개 만들어 놓으면 하나만 인식

    3. 관련 함수

      1. 딕셔너리의 key를 list처럼 만들기: dictionary.keys()

        1. 하지만 이것은 list가 아닌 list형식의 객체 -> 해결법: list(dictionary.keys())

      2. 딕셔너리의 value를 list처럼 만들기: dictionary.values()

      3. key와 value 모두 지우기: dictionary.clear()

      4. key로 value 얻기: dictionary.get(‘key’)

      5. key가 딕셔너리안에 있는지 확인:  key in dictionary

  6. 집합 자료형(set)

    1. 사용법: 객체 = set() -> 비어있는 집합

      1. 안에 list를 넣으면 list숫자로 인식

      2. 안에 만약 list없이 문자열을 넣으면 문자 하나씩 인식

    2. 특징

      1. 중복을 허용하지 않음

      2.  순서가 없음

        1. indexing 불가능 -> list나 tuple로 변환하여 indexing해야함

    3. 사용

      1. 교집합: 집합1 & 집합2

        1. 추가 사용법: 집합1.intersection(집합2)

      2. 합집합: 집합 | 집합2

        1. 추가 사용법: 집합1.union(집합2)

      3. 차집합: 집합1 - 집합2

        1. 추가 사용법: 집합1.difference(집합2)

      4. 값 추가: 집합1.add(값)

      5. 여러값 추가: 집합1.update(list)

      6. 특정 값 제거: 집합1.remove(값)

  7. 불 자료형(boolean)

    1. 참과 거짓자료형

    2. 자료형에도 참과 거짓인 존재

      1. 리스트,튜플,집합은 비어있으면 거짓

      2. 숫자는 0만 거짓

      3. 중요한 예제! -> 사용 예시

        1. a = [1,2,3,4]

        2. while a: print(a.pop())

        3. while문은 참일동안 실행하는데 a가 빈 리스트가 되면 거짓이 되어서 종료 

    3. 참/거짓 여부 확인 함수: bool(데이터)

  8. 변수

    1. 생성

      1. 변수이름 = 변수를 저장할 값 <- C나 JAVA처럼 변수형 설정이 필요없음

      2. 변수가 생성되면서 메모리에 자동으로 위치가 할당됨

        1. 이를 확인하는 함수: id(변수)

    2. 변수 법칙

      1. 변수 복사: 예를 들면, a =[1,2,3]으로 변수를 생성하고 b=a로 하였을 때, a와 b는 다른 것인가? 동일 한 것

        1. id함수를 이용해 확인: id(a)=id(b) -> 의미: 같은 객체 [1,2,3]을 다른 이름 a,b가 다르게 가르키는 것

      2. 다른 것으로 인식시키고 싶을 때

        1. [:] 이용

          1. 복사를 b=a[:] <= 이렇게 사용하면 값을 지정하는 것

        2. copy 모듈

          1. from copy import copy 후에 b= copy(a)

    3. 입력방법

      1. 다수도 가능

        1. ex) a,b = b,a

'Python > 기초' 카테고리의 다른 글

Pandas 사용 함수  (0) 2022.04.22
각 type별 함수 사용  (0) 2022.04.19
파이썬 나아가기  (0) 2019.09.05
Python 프로그램 입출력하기  (0) 2019.09.05
Python 제어문  (0) 2019.09.05

+ Recent posts