파이썬(python)을 사용하다 보면 버전 변경에 정말 민감하게 반응합니다. 특정 버전에서 사용하던 함수가 없어지거나, 최신 버전에서만 사용 가능한 함수가 지원될 수 있습니다. 오늘은 PyCharm을 사용하면서 파이썬(python) 버전을 변경하는 방법을 알아보겠습니다.
파이썬(python)을 공부하면서 인터넷에 특정 소스를 확인할 경우 동일한 코드인데 오류가 발생하는 일이 종종 발생합니다. 이를 해결하기 위해서는 먼저 특정 소스 작성 일자를 먼저 확인해야 합니다. 너무 오래된 내용일 경우 함수가 사라진 경우이고, PyCharm 설치 시점보다 소스가 나중에 작성되었다면 최신 버전에서만 사용할 수 있는 내용입니다. match 함수를 사용하려고 하니까 fmmatch 함수만 확인되는 상황입니다. 홈페이지에서 내용을 확인하니까. match 함수는 파이썬(python) 버전 3.10 이상에서만 사용할 수 있는 함수였습니다. 그래서 파이썬(python) 버전업을 진행하기로 했습니다.
PyCharm에서 설정으로 이동 후 python 인터프리터 메뉴를 확인할 수 있습니다. PyCharm 버전이 최신일 경우 한글을 지원합니다. Python 인터프리터 항목에서 파이썬(python) 버전이 3.9만 확인됩니다.
파이썬(python) 홈페이지로 이동해서 최신 버전을 확인합니다. 최신 버전은 상단에 있는 버튼을 클릭하면 바로 다운로드 가능합니다. 최신 버전은 3.10.3 버전입니다. 설치 파일을 실행하고 경로를 선택하면 설치됩니다.
Python 인터프리터 메뉴로 이동하면 설치된 최신 버전을 바로 확인할 수 없습니다. 위 사진처럼 최신 버전을 확인하기 위해서는 버전을 등록해야 합니다. 리스트 상단에 있는 '+' 버튼을 클릭해서 Python 인터프리터 추가 메뉴를 활성화합니다.
"기본 인터프리터" 항목에서 폴더 선택 버튼을 클릭합니다.
최신 버전이 설치된 위치에서 phthon.exe를 선택하고 "확인" 버튼을 클릭합니다.
리스트에 파이썬(python) 최신 버전 3.10을 확인할 수 있습니다.
이제 리스트에서 최신 버전을 선택하고 "확인" 버튼을 클릭하면 최신 버전에 따른 Reload가 진행됩니다. 정상적으로 안될 경우 PyCharm을 재 실행하면 됩니다. 파이썬(python) 버전 변경은 매우 중요한 내용이기 때문에 꼭 숙지하시고 최신 버전에 따른 Release 노트도 시간이 되면 매일 확인해주세요.
파이썬(python)은 다양한 제어문, 반복문을 사용해서 더욱더 쉽게 코드를 작성할 수 있습니다. 오늘은 파이썬(python)에서 자주 사용하는 제어문, 반복문을 알아보겠습니다.
if 문
파이썬(python)에서는 if문을 사용해서 변수를 확인할 수 있습니다. 기본적으로 if 문에서 정의된 내용을 기준으로 elif, else로 구분해서 코드 분기가 가능합니다. 파이썬(python)은 들여쓰기를 기준으로 컴파일되기 때문에 if문 사용 후 들여 쓰기가 적용되기 전까지 제어문으로 인식합니다.
value 값이 2로 입력 받아서 마지막 제어문 else를 실행한 결과입니다. 간단하게 매우 자주 사용하는 제어문입니다.
for 문
for 문은 배열에 저장된 순서로 루프를 돌면서 value 값을 확인할 수 있는 반복문입니다. 배열을 선언 후 특정 값으로 초기화하고 for을 사용했습니다.
출력 결과 words에 저장된 내용이 출력되는 것을 확인할 수 있습니다.
for문은 배열에 저장된 특정 키를 확인 후 복사 및 삭제가 가능합니다. sports 배열을 생성할 때 별도 키 값으로 현재 배열 상태를 구분합니다. copy() 메서드를 사용해서 items를 복사하고, status로 특정 키 값을 검색합니다. 특정 키와 status가 일치한다면 del 함수를 사용해서 sports에서 'inactive' 항목을 삭제합니다.
출력 결과 기존 항목에서 'invactive'가 삭제된 내용을 확인할 수 있습니다. 신규 배열을 선언하고, for 문을 사용해서 새로운 배열 생성도 가능합니다.
range
range는 파라메타(parameter)에 따라서 연속적인 내용을 리턴하는 함수입니다. 기본적으로 파라미터(patameter)에 입력된 내용을 기준으로 리턴하며, 두 번째 파라미터(patameter)를 사용할 경우, 첫 번째 파라미터(patameter)부터 두 번째 파라미터(patameter)까지 연속적인 내용을 리턴합니다. 세 번째 파라미터(patameter)를 사용할 경우 연속적인 내용 중에서 입력된 세 번째 파라미터(patameter)만큼 이동해서 값이 설정됩니다.
출력 결과 처음에는 연속적인 숫자이며, 두 번째는 설정 범위 내용을 출력하고, 세 번째는 증가분이 적용되는 것을 확인할 수 있습니다.
match 문
파이썬(python)에서는 match문을 사용할 수 있습니다. match문은 기존 C언어에서 사용하는 switch문과 동일한 구조로 사용 가능합니다. match문은 파이썬(python) 3.10 버전 이상부터 사용이 가능하기 때문에 match문을 사용하고 싶다면 파이썬(python) 버전을 최신 버전으로 변경해야 합니다. match 문은 기존 switch문과 동일하며 default 대신 '-'문자로 구분됩니다.
출력 결과 입력된 http_code가 없기 때문에 default로 선언된 "Code not fund"를 확인할 수 있습니다.
파이썬(python)은 다양한 제어문을 사용해서 코드를 작성할 수 있고 버전에 따라서 상이하기 때문에 사용하고 싶은 제어문 또는 반복문을 기능에서 확인 후 버전을 선택해주세요.
파이썬(python)을 사용해서 코딩을 하다 보면 복잡한 내용을 정리해야 하는 경우가 있습니다. 기본적으로 코딩 외에 글은 주석으로 처리해서 컴파일과 무관하게 기록할 수 있습니다. 오늘은 파이썬(python)에서 한줄, 여러 줄 주석 다는 법을 알아보겠습니다.
파이썬(python) 한 줄 주석
파이썬(python)은 기본적으로 '#'을 사용해서 주석을 설정할 수 있습니다. '#' 주석은 코드 위치와 상관없이 '#' 위치부터 주석으로 인정됩니다.
파이썬(python) 여러 줄 주석
'#'을 사용하면 한줄 주석이 가능하지만, 개행을 할 경우 주석이 소멸되는 문제가 있습니다. 그래서 파이썬(python)에서는 여러 줄을 주석하기 위해서 큰따옴표(""") 연속 3개와 작은 따옴표(''') 연속 3개를 사용할 수 있습니다. 주석을 달고 싶은 문장 처음 부분에 연속 큰따옴표를 입력하면 뒤쪽으로 주석 처리가 진행됩니다. 문장 끝쪽에 다시 큰따옴표를 3개 사용하면 주석이 종료됩니다.
작은따옴표도 동일하게 3개를 사용하면 여러줄 주석 처리가 가능합니다. 여러 줄 주석은 긴 문장을 주석할 수 있기 때문에 소스 코드 상단에 사용하기 좋습니다.
파이썬(python) 주석 단축키
한 줄 및 여러 줄을 간편하게 주석하기 위해서는 단축키를 사용해서 주석 처리가 가능합니다.
PyCharm을 사용하는 기준으로 Windows에서는 CTRL + / 이고, MAC에서는 Command + /입니다.
주석을 달기 위해서 라인을 선택하고 CTRL + /을 클릭하면 '#'이 생성되면서 주석 처리가 진행됩니다.
개행된 문장을 주석처리하는 방법도 동일하게 문장을 선택하고 CTRL + /을 클릭하면 한 줄마다 '#' 처리되어 주석으로 변경됩니다.
파이썬(python) 주석 처리 주의사항
파이썬(python) 주석 처리에서 가장 중요한 내용은 주석을 취소할 경우 "들여 쓰기" 오류가 발생하는 문제가 있습니다. 파이썬(python)은 "들여 쓰기"에 따라서 컴파일이 실행되기 때문에 주석을 풀 경우 들여 쓰기를 다시 확인해야 합니다. 코드 부분에 주석을 사용할 경우 하단에 빨간색 줄이 보이면 "들여 쓰기"를 다시 한번 확인해주세요.
개발에서 주석은 매우 중요한 부분입니다. 파이썬(python)은 다양한 알고리즘을 기본으로 사용하기 때문에 다른 언어보다 많은 주석이 필요하다고 생각됩니다. 오늘부터 주석을 습관화하면서 코드 가독성을 높여보세요.
formatName 함수는 user 메서드 firstName, lastName를 사용해서 이름을 생성하는 함수입니다.
<h1>
Hello,{formatName(user)}!
</h1>
'{' 기호를 사용해서 formatName 함수를 호출하면 user 이름을 확인할 수 있습니다.
리액트(React)는 간단하게 함수를 만들 수 있고, 태그를 사용해서 함수에 접근 가능합니다. 출력 결과 user 이름을 확인할 수 있습니다. 기본적으로 함수 및 Component를 만들어서 다양한 기능을 개발할 수 있습니다.
증감, 감소 기능을 구현하기 위해서 useState를 사용해서 counter를 진행하겠습니다.
const [counter, setCounter] = useState(0)
useState는 리액트(React)에 사용되는 Hook 입니다. Hook은 함수 컴포넌트에서 React state와 생명주기 기능(lifecycle features)을 연동할 수 있게 해주는 함수입니다. Hook은 class 안에서는 동작하지 않습니다. 대신 class 없이 React를 사용할 수 있게 해 줍니다. 간단하게 말하면 내장 Hook 기능으로 선언된 변수를 클라이언트에서 지속적으로 접근 변경이 가능한 컴포넌트(Component)입니다.
App.tsx 메인에 저장된 버튼 아래쪽에 Count 컴포넌트(Component)가 위치하는 것을 확인할 수 있습니다. 기존과 동일하게 동작하는 것을 확인할 수 있습니다. 리액트(React)는 컴포넌트(Component)를 사용해서 다양한 UI를 빠르게 전환할 수 있습니다. 내장 HOOK은 브라우저 새로고침 없이 state에 접근이 가능해서 서버 통신을 최소화할 수 있습니다. UI를 컴포넌트(Component) 기반으로 댜앙하게 개발하면 재 사용을 높일 수 있어 빠른 개발에 도움을 줍니다.
리액트(React)는 다양한 프로그램을 사용해서 컴파일이 가능합니다. 오늘은 인텔리제이(IntelliJ)를 사용해서 프로젝트를 생성하는 방법을 알아보겠습니다. 인텔리제이(IntelliJ)는 다양한 기능을 사용할 수 있어 정말 편리하게 사용할 수 있습니다.
리액트(React) 프로젝트를 생성하기 위해서는 기본적으로 리액트(React)가 설치되어 있어야 합니다. 인텔리제이(IntelliJ)를 설치하고 File -> New -> Project 메뉴를 선택해주세요.
하단에 있는 javaScript 메뉴에서 React를 선택하고 Next 버튼을 클릭합니다.
리액트(React) 프로젝트 만들기 창이 출력되면 프로젝트를 생성하기 위한 폴더를 선택합니다. 가장 중요한 선택은 "Create TypeScript Project"를 체크해야 모든 프로젝트 파일을 생성합니다. 체크를 안 하면 빈 프로젝트를 생성합니다.
create-react-app을 사용해서 프로젝트를 생성합니다. 생성 시간은 전체 패키지를 설치하기 때문에 시간이 조금 걸립니다.
생성한 폴더로 이동하면 리액트(React) 프로젝트 파일을 확인할 수 있습니다.
인텔리제이(IntelliJ) 프로젝트 창에서 리액트(React) 소스를 모두 확인할 수 있습니다. src 폴더에 있는 소스 파일을 수정하면 기본적인 리액트(React) 스크립트를 변경할 수 있습니다.
리액트(React)를 컴파일 하기 위해서 위쪽에 있는 npm start 우측에 있는 컴파일 버튼을 클릭해주세요.
별 문제가 없다면 위 내용 처럼 컴파일이 진행되면서 리액트(React) 뷰를 확인할 수 있습니다.
Terminal 창에서 npm start를 사용해서 컴파일도 가능하기 때문에 Command를 좋아하면 Terminal을 사용해주세요.
컴파일 결과 기본 브라우저로 리액트(React) 로그를 확인할 수 있습니다. 인텔리제이(IntelliJ)는 리액트(React) 및 스크립트를 사용할 수 있어 코딩하기 매우 편리합니다. 인텔리제이(IntelliJ)는 유료 제품으로 사용 가능하지만, 학생일 경우 무료로 이용 할 수 있습니다. 학생으로 사용하면 1년 단위로 업데이트가 가능하기 때문에 학생이라면 지금 바로 인텔리제이(IntelliJ)를 설치해서 리액트(React)를 공부해보세요.
오늘은 간단하게 코틀린(Kotlin)에서 시계 만드는 방법을 알아보겠습니다. 대부분 개발 언어에서 시계를 만들기 위해서는 Thread를 사용해서 시간을 확인하는 로직을 많이 사용합니다. 하지만, Android에서는 Thread를 사용하지 않고 Widget만을 사용해서 시계를 구현할 수 있습니다.
특별한 코드 없이 Activity_main.xml에 TextClock를 선언하면 바로 시계가 동작합니다.