별의 공부 블로그 🧑🏻‍💻

🗒️ python (62)

728x90
  1. 2022.04.13 [NumPy] 배열 객체 관리와 연산

    배열 객체 관리와 연산 넘파이는 수백만 개의 수치 데이터를 빠르게 처리함으로써 파이썬의 과학 계산을 빠르게 처리하는 라이브러리이다. 넘파이의 N차원 배열은 데이터를 빠르게 처리할 수 있는 구조이다. 이러한 구조는 요소의 데이터 타입과 크기가 정해져 있으며, 인덱싱으로 빠르게 필드에 접근하고 변경할 수 있는 장점이 있다. 넘파이는 메모리 버퍼에 있는 같은 타입의 매트릭스나 벡터 같은 배열 데이터를 하드웨어 레벨인 저수준 형태로 메모리에 저장하고 처리한다. 또한 넘파이는 같은 크기의 메모리를 할당받고, 연속된 메모리 공간에 존재하는 벡터 연산을 지원한다. 효율적인 인터페이스와 최적화된 관련 함수들, 그리고 최적화된 C 코드를 통해 CPU를 관리하는 벡터화 기능을 사용한 빠른 연산도 지원한다. 뷰와 복사 뷰(..

  2. 2022.04.13 [NumPy] 구조화된 배열

    구조화된 배열 구조화된 배열(Structured Array)은 ndarrays 를 의미한다. ndarrays의 데이터 타입은 시퀀스로 조직화된 단순한 데이터 타입인 필드를 모은 것 필드 : 구조화된 데이터 타입의 각 서브 타입에서 이름(string), 데이터 타입(dtype) 및 제목(title) 예제 >>> arr = np.array([('jin', 25, 67), ('suho', 18, 77)], dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')]) >>> arr array([('jin', 25, 67.), ('suho', 18, 77.)], dtype=[('name', '

  3. 2022.04.13 [NumPy] 넘파이 배열

    넘파이 배열 넘파이 모듈 임포트 import numpy as np 넘파이 배열 생성 넘파이에서는 벡터(Vector)와 매트릭스(Matrics)를 배열(Array)이라고 한다. 벡터(Vector)의 의미 수학, 물리학 크기와 방향을 가지는 기하학적 양 또는 객체 넘파이 1차원 배열 2차원 이상의 배열을 매트릭스라고 한다. 배열을 생성하는 방법 리스트(List), 튜플(Tuple) 등 다른 파이썬 자료 구조에서 변환 arange(), ones(), zeros(), linspace() 등 넘파이 고유의 배열 생성 함수 사용 저장 디스크에서 배열을 읽어들임. 문자열이나 버퍼를 통한 바이트 스트림 데이터인 Raw Bytes 에서 배열 생성 random() 함수와 같은 특수한 라이브러리 함수 사용 넘파이에서의 배열..

  4. 2022.04.13 [NumPy] 넘파이(NumPy) 개요

    넘파이(NumPy) 개요 넘파이(NumPy) Numerical Python 파이썬의 수치 해석 프로그램인 Numeric 을 개선, 보완한 패키지 2006년, Travis E. Oliphant가 개발 NumPy = SciPy + numarray 배열과 매트릭스의 빠른 처리 Pandas에서 데이터를 효율적으로 분석할 수 있게 한다. 이미지 처리, 신호 처리, 선형 대수 등 어플리케이션에서 사용 공식 홈페이지 : https://numpy.org/ 넘파이의 기능 강력한 다차원 배열 객체의 처리 탁월한 배열 브로드캐스팅 기능 C/C++ 및 Fortran 코드를 통합하는 도구 수학적 연산 선형 대수, 난수 생성, 푸리에 변환 이미지와 컴퓨터 그래픽을 빠르게 처리 패키지 설치 터미널에 다음과 같이 입력하여 넘파이를 ..

  5. 2022.04.12 [Python] 파이썬을 이용하여 함수 그래프 그리기 (NumPy, matplotlib.pyplot)

    파이썬을 이용하여 함수 그래프 그리기 (NumPy, matplotlib.pyplot) 개요 파이썬의 넘파이(NumPy)와 matplotlib.pyplot을 사용하여 간단하게 그래프를 그릴 수 있다. 방법 코드 import numpy as np import matplotlib.pyplot as plt # (1) X축의 범위(Range) 설정 (입력) start = -10 # 시작점 # 입력 end = 10 # 끝점 + 1 # 입력 interval = 1 # 간격 # 입력 x = np.array(range(start, end, interval)) # print('X: ', x) # X 축의 범위를 확인하고 싶을 경우 주석 해제 # (2) 그래프의 축 이름 설정 name_X = 'Axis-X' # 입력 nam..

  6. 2022.04.02 [Python] 단순 연결 리스트(Singly Linked List) 프로그램

    단순 연결 리스트(Singly Linked List) 프로그램 # 단순 연결 리스트 프로그램 (삽입, 삭제, 검색) ## 클래스와 함수 선언 부분 ## class Node(): def __init__(self): self.data = None self.link = None def printNodes(start): current = start if current == None: return print(current.data, end = ' ') while current.link != None: current = current.link print(current.data, end = ' ') print() # 노드 삽입 함수 def insertNode(findData, insertData): global me..

  7. 2022.03.27 [정보처리기사 실기] 프로그래밍 기출 문제 정리 (2017년~2022년) 4

    프로그래밍 기출 문제 정리 (2017년~2022년) 정보처리기사 실기 기출 문제 중에서 프로그래밍(C, Java, Python)과 관련된 문제를 정리해 본다. 이 문제들은 복원을 한 것으로, 실제 출제된 문제와 다를 수 있다. 2017년 1회 문제 1 Q. 다음 Java 언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. public class Test001 { public static void main(String[] args) { int[] a = {3, 4, 10, 2, 5}; int temp; for (int i = 0; i max) { max = a[i]; } if ( ( ) < min) { min = a[i]; } } System.out.printf("%d\n", max); System..

  8. 2022.03.26 [Python] 다항식(Polynomial) 선형 리스트 표현과 계산 프로그램

    다항식(Polynomial) 선형 리스트 표현과 계산 프로그램 다항식(Polynomial) $P(x) = a + bx + cx^2 + dx^3 + \cdots + zx^n$ $n$ 차 다항식 $P(x)$ : 다항식(Polynomial) $a, b, c, d, \cdots, z$ : 계수(Coefficient) $x$의 $1, 2, \cdots, n$ : 지수(Exponent) 코드 방법 1 ## 함수 선언 부분 def printPoly(p_x): term = len(p_x) - 1 # 최고차항 숫자 = 배열 길이 - 1 polyStr = "P(x) = " for i in range(len(px)): coef = p_x[i] # 계수 if (coef >= 0): polyStr += "+" polyStr +..

  9. 2022.03.26 [Python] 선형 리스트(Linear List) 처리 프로그램

    선형 리스트(Linear List) 처리 프로그램 ## 함수 선언 부분 ## def add_data(friend): katok.append(None) kLen = len(katok) katok[kLen - 1] = friend # 선형 리스트에 데이터를 삽입하는 함수 def insert_data(position, friend): if position len(katok): print("데이터를 삽입할 범위를 벗어났습니다.") return katok.append(None) # 빈칸 추가 kLen = len(katok) # 배열의 현재 크기 for i in range(kLen - 1, position, -1): katok[i] = katok[i - 1] katok[i - 1] ..

  10. 2022.03.19 [Python] 튜플(Tuple)

    튜플(Tuple) 튜플(Tuple) 리스트와 사용법이 비슷하면서 약간 다르다. 리스트는 대괄호([ ])로 생성하지만, 튜플은 소괄호(( ))로 생성한다. 튜플은 값을 수정할 수 없으며, 읽기만 가능하기에 읽기 전용 자료를 저장할 때 사용한다. 튜플 생성과 삭제 튜플은 소괄호(( ))를 생략해도 된다. 단, 항목이 하나인 튜플을 만들 때는 뒤에 쉼표(,)를 붙여야 한다. 그렇지 않을 경우 일반 값이 생성된다. 예 : 간단한 튜플 만들기 tt1 = (10, 20, 30); tt1 tt2 = 10, 20, 30 ; tt2 tt3 = (10); tt3 tt4 = 10; tt4 tt5 = (10,); tt5 tt6 = 10,; tt6 더보기 (10, 20, 30) (10, 20, 30) 10 10 (10,) (1..

  11. 2022.03.19 [Python] 문자열

    문자열 문자열 문자를 연속해서 저장해 놓은 형식 파이썬에서는 문자열을 큰따옴표(" ")나 작은따옴표(' ')로 묶어서 표현한다. 문자열은 한번 데이터를 저장해 놓으면 변경할 수 없는 불변형 데이터 형식이다. 문자열 기본 리스트에 접근하는 것과 문자열에 접근하는 것은 크게 다르지 않다. 리스트는 대괄호([ ])로 묶고, 문자열은 작은따옴표(' ')로 묶어 출력된다는 것만 다르다. 예 : 문자열 출력 ss = "자료구조&알고리즘" ss[0] ss[1:4] ss[4:] 더보기 '자' '료구조' '&알고리즘' 문자열도 리스트와 마찬가지로 더하기(+) 기호를 사용하여 연결한다. 또한, 곱하기(*) 기호를 사용하여 문자열을 반복할 수도 있다. 예 : 문자열 연결 및 반복 ss = "가나" + "다라" ss ss =..

  12. 2022.03.19 [Python] 세트(Set)

    세트(Set) 세트(Set) 키만 모아 놓은 딕셔너리의 특수한 형태 딕셔너리의 키는 중복되면 안되므로 세트에 들어 있는 값은 항상 유일하다. 세트를 생성하려면 딕셔너리처럼 중괄호({ })를 사용하지만, 콜론(:) 없이 값을 입력한다. 딕셔너리와 마찬가지로 별도의 순서로 저장되지 않는다. 예 : 세트 생성하기 mySet1 = {1, 2, 3, 3, 3, 4} mySet1 더보기 {1, 2, 3, 4} 중복된 키는 자동으로 하나만 남는다. set() 함수 리스트, 튜플, 딕셔너리 등을 세트로 변경시켜 준다. 집합 연산 연산자 사용하기 연산자 설명 & 교집합 | 합집합 - 차집합 ^ 대칭 차집합 예 : 연산자를 사용하여 집합 연산 수행하기 mySet1 = {1, 2, 3, 4, 5} mySet2 = {4, 5..

  13. 2022.03.19 [Python] 딕셔너리(Dictionary)

    딕셔너리(Dictionary) 딕셔너리(Dictionary) 쌍 2개가 하나로 묶인 자료구조 의미 있는 두 값을 연결하여 구성한다. 중괄호({ })를 묶어 구성하며, 키(Key)와 값(Value)의 쌍으로 구성되어 있다. 딕셔너리변수 = {키1:값1, 키2:값2, 키3:값3, ...} 딕셔너리 생성 방법 1 : '키' : '값' 형식으로 생성하기 dict1 = {1 : 'a', 2 : 'b', 3 : 'c'} 방법 2: '값' : '키' 형식으로 생성하기 dict2 = {'a' : 1, 'b' : 2, 'c' : 3} 키와 값은 사용자가 지정하는 것이지 어떤 값을 반드시 사용해야 한다는 규정은 없다. 딕셔너리에는 순서가 없어 생성한 순서대로 딕셔너리가 구성되어 있다는 보장을 할 수 없다는 점에 주의한다...

  14. 2022.03.19 [Python] 리스트(List)

    리스트(List) 리스트(List) 하나씩 사용하던 변수를 한 줄로 붙여 놓은 것 다른 프로그래밍 언어의 배열(Array)과 비슷한 개념이다. 리스트 생성과 사용법 1차원 리스트 리스트이름 = [값1, 값2, 값3, ...] 리스트는 대괄호([ ]) 안에 값을 선언한다. 리스트는 첨자를 사용하여 접근한다. 예) aa[0] : 리스트의 첫번째 요소에 접근 예 : 1차원 리스트 생성하기 aa = [10, 20, 30, 40] aa 더보기 [10, 20, 30, 40] 2차원 리스트 리스트이름 = [[값1, 값2, 값3, ...], [값1, 값2, 값3, ...], ...] 첨자를 2개 사용하여 각 항목에 접근한다. 예) aa[0][1] 예 : 2차원 리스트 생성하기 list1 = [] list2 = [] v..

  15. 2022.03.19 [Python] global

    global 개요 함수 안에서 지역 변수(Local Variable) 대신 전역 변수(Global Variable)로 변수를 사용하고 싶을 때, global 예약어를 사용한다. global 예약어를 사용하여 전역 변수를 지정하면, 함수 안의 지역 변수는 더 이상 존재하지 않게 된다. 파이썬의 global 예약어는 다른 프로그래밍 언어와 형식이 다르다. 사용 예 ## 함수 선언 부분 ## def func1(): global a a = 10 # 이 함수 안에서 a는 전역 변수 print("func1()에서 a 값 %d" % a) def func2(): print("func2()에서 a 값 %d" % a) ## 전역 변수 선언 부분 ## a = 20 # 전역 변수 ## 메인 코드 부분 ## func1() fu..

  16. 2022.03.19 [Python] 파이썬에서의 main() 함수

    파이썬에서의 main() 함수 개요 C, C++, C#, Java 등은 main() 함수가 필수로 있어 프로그램 시작 위치가 명확하지만, 파이썬은 필수가 아니다. 하지만, 필요하다면 비슷한 효과를 다음과 같이 표현할 수 있다. if __name__ == "__main__": hap = plus(100, 200) print("100과 200의 plus() 함수 결과는 %d" % hap) 사용 예제 # 함수 선언 def plus(v1, v2): result = 0 result = v1 + v2 return result # 전역 변수 hap = 0 # 메인 함수 if __name__ == "__main__": hap = plus(100, 200) print("100과 200의 plus() 함수 결과는 %d" ..

  17. 2022.03.19 [Python] 파이썬에서 넘파이(NumPy) 설치하기

    파이썬에서 넘파이(NumPy) 설치하기 개요 파이썬에 간단하게 넘파이(NumPy)를 설치하는 방법을 알아보자. 방법 윈도우 터미널에 "python -m pip install numpy" 명령을 입력하면 된다. 테스트

  18. 2022.03.19 아나콘다(Anaconda) 환경 변수 설정 방법 (Windows)

    아나콘다(Anaconda) 환경 변수 설정 방법 (Windows) 개요 윈도우(Windows) 터미널에서 "conda" 명령어를 입력하면, 아나콘다 프롬프트가 실행되게 해보자. 보통 아나콘다 설치 시, PATH를 자동으로 등록하는 옵션이 있는데, 선택하지 않았을 경우 수동으로 PATH 등록을 해주어야 한다. 방법 윈도우 [검색] → "환경 변수" → [시스템 환경 변수 편집] [환경 변수(N)] 버튼 클릭 [사용자 변수(U)] 항목에서 변수 선택 후, [편집(E)] 버튼 클릭 [새로 만들기(N)] 버튼을 클릭 후, Anaconda가 설치된 경로, 그리고 내부의 Library, Scripts 디렉터리를 추가 테스트 윈도우 터미널에 conda 명령어를 입력하여 설정이 되었는지 확인한다.

  19. 2022.03.12 IPython

    IPython Interactive Python 파이썬에서 빅데이터 프로그래밍 작업을 할 수 있도록 지원하는 소프트웨어 도구 코딩 편집기 기능 뿐만 아니라 대화형 컴퓨팅 기능을 제공한다. 제공 기능 강력한 대화형 쉘(Shell) 주피터 노트북에서 파이썬 코드를 작업하기 위한 커널 IPython + DashBoard = Jupyter Notebook 대화형 데이터 시각화와 GUI 도구 세트(Tooklit)들을 지원 병렬 컴퓨팅을 쉽게 사용할 수 있도록 하는 고성능 도구 파이썬 환경에서 작업 중인 작업 중인 프로젝트에서 다른 프로그래밍 기능의 처리 IPython 설치 www.ipython.org Anaconda 내에 Jupyter Notebook CLI 환경에서 ipython 사용 주요 명령어 도움 찾기 명..

  20. 2022.03.12 주피터 노트북(Jupyter Notebook)

    주피터 노트북(Jupyter Notebook) 아나콘다(Anaconda) 데이터 과학과 머신 러닝에 대한 작업을 하기 위한 오픈 소스 가장 많이 사용되는 데이터 과학 플랫폼 Anaconda Distribution과 기업용인 Anaconda Enterprise로 구분 파이썬 및 R에 대한 1,400개 이상의 패키지 제공 노트북 코드 및 풍부한 텍스트 요소를 포함하는 문서 실시간 데이터 분석 및 설명 결과를 가져오는 장소 쥬피터 노트북에 의해 문서가 생산됨. 주요 기능 코드, 방정식, 시각화 및 설명문의 텍스트를 포함하는 문서를 생성하고 공유하도록 하는 오픈 소스의 웹 어플리케이션 email, Dropbox, GitHub 및 Jupyter Notebook Viewer 를 이용하여 공유 PDF, HTML, i..

  21. 2022.03.04 [정보처리기사 실기] 10. 프로그래밍 언어 활용 4

    10. 프로그래밍 언어 활용 (1) 데이터 입·출력 데이터 입·출력의 개요 데이터 입·출력 : 키보드로부터 데이터를 입력받아 화면이나 파일로 출력하는 것 이 페이지에서는 C와 Java의 기본적인 프로그램 구조를 이해하고, 다음과 같은 내용이 포함된 프로그램 코드를 읽고 해석하는 방법을 배운다. 헝가리안 표기법 자료형 C언어의 입출력 함수 : scanf, printf Java의 입출력 함수 : Scanner, nextInt, print, printf, println 서식 지정자와 제어 문자 연산자의 우선순위 C 문제 예제 : 다음은 키보드로 6과 4를 입력 받아 두 수의 덧셈 결과를 출력하는 프로그램이다. 출력 결과를 확인하시오. #include main() { int i, j, k; scanf("%d %..

  22. 2021.08.07 [Python] 파일 입출력 예제

    파일 입출력 예제 open('파일명', '형식') : 파일을 불러오는 함수 형식 r : 읽기 w : 쓰기 write(a) : 파일에 a 내용 쓰기 close() : 파일 입출력 해제 예제 사용자로부터 입력 받은 내용을 "text.txt" 파일로 저장하고, 찾고자 하는 문자열의 개수를 출력하는 프로그램을 작성하시오. def count_word(text, word): # 문자열을 텍스트 파일로 저장 text_save = open("text.txt", "w", encoding="UTF8") text_save.write(text) text_save.close() count = 0 # word를 세는 변수 word_length = len(word) # 문자의 길이 word_save = "" # 문자의 길이만큼만 ..

  23. 2021.07.20 [Python] 에러 메시지

    [Python] 에러 메시지 파이썬의 에러 메시지는 대략 9가지 정도가 있다. 에러 설명 SyntaxError 잘못된 문법을 사용할 경우 발생하는 에러 Code 02a = 23 # 잘못된 변수명 사용 print(02a) Debug a = 23 print(a) Code if a == 3 # ‘:’ 생략 print("Hello, World!") Debug if a == 3: print("Hello, World!") ValueError 참조값이 없을 때 발생하는 에러 Code a = [1, 2, 3] a.remove(4) # 존재하지 않는 값 제거 print(a) Debug a = [1, 2, 3] a.remove(3) print(a) Code int('Python') # 영문자의 문자열을 정수로 변환 Deb..

  24. 2021.07.11 네이버 <부스트코스 코칭스터디 : PY4E> 참가자 선정! 2

    네이버 커넥트 재단에서 후원하는 파이썬 코칭스터디 1기 강의! 7월 15일부터 8월 26일까지 약 6주간 진행되는 강의이다. 네이버 광고 배너에서 발견하여 바로 신청을 하였다. 간단한 신청서를 쓰고, 7월 8일 참가 신청이 되었다는 메일을 받았다. 대학교 강의를 들으면서, 스스로 공부하면서 파이썬 언어를 많이 접하고 사용해왔었는데 이번 강의를 통해 오랜만에 다시 한 번(!) 파이썬을 공부하고 싶어서 이 강의를 신청하게 되었고, 선정되어 너무 기쁘다. 아주 기초적인 내용의 강의기에 시간이 남을 때 가볍게 강의를 들을 생각이다.

  25. 2021.01.20 Python Range() 함수 구현

    C++를 이용하여 Python의 Range 함수를 구현해보았다.

  26. 2020.03.24 [Python] matplotlib 라이브러리를 이용하여 그래프 그리기

    *matplotlib 라이브러리를 이용한 그래프 그리기 # default 설정 import numpy as np import matplotlib.pyplot as plt %matplotlib inline np.random.seed(1) x = np.arange(10) # 0~9 사이 랜덤 수 y = np.random.randn(10) # 0~1 사이 랜덤 수 print(x) print(y) [0 1 2 3 4 5 6 7 8 9] [ 1.62434536 -0.61175641 -0.52817175 -1.07296862 0.86540763 -2.3015387 1.74481176 -0.7612069 0.3190391 -0.24937038] # 그래프 표시 plt.plot(x, y) # 꺾은선 그래프를 등록 pl..

  27. 2020.03.24 람다 함수(Lambda Function)

    *람다 함수(Lambda Function) # Lambda 함수 add = lambda a, b: a + bresult = add(3, 4)print(result) # 7 avg = lambda a: sum(a) / len(a)result = avg([1, 2, 3])print(result) # 2 함수를 생성할 때 사용하는 예약어로 def와 동일한 역할을 하며, 함수를 한 줄로 간결하게 만들 때 사용한다. lambda 매개변수1, 매개변수2, ... : 매개변수를 이용한 표현식

  28. 2020.03.24 리스트 내포(List Comprehension)

    *리스트 내포(List Comprehension) # 리스트 내포(List Comprehension)a = [1, 2, 3, 4]result = []for num in a: result.append(num * 3)print(result) # [3, 6, 9, 12] a = [1, 2, 3, 4]result = [num * 3 for num in a] # 리스트 내포(List Comprehension)print(result) # [3, 6, 9, 12] # 리스트 안에 for, if문 포함하기a = [1, 2, 3, 4]result = [num * 3 for num in a if num % 2 == 0]print(result) # [6, 12] 리스트 안에 for문이나 if문을 포함하여 간단하게 리스트를 ..

  29. 2020.03.12 비트 연산자(Bitwise Operator)

    *비트 연산자(Bitwise Operator) 연산자 예 설명 &10 & 5 AND 연산 : 모두 참(1)일 경우만 참(1) | 10 | 5 OR 연산 : 둘 중 하나만 참(1)일 경우 참(1) ^ 10 ^ 5 XOR 연산 : 모두 다를 경우만 참(1) > 2 오른쪽 비트 이동 연산 # 비트 연산자 ''' & : AND 비트 연산 | : OR 비트 연산 ^ : XOR 비트 연산 : 왼쪽 피연산자의 비트를 오른쪽으로 이동''' print(10&5) # 0print(10|5) # 15print(10^5) # 15print(102) # 2 ''' 풀이 bin(10) : 0b1010 bin(5) : 0b101 (1) &(AND) 10: 1010 5 : 0101 --------- 0000(2) -> 0(10) (..

  30. 2019.05.02 [Python] BMI 계산기

    12345678910111213141516171819202122232425262728293031323334# BMI 계산기# BMI = weight/height^2 # 리스트 생성status = ["저체중", "정상", "과체중", "경도비만", "중증도 비만", "고도 비만"] # 키, 몸무게 입력height = (float)(input("본인의 키를 입력하세요.(m): "))weight = (float)(input("본인의 몸무게를 입력하세요.(kg): ")) # BMI 수치 계산 (절댓값)BMI = abs(weight / (height ** 2)) # 계산if BMI

728x90


📖 Contents 📖