플러터
-
[플러터 기초] Dart 비동기 프로그래밍
비동기란? 동기는 모든 코드가 순차적으로 진행되는 형태를 말한다. (원래 우리가 짠 코드가 진행되는 방식) 비동기는 반대로 코드가 동시다발적으로 실행되는 형태를 말한다. 비동기 프로그래밍 방식 비동기 프로그래밍 방식이 두 가지가 존재한다. 또한 이 두 가지는 용도가 정확하게 나누어져 있다. Future - async - await 응답을 한번만 돌려 받을 때 사용된다. 예를 들어, 서버에서 데이터를 한번 불러올 때 사용 Stream - async* - yield 지속적으로 응답을 돌려 받아야할 때 사용된다. 예를 들어 - 1초마다 어떤 데이터를 바꿔야할 때 사용 비동기 프로그래밍 예시 코드 및 결과 Future - async - await 예시 코드 void main() { Future waiting(..
-
[플러터 개발] Lottie 패키지를 이용한 애니메이션 추가하기
오늘은 Lottie 파일을 이용해서 화면에 애니메이션을 추가하는 것을 구현해 볼거에요. 먼저 새로운 프로젝트를 만들고, 패키지를 다운로드 받아줘야겠죠? 패키지 다운로드 https://pub.dev/packages/lottie lottie | Flutter Package Render After Effects animations natively on Flutter. This package is a pure Dart implementation of a Lottie player. pub.dev 패키지 적용방법을 모르시는 분들은 아래 패키지 다운로드 방법 게시물을 참고해주세요. [플러터 기초] 패키지 다운로드 하는 방법 [플러터 기초] 패키지 다운로드 하는 방법 오늘은 패키지 다운로드 하는 방법을 알려드리겠습니다..
-
[플러터 기초] 패키지 다운로드 하는 방법
오늘은 패키지 다운로드 하는 방법을 알려드리겠습니다. 먼저 패키지를 어디서 구경할 수 있는지, 패키지 설명서들이 나와 있는 곳을 알려드릴게요! 패키지가 모여있는 사이트 아래 패키지 사용설명서들이 모여있어요. 원하는 패키지를 검색해서 사용하시면 됩니다! https://pub.dev/ Dart packages Pub is the package manager for the Dart programming language, containing reusable libraries & packages for Flutter and general Dart programs. pub.dev 패키지 다운로드 예시 (따라 해보기) 우선 새 프로젝트를 만들어주세요. 그리고 아래 예시 패키지를 사용해보겠습니다. https://pub..
-
[플러터 기초] Dart 변수 타입
오늘은 Dart언어에서 사용하는 타입을 알아볼게요. 우선 타입을 배우기 전에 변수가 무엇인지 확인해 볼까요? 변수란? 특정한 값을 담아두는 그릇이라고 생각하시면 편합니다. 변수를 선언할 때는 보통 선언과 동시에 타입을 정해 같이 선언하게 됩니다. 타입이란? 그렇다면 타입이란 뭘까요? 데이터의 유형을 말합니다. 이제부터는 Dart에 존재하는 다양한 타입을 알아보도록 하겠습니다. 기본형 타입 선언 방법 타입명 예시 데이터 String 문자열형 "안녕하세요." int 정수형 1115 double 실수형 3.14 null null형 null bool boolean형 (참/거짓형) true 자료형 자료형 타입 종류 List Set Map 확장형 확장형 타입 종류 Object Enum Future Stream 가..
-
[플러터 개발] BottomNavigationBar 직접 만들어보기
안녕하세요. 오늘은 BottomNavigationBar를 커스텀하는 걸 배워보겠습니다. 플러터에는 BottomNavigationBar라는 클래스가 있습니다. 하지만 오늘은 기존 클래스를 사용하지 않고 Container와 TabBar를 이용해 직접 바텀바를 만들어보려고 합니다. 그렇다면, "왜 기존에 있는 클래스를 사용하지 않고 직접 BottomBar를 만들어야할까?" 라는 생각이 드실 수도 있습니다. BottomBar를 직접 TabBar로 구현하는 이유는 조금 더 다양하게 커스터마이징하기 위해서 직접 구현하는 겁니다. 나중에 외주를 받거나, 혹은 특별한 경우에는 BottomBar에 더 많은 기능과 디자인을 요구하는 경우가 있습니다. 그렇기 때문에 BottomBar를 직접 구현하는 방법도 알아야 합니다! ..
-
[플러터 기초] 우리가 플러터를 배워야 하는 이유
플러터는 구글에서 개발한 오픈 소스 크로스 플랫폼 모바일 애플리케이션 프레임워크입니다. 하나의 코드베이스로 안드로이드, iOS, 웹, 데스크톱, 임베디드 등 다양한 플랫폼에서 실행되는 앱을 개발할 수 있습니다. 플러터는 최근 몇 년 동안 빠르게 성장하고 있는 인기 있는 프레임워크입니다. 2023년 현재, 플러터를 사용하는 앱은 150만 개 이상으로 추산되고 있습니다. 앱 개발자가 플러터를 배워야 하는 이유는 다음과 같습니다. 생산성 향상 플러터는 생산성이 높은 프레임워크입니다. 하나의 코드베이스로 다양한 플랫폼에서 실행되는 앱을 개발할 수 있기 때문에, 개발자는 각 플랫폼에 맞는 별도의 코드를 작성할 필요가 없습니다. 또한, 플러터는 Hot Reload 기능을 지원하여, 코드를 변경할 때마다 앱을 다시 ..
-
[플러터 기초] 주석에 대해
안녕하세요. 오늘은 주석에 대해서 설명해드리려고 합니다. 주석이란?? 주석이란 프로그램을 개발하는 개발자가 코드를 다른 개발자와 같은 사람에게 설명하기 위해 작성하는 것입니다. 주석을 작성하는 방법은 아래 코드와 같이 작성합니다. 위에 회색 주석은 보통 변수나 제어문, 반복문을 설명할 때 사용합니다. 아래 초록색 주석은 메소드나 클래스를 설명할 때 사용하는데요. 정답은 아닐 수 있습니다. 제가 사용하는 방법이고요. 더 좋은 사용 방법들도 많을거에요! 주석은 코드를 읽는 사람들에게 쉽게 코드를 읽을 수 있도록 해야합니다. 오히려 코드를 읽는게 방해가 되면 나쁜 주석이라고 할 수 있습니다. 글을 한번에 잘 쓸 수 없는 것처럼 주석도 한번에 완벽하게 작성할 수 없다고 생각합니다. 각자에게 맞는 주석 처리 방법..
-
[플러터 기초] 공부할 때 사용할 DartPad를 소개합니다.
안녕하세요. 오늘부터 다시 초심으로 돌아가 플러터 기초를 공부하며 올려볼까 합니다. 우선 플러터 기초는 DartPad를 이용하여 진행할까 합니다. DartPad란? DartPad란 Dart언어 개발자들이 만들고 누구든지 쓸 수 있도록 무료로 제공하는 사이트입니다. 웹 사이트에 접속만 할 수 있다면 언제든지 Dart언어를 실행하고 결과를 얻어볼 수 있습니다. 별도 개발환경 없이 간단하게 실행할 수 있습니다. 의외로 많은 기능을 제공하기도 하고요. 간단하게 테스트할 코드나 기능 알고리즘을 구현해보고, 실험해보는 테스트라고 알고 계시면 될 것 같습니다. https://dartpad.dev/? DartPad dartpad.dev DartPad 사용법 지금부터 DartPad를 사용하는 방법을 알려드릴게요! 엄청 ..
-
[플러터 개발] 카카오톡 로그인 구현하기
오늘은 카카오톡 로그인을 구현하기 위한 준비를 해볼게요. kakao developers 회원가입 일단 kakao developers에 들어가서 회원가입 및 로그인 해주세요. https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com kakao developers에서 앱 추가 '내 어플리케이션'에 들어가셔서 애플리케이션 추가하기를 눌러주세요! 그럼 위 그림처럼 앱 정보를 작성하는 화면이 나옵니다. 잘 작성하시고 저장을 누르시면 돼요! kakao developers 플랫폼 설정 우선, 플랫폼 설정을 해볼거에..
-
[플러터 개발] SHA 키 해시 확인하기
안녕하세요. 오늘은 SHA 키 해시를 확인을 해보겠습니다. 안드로이드 스튜디오에서 Android 폴더 열기 안드로이드 스튜디오에서 'android'폴더에서 아무 파일이나 들어가셔서 'Open for Editing in Android Studio'를 클릭하셔서 안드로이드 폴더를 따로 열어줍니다. gradle signingReport 찾기 안드로이드 폴더를 따로 열어서 오른쪽 상단에 있는 Gradle 버튼을 눌러줍니다. 그럼 두번째 사진과 같은 창이 뜨면 왼쪽 위에 코끼리 모양 버튼을 눌러주세요 그럼 검색창 같은게 하나 뜰텐데요. 검색창에 'gradle signingReport'를 작성하시고, 엔터키를 누르시면 SHA 키 해시가 뜰거에요! SHA 키 해시 확인하기 오늘은 키 해시 확인하는 방법을 알아봤습니다..
-
[플러터 개념] Stateless와 Stateful
플러터 앱을 구성하는 위젯은 StatelessWidget과 StatefulWidget 두 가지로 구분할 수 있습니다. 오늘은 Stateless와 Stateful에 대해 알아보겠습니다. StatelessWidget 과 StatefulWidget을 선택할 때는 UI의 요구 사항을 고려해야 합니다. Stateless Stateless 위젯은 현재 상태를 저장할 수 없습니다. UI가 사용자 상호 작용에 따라 변경되지 않아야 하는 경우에 유용합니다. 예를 들어보면, 버튼을 클릭할 때마다 텍스트 위젯 안에 있는 텍스트를 바꾸는 화면 -> 부적합 단순히 텍스트를 표시하는 화면 -> 적합 Stateful Stateful 위젯은 현재 상태를 저장할 수 있습니다. UI가 사용자 상호 작용에 따라 변경되어야 하는 경우에 유..
-
[플러터 개발] IOS, 안드로이드 앱 폰트 바꾸기
안녕하세요! 오늘은 플러터 앱에서 폰트를 바꿔볼게요! 준비물 준비물은 원하는 폰트. ttf 파일이에요! 아직 원하는 폰트를 찾지 못하신 분들을 위해서 제가 기본적인 대표 폰트 사이트를 공유해 드릴게요! 이 사이트에서는 상업적으로 무료인 폰트들이 있으니까, 원하는 폰트 잘 찾아가세요! https://noonnu.cc/ 눈누 상업용 무료한글폰트 사이트 noonnu.cc 디렉터리 생성 자 우선 폰트 파일을 플러터 앱 폴더에 넣어줘야겠죠? 플러터 프로젝트를 우클릭하고 "assets" 디렉터리를 새로 만들어줍니다. 이미지나 애니메이션을 넣느라 이미 있으신 분들도 계실 텐데요. 없으신 분들을 위해 알려드릴게요! 다음은 "assets" 파일에서 "fonts" 디렉터리를 또 만들어줍니다! "fonts" 디렉터리..
-
[플러터 개발] Flutter - 나만의 커스텀 앱바 만들어보기(AppBar)
안녕하세요! 오늘은 나만의 앱바를 만들어보는 시간을 가져보려고 합니다! 앱바는 메인 앱바, 뒤로 가기가 있는 서브 앱바를 만들어볼게요! 디렉터리 생성 우선 디렉터리와 dart 파일들을 만들어볼까요? 우선 디렉터리와 파일을 설명해 드릴게요. screen 디렉터리 : 페이지들을 저장하는 폴더 main_screen.dart : 메인 페이지의 코드를 작성할 파일 sub_screen.dart : 서브 페이지의 코드를 작성할 파일 widget 디렉터리 : 커스텀 위젯들을 저장하는 폴더 appbar 디렉터리 : 커스텀 앱바들을 저장하는 폴더 main_app_bar.dart : 메인 앱바의 코드를 작성할 파일 sub_app_bar.dart : 서브 앱바의 코드를 작성할 파일 이제 파일 하나씩 파고 들어가 볼까요?..
-
[플러터 개발] 플러터에서 IOS, 안드로이드 아이콘 변경하기!
오늘은 아이콘 변경하는 방법을 알려드릴 거예요! 패키지 설치 우선 먼저 사용하는 flutter_launcher_icons 를 알려드릴게요! 링크 클릭하시면 정보를 얻을 수 있어요! https://pub.dev/packages/flutter_launcher_icons 우선 내 플러터에 설치를 해야겠죠?? 터미널에 아래 명령어를 써줍니다! flutter pub add flutter_launcher_icons 그리고 내가 준비한 아이콘을 프로젝트 폴더 안에 'assets'폴더를 만들어 그 폴더 안에 넣습니다! # 아이콘은 512 x 512 픽셀로 맞춰두면 좋아요! 스토어에 올릴 때 사용해야할 아이콘 규정이랍니다! 저는 폰트랑 애니메이션도 앱에 넣어서 따로 폴더를 만들어 놨습니다. 폰트랑 애니메이션 폴더는 사용..
-
[플러터 개발] 안드로이드와 IOS 버전 변경 방법
오늘은 안드로이드 스튜디오에서 플러터로 개발할 때, 안드로이드와 iOS 버전을 변경하는 방법을 알아보겠습니다.' 플러터 버전 변경 먼저 플러터에서 버전을 변경하는 방법을 알아보겠습니다. pubspec.yaml파일에 들어가면 "version"이라고 써져있는 라인이 있습니다. version : 1.x.x+x 앞에 있는 "1.x.x"은 버전 이름이고요, "+x"는 빌드 번호입니다. 하지만 플러터 버전을 바꾼다고 안드로이드랑 iOS 버전이 바뀌는 건 아닙니다. 따로 설정을 해줘야 하는데요. 안드로이드 설정 방법 플러터 프로젝트 안에 있는 android 폴터에서 local.properties파일에 들어가줍니다. versionName이랑 versionCode를 각각 바꿔주면 되는데요, 아까 플러터에서 설정한 "1...
파이썬
-
[파이썬 기초] 문자열 자료형 - 심화편2
오늘은 f 문자열 포매팅과 문자열 관련 함수들을 공부해보겠습니다. f 문자열 포매팅 name = '쿼카' age = 25 f'나의 이름은 {name}입니다. 나이는 {age}입니다.' 이렇게 f를 앞에 붙이면 문자열에서 변수를 사용할 때 편리하게 사용할 수 있습니다. 포맷 코드 활용 1. 오른쪽으로 특정 크기 만큼 띄우기 2. 왼쪽으로 특정 크기 만큼 띄우기 3. 양쪽으로 특정 크기 만큼 띄우기 4. 양쪽으로 특정 문자로 채우기 * 왼쪽,오른쪽으로 채우기도 똑같이 >,< 를 이용해 사용하시면 됩니다. 문자열 관련 함수들 대소문자 변환 (upper, lower) 공백 삭제 (lstrip, rstrip, strip) - l이 붙으면 왼쪽 공백 삭제, r이 붙으면 오른쪽 공백 삭제 문자열 삽입 (join) 문..
-
[파이썬 기초] 문자열 자료형 - 심화편1
오늘은 문자열에 대한 심화지식을 공부해 보겠습니다. 문자열 인덱싱 인덱싱이란 '번호표'라고 생각하시면 되는데요. 프로그래밍의 순서는 대부분 0에서부터 시작됩니다. 앞에서부터 부르기 a = "안녕하세요." print(a[0]); 뒤에서부터 부르기 음수로 하면 뒤에서부터 번호를 매깁니다. 단, 음수로 할 때는 0번이 아닌 -1번부터 시작입니다. a = "안녕하세요." print(a[-1]); 문자열 슬라이싱 슬라이싱이라는건 잘라내는 걸 말하는데요. 위에서 배운 인덱싱(번호표)으로 범위를 선택하는데요. 문자열변수[a:b] -> 문자열 데이터에서 a번째 문자부터 (b-1)번째 문자까지 가져오기 a나 b를 생략할 수 있는데요. a를 생략하면 a[:b] -> 처음부터 (b-1)까지 b를 생략하면 a[a:] -> a..
-
[파이썬 기초] 문자열 자료형 - 기초편
문자열이란? 문자, 단어 등으로 구성된 문자들의 집합을 말한다. "안녕하세요." "Hello, python" "20230925" 문자열을 만드는 방법 1. 큰따옴표 "Hello, python" 2. 작은따옴표 'Quokka Blog' 3. 큰따옴표 3개 """우리는 지금 파이썬 기초를 배우고 있습니다""" 4. 작은따옴표 3개 '''현재 파이썬 기초 강의를 보고 있으십니다.''' 문자열 안에 따옴표 추가하는 방법1 따옴표를 추가하는 방법은 다른 따옴표를 쓰는 것입니다! 예를 들어, 큰 따옴표로 문자열을 만들었다면 작은 따옴표를 안에 쓸 수 있고요, 작은 따옴표로 문자열을 만들었다면 큰 따옴표를 안에 쓸 수 있습니다. 1. 큰따옴표 포함시키기 '우린 여기 모였습니다. 바로 "파이썬 기초"!!' 2. 작은따..
-
[파이썬 기초] 파이썬 입출력
입력 파이썬에서는 input() 함수를 사용하여 사용자로부터 입력을 받을 수 있습니다. input()은 사용자가 입력한 값을 문자열로 반환합니다. 출력 파이썬에서 출력은 print() 함수를 사용하여 출력합니다. print()함수의 인자( () 안에 들어간 데이터 )로 전달 받은 값을 화면에 출력합니다. 예제. 이름을 입력 받아 출력하기 name = input("이름을 입력해주세요. : ") print(name) 이상입니다.
-
[파이썬 기초] 기본 자료형
오늘은 기본 자료형을 공부해보겠습니다. 천천히 하나하나씩 공부해나가면 앞으로 잘 배울 수 있을거에요. 너무 무리하지 마시고, 천천히 한 게시글씩 공부해보세요. 프로그래밍을 포함해서 모든 분야는 기초가 탄탄해야합니다. 기초가 탄탄하지 않으면, 결국 멀리 가더라도 다시 기초를 공부하기 위해 돌아와야하니까요. 답답하고 빨리 앞으로 가고 싶더라도, 기초는 탄탄하게 쌓아 나갑시다! 자료형이란? - 프로그래밍을 할 때 쓰이는 숫자, 문자열 등등 자료 형태로 사용하는 모든 것 - 프로그래밍의 기본이자 핵심 단위 - 기초 공사와 같은 것 예시) 숫자, 문자열, 리스트, 튜플, 딕셔너리, 집합, 불(boolean) 자료형을 저장하는 공간 -> 변수 숫자형 (정수, 실수, x진수) 숫자형이란? 숫자 형태로 이루어진 자료형..
-
[파이썬 기초] 파이썬이란?
안녕하세요. 오늘은 파이썬이란 언어에 대해서 게시글을 올려보려고 합니다. 우선 파이썬을 배우기 전에, 파이썬에 대해서 알아봐야겠죠?? 무슨 프로그래밍언어인지 모르고 배우면 안되니까요. 파이썬이란?? 암스테르담의 Guido Van Rossum이 1990년에 개발한 언어입니다. '파이썬'은 고대 신화에 등장하는 파르나소스 산의 '큰 뱀'을 뜻하는데요. 해당 프로그램 언어를 개발한 개발한 사람 맘대로 이름을 붙입니다. 파이썬은 매우 강력하고 다재다능한 프로그래밍 언어입니다. 간결하고 읽기 쉬운 문법으로 유명하며, 웹 개발부터 데이터 과학, 인공 지능까지 다양한 분야에서 활용됩니다. 이 글에서는 파이썬을 공부하는 데 도움이 될 수 있는 몇 가지 중요한 정보를 알려드릴까 합니다. 파이썬의 장점 : 왜 파이썬인가요..
-
[파이썬 기초] 파이썬 설치 및 아나콘다 설치
안녕하세요. 오늘부터는 파이썬 기초도 기록해놓으려고 합니다. 우선 공부를 하기전에 공책과 연필을 준비하는 과정을 기록하겠습니다. 파이썬과 아나콘다를 설치하는 과정을 알려드릴게요. 1. 파이썬 설치 파이썬을 설치하는 사이트 주소는 https://www.python.org/ 입니다. Welcome to Python.org The official home of the Python Programming Language www.python.org 예전에 찍어뒀던거라 지금은 3.11.5 버전이네요. 버전 상관 없이 설치해주세요. 다운로드가 되었다면 setup프로그램을 실행시켜 주세요. 그리고 아래에 나와있는 것처럼 "Add Python 3.10 to PATH" 를 꼭 체크해주시고 "Install Now" 버튼을 눌..
-
[파이썬 심화] 5-1. Pandas 정의와 시리즈 클래스
팬더스(Pandas)란 경영, 경제학에서 주로 사용되는 패널 데이터(Panel Data)에서 유래 R에서 사용되는 data.frame과 유사한 DataFrame 구조를 사용 주로 pd로 import (즉, import pandas as pd) 시리즈(Series) 클래스 numpy의 배열과 비슷한 형태지만, 값마다 인덱스를 붙일 수 있음 즉, 시리즈 = 값(value) + 인덱스(index) # 지역별 인구 데이터 ('23년 5월 기준, 1단위: 만 명) import pandas as pd s1 = pd.Series([1361,941,330,297]) # 인덱스를 안 붙였을 때 print(s1) ''' 0 1361 1 941 2 330 3 297 ''' s2 = pd.Series([1361,941,330..
-
[파이썬 심화] 5-2. Pandas 데이터프레임 클래스
데이터프레임(DataFrame) 클래스데이터프레임은 2차원 행렬 데이터에 인덱스를 붙인 것 - 따라서, 행 인덱스(row index)와 열 인덱스(column index)가 별도로 존재data = {'2015' : [990,344,289], '2010': [963,339,263], '2005':[976,351,251]} columns = ['2015','2010','2005'] index = ['서울','부산','인천'] df = pd.DataFrame(data,index=index,columns=columns) print(df) ''' 2015 2010 2005 서울 990 963 976 부산 344 339 351 인천 289 263 251 ''' 리스트 형태로도 가능 - 단, 리스트는 입력 모양 그대..
-
[파이썬 심화] 4-2. NumPy 샘플링, 카운팅
샘플링데이터에서 표본을 무작위로 선택하는 과정np.random.choid(a,size=None,replace=True,p=None) a : 정수 = arange(a), 배열 = 원래 데이터 size : 샘플 숫자 (정수) replace : True면 복원추출(같은 값이 여러 번 표본으로 선택 가능) , False면 비복원추출(boolean, 디폴트는 True) p : 각 데이터의 선택 확률 (리스트)print(np.random.choice(4,3)) # 0 ~ 3 중 3개 샘플링 - 중복 가능(복원추출) # [0 2 2] print(np.random.choice(4,3, replace=False)) # 중복 불가능(비복원추출) # [3 2 0] print(np.random.choice(4)) # 0 ~ ..
-
[파이썬 심화] 4-1. NumPy 기술 통계, 난수 발생
기술 통계import numpy as np x = np.array([10,15,34,96,16,24,81,51,22,34]) print(len(x)) # 배열 원소의 개수 print(np.mean(x)) # 배열 원소의 평균 print(np.var(x)) # 분산 print(np.std(x)) # 표준편차 print(np.max(x)) # 최대값 print(np.min(x)) # 최소값 print(np.median(x)) # 중앙값 print(np.percentile(x, 10)) # 하위 10% 값 print(np.percentile(x, 25)) # 하위 25% 값 (1사분위) print(np.percentile(x, 50)) # 중앙값 (2사분위) 난수 발생random 서브패키지의 rand 함수 ..
-
[파이썬 심화] 3-2. NumPy 차원 축소 연산, 정렬
차원 축소 연산최대/최소, 합, 평균, 표준편차 등 차원을 축소하는 연산x = np.array([1,4,2,3]) print(np.sum(x)) # 합 : 10 print(np.min(x)) # 최소값 : 1 print(np.max(x)) # 최대값 : 4 print(np.argmin(x)) # 최소값의 위치 : 0 print(np.argmax(x)) # 최대값의 위치 : 1 print(np.mean(x)) # 평균 : 2.5 print(np.median(x)) # 중간값 : 2.5all, any - all : 모든 데이터가 True면 True - any : 하나라도 True면 Truex = np.array([True, True, False]) print(np.all(x)) # False print(np..
-
[파이썬 심화] 3-1. NumPy 벡터화 연산 속도 비교, 브로드캐스팅
일반 연산과 벡터화 연산 계산 속도 비교 일반 연산 import numpy as np import time x = np.arange(1,10001) y = np.arange(10001,20001) # 일반 연산 start = time.time() # 시작 시간 측정 z = np.zeros_like(x) for i in range(10000): z[i] = x[i] + y[i] end = time.time() # 종료 시간 측정 print(z[:10]) # [10002 10004 10006 10008 10010 10012 10014 10016 10018 10020] print('%.8f sec' %(end-start)) # 0.00582504 sec 벡터화 연산 # 백터화 연산 start = time.ti..
-
[파이썬 심화] 2-2. NumPy 배열 변형
전치(transpose) 행과 열을 바꾸는 작업 - T로 표기 a = np.array([[1,2,3],[4,5,6]]) print(a) ''' [[1,2,3] [4,5,6]] ''' print(a.T) ''' [[1,4] [2,5] [3,6]] ''' 크기 변형 배원 차원 변형 - reshape a = np.arange(12) print(a) # [0 1 2 3 4 5 6 7 8 9 10 11] b=a.reshape(3,4) print(b) ''' [[0 1 2 3] [4 5 6 7] [8 9 10 11]] ''' reshape() 함수 안에 -1로 대체 가능 ( 원소 개수는 정해져 있어서 가능 ) ※ reshape한 배열들은 완전히 다른 배열이다. a = np.arange(12) print(a) # [..
-
[파이썬 심화] 2-1. NumPy 배열 생성
NumPy 자료형 - ndarray 클래스의 원소는 모두 같은 자료형이어야 함 - np.array로 배열을 만들 때 dtype으로 자료형을 명시 * dtype 인수가 없다면 자료형을 스스로 유추해냄 import numpy as np a = np.array([1,2,3]) print(a.dtype) # int64 a = np.array([1.0,2.0,3.0]) print(a.dtype) # float64 a = np.array([1,2,3.0]) print(a.dtype) # float64 dtype 접두사 설명 사용 예 b 불리언 b (참 혹은 거짓) i 정수 i8 (64비트) u 부호 없는 정수 u8 (64비트) f 부동소수점 f8 (64비트) c 복소 부동소수점 c16 (128비트) O 객체 0 ..
-
[파이썬 심화] 1-2. NumPy 배열 인덱싱
인덱싱 기존의 인덱싱과 매우 유사 import numpy as np a = np.array([0,1,2,3,4]) print(a) #[0 1 2 3 4] print(a[0]) # 0 print(a[1]) # 1 print(a[-1]) # 4 n차원 일 때는 콤마( , )로 구분 import numpy as np a = np.array([[0,1,2],[3,4,5]) print(a) ''' 결과 [[0 1 2] [3 4 5]] ''' print(a[0,0]) # 0 print(a[0,1]) # 1 print(a[1,0]) # 3 print(a[-1,-1]) # 5 슬라이싱 기존의 인덱싱과 매우 유사 a = np.array([0,1,2,3,4]) print(a) # [0 1 2 3 4] print(a[1:3..
-
[파이썬 심화] 1-1. NumPy 배열
NumPy 패키지란? 수치해석용 파이썬 패키지 벡터, 행렬 등 선형대수로 주로 사용 내부 반복문이 C로 구현되어 있어 파이썬에 비해 속도가 빠름 관례적으로 np로 import(즉, import numpy as np) 배열 1. 사용 방법 import numpy as np arr = np.array([0,1,2,3,4]) print(arr) # [0 1 2 3 4] print(type(arr)) # n-차원 배열(n-dimensional array) 리스트와 차이점 - 모든 원소가 같은 자료형이어야 함. - 원소의 개수를 바꿀 수 없음 - 벡터화 연산을 수행 리스트에 비해 제약이 많으나, 이로 인해 실행 속도가 빠름 벡터화 연산 데이터를 모두 2배 해야하는 경우 (배열 안에 있는 수 하나하나 2배 해야하는..
창업
- 방문자수
- Best Story
전체 방문자
오늘 방문자
어제 방문자