본문 바로가기

프로그래밍 언어

파이썬 Python 코딩_03_변수 Variable(변수) 변수(variable)는 값을 임시로 저장해 둘 수 있는 상자와 같다. 참고: 코틀린 변수 변수 실습을 해보자. 당분간은 윈도우즈 파워쉘을 사용해서 코딩한다. 파워쉘(power shell)을 실행한 후 파이썬을 사용할 수 있도록 python을 입력한 후 엔터키를 친다. 실습: 변수 x 에 1을 넣은 후 x 의 값을 확인한다. 코딩에서 = 부호는 '같다'를 나타내는 것이 아니고 '넣는다, 저장한다'의 뜻이다. 그러므로 x=1 의 뜻은 'x에 저장하라 (뭘) 1을' 이다. 실습: 변수 x 에 2을 넣고, 변수 y 에는 3를 넣은 후 x 와 y 의 값을 확인한다. 실습: 변수 a 에 문자열 Hello Python 을 넣은 후 a의 값을 확인한다. 문자열은 큰따옴표 또는 작은따옴표를 사용.. 더보기
파이썬 Python 속성 정리_01 파이썬 기초 압축 정리 지금부터 인공지능(AI)를 학습하기에 앞서 파이썬을 먼저 학습할 것이다. 참고로 글의 내용은 앞서 '코틀린' 기초를 어느 정도 학습한 상태임을 전제로 작성한다. 즉, 완전 쌩초보 상태에서는 벗어난 수준이라고 가정한다. 만약 한번도 프로그래밍 언어를 접해본 적이 없다면 '코틀린 쌩초보를 위한 기초'에 있는 글들과 함께 보면 이해할 수 있을 것이다. 여기서는 인공지능을 위해 파이썬을 배우는 것이므로 되도록 핵심만 학습할 예정이다. 파이썬을 빨리 배우기 위해 압축되어 있는 강의를 찾다가 유튜브에서 Teccboi Wonie(테크보이 워니)의 "코딩 1시간만에 배우기" 강의가 1시간30분 정도 분량이라서 이것과 다른 자료를 참고해서 정리하려고 한다. 더 자세히 배우려면 몇 시간짜리 무료 강.. 더보기
파이썬 Python 속성 정리_00 파이썬을 시작하며... 새 천년이 시작한 후 세계는 이것 때문에 급변하고 있다. 이것은 바로 AI (Artificial Intelligence 인공지능)이다. 2020년 현재는 인공지능의 새벽이라고 할 수 있다. 현재 인공지능을 이용한 다양한 기술들이 알게 모르게 우리 실생활에 스며들고 있다. 세계적인 기업들(구글, IBM, 마이크로소프트, 아마존 등)은 앞다퉈 인공지능 개발에 몰두하고 있다. 많은 과학자들은 앞으로 지금까지의 어떤 기술 보다도 더 큰 변화를 가져올 것이라고 예견하고 있다. 인공지능 기술은 나 같은 중년들에게는 흥미롭지만 젊은 세대 이하는 반드시 익혀야 하는 필수 기술이 될 것이다. 인공지능 기술을 익히는 사람은 살아남고, 그렇지 못하면 도태한다고 경고하는 지식인들이 많다. 그래서 나도 .. 더보기
코틀린 더파기_13_class_개념과 생성 앱 또는 프로그램도 업그레이드로 문제점을 수정하고 성능을 향상시키듯이, 프로그램 코드를 작성하는 기법도 보완과 필요성에 따라 지금까지 다양하게 발전되어 왔다. 처음 등장한 것은 Procedural Programming (절차적 프로그래밍) 기법이다. 지금도 간단한 앱을 만들거나 코딩 초보자인 경우는 대부분 이 기법을 사용하여 코딩한다고 할 수 있다. 이 기법은 기본적으로 작업을 어떤 과정으로 하고 어떻게 끝내야 하는 지에 대한 논리적 단계를 만드는 것이다. 즉, 프로그램을 procedure(프로시저) 단위로 작성한 후 procedure call(프로시저 호출)을 사용하는 개념으로 작동한다. procedure의 다른 이름은 routine(루틴) , function(함수)이다. 요약하면 절차적 프로그래밍 기.. 더보기
Kotlin더파기_12_Collection_Map 컬렉션 Map(맵) 타입은 List, Set과 마찬가지로 기본적으로 읽기전용이다. 다른 기능도 비슷하지만 특징적인 점은 '쌍'으로 데이터를 저장한다는 것이다. Map은 Key(키)와 Value(값)을 한 쌍으로 만들어 이것을 entry(엔트리)라는 데이터로 저장한다. Map의 Key는 하나뿐인 키를 가지고 자신과 쌍을 이룬 Value(값)을 기억한다. 그러므로 Map은 Key가 유일하며 Set은 Value(값)이 유일하다. Map 만들기 Map을 만들 때는 mapOf , mutableMapOf 함수를 사용한다. 각각의 애완동물을 위해 물건을 살 수 있는 돈이 정해져 있다고 가정하고 이것을 Map으로 만들면 다음과 같다. 맵을 만들어 출력해 보면 key=value 모양으로 나타난다. 이때 key는 모두 같.. 더보기
Kotlin더파기_11_Collection_Set list(리스트)는 각 요소를 index 위치로 찾기 때문에 중복이 가능하다. 그런데 요소를 중복하지 않도록 해서 같은 값은 하나만 저장하려면 set을 사용한다. 그러므로 set의 특징은 저장된 요소가 중복되지 않으며 순서가 있지도 않다. 그 외는 list와 비슷하다. Set 만들기 컬렉션 set를 만든다. set 안에 요소가 있는지 확인한다. 특정 위치 요소 찾기 set은 index(인덱스)를 사용하지 않기 때문에 인덱스 연산자[ ] 를 사용할 수 없다. 그러나 요소의 반복 처리 함수인 elementAt을 사용하여 알아낼 수는 있다. 요소가 많으면 list보다 속도가 느리고 인덱스에서 사용하는 add같은 변경자 함수도 사용할 수 없으므로 인덱스로 요소를 관리할 때는 list를 사용한다. 그러므로 중복 .. 더보기
Kotlin더파기_10_Collection_List collect는 '모으다, 수집하다' collection은 '수집품, 더미'의 뜻이다. 코딩에서 collection(컬렉션)은 '모여있는 값(value)'을 나타낸다. 컬렉션에 모여있는 각각의 값을 element(요소)라고 한다. 컬렉션은 3가지 종류가 있다. List (리스트) : 각 요소가 순서대로 중복도 가능하게 저장되어 있다. Set (세트) : 요소들이 중복되지 않게 저장되어 있다. Map (맵) : key(키)와 value(값)이 한 쌍을 이루어 저장되어 있다. 코틀린의 컬렉션은 2가지 Type(타입)이 있다. mutable : 변경 가능 타입 read-only : 읽기 전용 타입 List (리스트) 리스트를 저장할 변수를 만든다. 변수 선언은 변하지 않는 val로 선언한다. listOf 함수.. 더보기
Kotlin더파기_09_표준함수 표준함수는 코틀린 라이브러리에 있는 내장함수 및 확장함수(extension function)다. 확장함수를 사용하면 Type을 변경하지 않고 새 기능을 추가할 수 있다. lambda(람다)를 인자로 받아서 동작한다. apply 객체를 구성할 때 반복을 줄일 수 있다. 예를 들어 텍스트 파일을 사용하기 위해 File객체를 생성하고 읽기,쓰기,실행 속성을 만든다고 하자. File객체를 구성하는 함수들을 호출할 때 참조변수(menuFile)를 사용한다. val menuFile = File("menu_file.txt") menuFile.setReadable(true) menuFile.setWritable(true) menuFile.setExecutable(false) apply함수를 사용하여 다음과 같이 바꿀수.. 더보기