본문 바로가기

분류 전체보기36

[Keras] AI-HUB 감성 대화 말뭉치 분류 - RNN - val_accuracy 0.4로 낮음. 개선 필요# 한글 처리# !sudo apt-get install -y fonts-nanum# !sudo fc-cache -fv# !rm ~/.cache/matplotlib -rfimport matplotlib.pyplot as pltplt.rc('font', family='NanumBarunGothic')import numpy as npimport pandas as pd# AI-HUB 감성 대화 말뭉치 활용하여 만든 데이터 읽어오기final_data = pd.read_csv('https://github.com/ohgzone/file1/raw/main/aihub_coupus.csv' )print(final_data.head())print(final_data.inf.. 2024. 5. 28.
[Keras] AI-HUB 감성 대화 말뭉치 분류 - LSTM - cpu활용시 속도 매우 느림- Colap T4 사용시 4분가량 학습- 여전히 val_accuracy # 한글 처리# !sudo apt-get install -y fonts-nanum# !sudo fc-cache -fv# !rm ~/.cache/matplotlib -rfimport matplotlib.pyplot as pltplt.rc('font', family='NanumBarunGothic')import numpy as npimport pandas as pd# AI-HUB 감성 대화 말뭉치 활용하여 만든 데이터 읽어오기final_data = pd.read_csv('https://github.com/ohgzone/file1/raw/main/aihub_coupus.csv' )print(final_dat.. 2024. 5. 28.
[Keras] flower_photo 데이터셋 분류 ResNet50V2를 활용한 transfer-learning, fine-tuning# windows# conda create -n AICE2 python==3.8 -y# conda activate AICE2# pip install tensorflow# pip install pillow# pip install scikit-learn# pip install matplotlib# pip install pandas# pip install seabornimport osfrom glob import globfrom PIL import Imagefrom sklearn.preprocessing import OneHotEncoderimport numpy as npimport tensorflow as tfimport ke.. 2024. 5. 28.
윈도우 IP 설정 배치 스크립트 (고정 ip, 유동 ip) 재택 근무할 때 ip를 매번 수동으로 바꿔주는 것에 지쳐서 배치파일로 고정 유동 ip를 바꿔주는 방법을 찾아 보았습니다. * 사실 그냥 ip주소 gpt한테 알려주고 바꿔주는 스크립트 짜달라고 물어보는게 편한거 같기도 하네요 ㅋㅋㅋㅋ 우선, 네트워크 이름 확인 - "유동 -> 고정" @echo off rem 네트워크 인터페이스 이름을 적절하게 수정하세요 (예: "이더넷", "Wi-Fi") set INTERFACE_NAME="Wi-Fi" set IP_ADDRESS=172.16.3.36 set SUBNET_MASK=255.255.0.0 set GATEWAY=172.16.0.1 set DOMAIN_1=8.8.8.8 set DOMAIN_2=8.8.4.4 netsh interface ip set address na.. 2023. 12. 6.
[Keras] DNN을 이용한 항공권 만족도 판별 # kaggle Airline Passenger Satisfaction dataset 활용 (train.csv만) # https://www.kaggle.com/datasets/teejmahal20/airline-passenger-satisfaction # DNN으로 고객의 만족 여부를 분류하는 모델 구현 import pandas as pd df = pd.read_csv('train.csv') # df = df[:5000] df = df.drop(columns = ['Unnamed: 0', 'id'], axis = 1) # 결측치 확인 print(df.isnull().sum()) # 결측치 평균으로 대체 from sklearn.impute import SimpleImputer mean_imputer = S.. 2023. 10. 25.
[Keras] Random Forest Classifier를 이용한 항공권 만족도 판별 # kaggle Airline Passenger Satisfaction dataset 활용 (train.csv만) # https://www.kaggle.com/datasets/teejmahal20/airline-passenger-satisfaction # rfc를 이용한 고객의 만족 여부를 분류하는 모델 구현 import pandas as pd cdf = pd.read_csv('train.csv') cdf = cdf[:5000] cdf = cdf.drop(columns = ['Unnamed: 0', 'id'], axis = 1) # pd.set_option('display.max_columns', None) print(cdf.head(1)) print(cdf.satisfaction.value_counts.. 2023. 10. 25.
[keras] Decision Tree Regressor를 이용한 항공권 가격 예측 Keras DTR를 이용한 항공권 가격 예측 # 항공권 가격 예측 # https://www.kaggle.com/datasets/shubhambathwal/flight-price-prediction # dtr로 항공권 가격 예측 import pandas as pd cdf = pd.read_csv('Clean_Dataset.csv') cdf = cdf[:5000] #시간 단축을 위해 데이터 줄이기 print(cdf.info()) # 0번째 column인 Unnamed: 0 는 index이긴 한데 필요 없으니 삭제 cdf.drop('Unnamed: 0', axis = 1, inplace = True) # inplace = True를 수행하면 원본 데이터에서 col을 삭제함 print(cdf.describe(i.. 2023. 10. 25.
[깃허브 Github 공부하기] 10. 커밋 수정/삭제하기 git status # Example1.txt를 생성하고 git add . git commit -m "Add Example1.txt" git status # Example1.txt에 내용을 작성하고 git add . git commit -m "Update Example1.txt" git status # Example1.txt를 삭제하고 git add . git commit -m "Delete Example1.txt" git status # Example2.txt를 생성하고 git add . git commit -m "Add Example2.txt" git log 여기서 Delete Example1.txt 커밋 메세지를 Drop Example1.txt로 수정하고자 한다면? git rebase -i HEAD.. 2022. 12. 8.
[깃허브 Github 공부하기] 9. Git Archive (git을 제외한 파일 압축다운로드) git archive : 소스코드만 다운로드 받기, 즉 .git폴더를 제외한 파일들을 받아서 압축파일로 다운로드 다른 사람에게 코드만 전달하고 싶을때 사용하면 되겠죠~! git archive --format=zip main -o Main.zip git archive --format= -o 2022. 12. 7.
[깃허브 Github 공부하기] 8. 소개글 README.md 파일 작성하기 마크 다운(Mark Down, md) 형식 1. Add a README로 생성 (or repo생성시 작성) 2. Edit new file 에서 수정 이후 Preview에서 결과 확인 가능. 이후 커밋 수행 3. local repository에서 pull git pull 물론 local에서 수정하고 push할 수 있지만, 웹페이지에서 수정하는 편이 훨씬 편하겠죠! 글자 크기 : #의 갯수 # 가장 큰 글자 practice_private ## 큰 글자 ### 작은 작은 글자 #### 샵은 ##### 일반적으로 5개까지 사용 소스코드 표기 : ```언어 ``` 인라인 소스코드 표기 : `` ```python def add_func(a, b): pass ``` ```c #include int main(void).. 2022. 12. 7.
[깃허브 Github 공부하기] 7. 로그 관리 git log git log --stat (복습) 로그가 길면 일부만 표시되고 로 다음 로그를 계속 볼 수 있음. 탈출은 git log --stat : 커밋의 통계 정보 출력 git log -p - : 숫자만큼의 로그의 정보를 구체적으로 표시 git log --pretty=oneline : 각 커밋 내역을 한줄로 표시 git log --pretty=format:"%h -> %an, %ar : %s" --graph * %h : 해시값 * %an : 작성자명(author name) * %ar : 작성 날짜 * %s : 커밋 주제 * --graph : 그래프와 함께 graph p : 커밋에 적용된 구체적 항목 출력 pretty : 커밋 정보를 지정한 형식으로 출력 * 사실, 깃허브 웹페이지상에서 GUI로 확인.. 2022. 12. 7.
[깃허브 Github 공부하기] 6. 원격 저장소 (Remote repository) 관리하기 .git 폴더가 존재하는 상위 폴더(메인 폴더)에서 명령어 입력해서 현재 상태 확인 가능 git remote git remote show origin git remote : 현재 원격 저장소로 어떤 것이 등록되어 있는지 확인 git remote show : 의 상세 정보 확인 * Fetch URL 주소로부터 fetch, pull을 받고, Push URL주소로 push를 한다는 의미. * 현재 HEAD 브랜치는 main git remote add test https://github.com/wooni-github/practice_private.git git remote -v git remote rename test temp git remote -v git remote rm temp git remote -v .. 2022. 12. 7.
[깃허브 Github 공부하기] 5. 브랜치(Branch) 만들고 통합하기 & 브랜치 충돌 해결하기 브랜치 (Branch) : 여러 개발자가 프로젝트에서 각기 다른 기능을 개발할 수 있도록 하는 기능 Git 저장소를 만들면 마스터 브랜치 (Master branch) 가 자동으로 생성됨 > 일반적으로 배포가 가능한 수준의 안정화된 버전을 담고 있습니다. 마스터에서 특정 시점에 Develop Branch (새로운 기능 개발) 혹은 Bug Branch (버그 수정) 을 만들어서 병렬로 프로그래밍을 수행하고, 완료된 시점에 Master Brach에 통합/합치기 (Merge) 통합 브랜치 : Master 토픽 브랜치 : 그 외 (각 기능을 위한 브랜치) 1. 새 브랜치 만들고 통합하기 git branch : 현재 브랜치 상황. 아무것도 추가하지 않았으니 main만 존재 ( * .git폴더가 포함된 폴더에서 동작.. 2022. 12. 6.
[깃허브 Github 공부하기] 4. 특정 지점으로 프로젝트 되돌리기, 커밋 메세지 변경하기 0. 기본세팅 새폴더 copied_practice_private2에 repository를 clone하고 pull을 통헤 remote와 local을 동일하게 맞춰줍니다. cd copied_practice_private2 git clone https://github.com/wooni-github/practice_private cd practice_private git pull 이후 mul이라는 함수를 추가해주고 add, commit, push git add . git commit -m "Add my_module [Mul]" git push git log 1. 특정 시점으로 돌아가기 git log를 통해 로그를 확인할 수 있습니다. => 모든 커밋 내역은 특정 해쉬값으로 매칭되어있습니다. * 스크롤 때문에 다.. 2022. 12. 6.
[깃허브 Github 공부하기] 3. 파일 추가/수정하고 원격지 업데이트하기 새 폴더에 기존 practice_private를 복사하여 진행해보기! (예제는 copied_practice_private 폴더) 1. git clone cd 디렉토리 git clone https://github.com/wooni-github/practice_private.git cd practice_private 2. 파일 추가 git status 로 추가된 파일이 표시되고, git add로 commit할 수 있다고 하네요. git add my_module.py git status git add로 Staging Area에 파일을 올려줍니다. git reset my_module.py git status 참고로, git reset으로 Staging area에서 내릴 수 있죠~! 동시에 모든 파일을 업/다운 .. 2022. 12. 6.
[깃허브 Github 공부하기] 2. 용어/동작원리 Github 용어 컨트리뷰션/컨트리뷰터 (coutribution/contributer) : 코드의 개선점 제시/개선 (누구나 할 수 있음) 커미터(committer) : 프로젝트의 코드를 실질적으로 바꿀 수 있는 사람들 (repository의 책임자가 되겠지). 누군가의 contribution을 보고 자신의 repository에 반영할지 결정하는 사람. 오픈소스 라이센스 MIT/Apache License : 무료, 배포, 코드 수정 가능. 2차 저작물 공개 의무 없음 (이 라이센스로 개발한 코드를 누군가에게 공개할 필요가 없음) GPL License : 무료, 배포, 코드 수정 가능. 2차 저작물 공개 의무 있음 Beerware : 아무 조건 없음 Working directory : 작업 파일이 존재하는.. 2022. 12. 6.
[깃허브 Github 공부하기] 1. 개발환경 구축하기 미루고 미루던 깃허브, 드디어 한번 공부해보려고 합니다! 우선 개발환경 구축 과정. 1. Git 다운로드 및 설치 (윈도우) https://git-scm.com/downloads Git - Downloads Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp git-scm.com 2. New reposi.. 2022. 12. 6.
집에서 학교/회사컴 접근하기. 원격제어 & 원격제어 튕김 방지를 위한 추가 작업 (크롬원격 + DPI + 시작프로그램 + 자동/예약부팅). 집에서 학교나 회사컴으로 공부하거나 일하는 전국의 대학원생(...)과 회사원들에게 도움이 되길 바랍니다. 당연한 얘기지만, 보통 학교나 회사에서, 편리하게 외부접속을 허용해 주지 않죠. 그런데 꼭 학교나 회사 컴퓨터를 집에서나, 혹은 교내 다른 부서/출장중에 내 컴퓨터에 접근해야 하는 일이 은근히 많습니다. 제아무리 클라우드로 동기화를 빠르게 한다지만, 분명히 내 컴퓨터에서는 최신버젼으로 업로드를 끝냈는데, 아직 클라우드 서버에는 최신버전 갱신이 안되어 있어 미팅 전에 어..? 분명 ppt 바꿨는데..? 하는 일 쯤은 부지기수죠. 매번 친구나 직장동료에게 내컴퓨터 어디에 뭐가있고,, 그것좀 메일로 보내줘 ㄳㄳ 이러는것도 일. 게다가 최근에 빠질수없는 딥러닝. 몇시간, 몇십시간 뒤에 학습이 끝나는데 새벽이.. 2022. 7. 26.
파이썬 - 인텔 리얼센스 D435 (Intel RealSense D435) 데이터 획득 파이썬으로 인텔 리얼센스 D435의 데이터 획득 예제 실행. [Realsense2] 파이썬으로 realsense 프로그래밍 파이썬으로 realsense2 프로그래밍 2020-06-25 Windows 10 x64에서 설치하기 Linux에서 설치는 아래에 있... blog.naver.com 을 참고하였습니다. 1. 우선 아래의 pyrealsense2 패키지 리스트에서 자신의 개발환경과 맞는 항목 다운로드. 제 경우에는 파이썬 3.7버젼을 주로 사용하기에 이에 맞는 패키지를 다운로드. pyrealsense2 Python Wrapper for Intel Realsense SDK 2.0. pypi.org 2. 리얼센스 관련 파이썬 예제가 담긴 깃허브 다운로드 및 압축해제 (git을 사용하는 분께서는 당연히 알아서.. 2022. 5. 17.
[Pyinstaller] 파이썬 실행파일(exe) 만들기 & 터미널/프로그램 바로 꺼지는 문제 해결 (OpenCV관련) 간혹 작성한 코드를 실행파일 형태로 만들어야 할 때가 있죠. VS의 C++계열은 각종 라이브러리를 연동시켜주고, 생성한 exe를 실행시키는 컴퓨터에서도 환경설정이나 환경변수, 라이브러리 등을 따로 처리해줘야하는데 파이썬은 그런 부분을 생각하지 않아도 되니 엄청 편하네요. "Pyinstaller" 코드를 exe형태로 만들어주는 Pyinstaller를 사용하여 프로그램을 만들어 봅니다. 코드는 어떠한 형태든 상관없고, 만드는 형태도 간단합니다. 1. 자신의 파이썬 개발환경/가상환경에 pyinstaller 설치 pip install pyinstaller 2. 터미널에서 변환하고자 하는 .py파일의 위치로 이동한 후, 실행 (이번 예제에서는 XR_Calculator.py 라는 파일을 저는 사용했습니다) pyin.. 2022. 5. 7.
VisualSFM (structure from motion) 설치 및 사용법 (Dense Reconstruction) 컴퓨터 비전 분야에서 sfm (structure from motion) 은 많이 들어보셨겠죠. 이미지로부터 피쳐 추출 및 매칭, 대응점을 이용한 3차원 복원 기술 중에 하나입니다. SLAM과 어떻게보면 비슷한 느낌이 있지만, sfm은 (보통) 이미지에서 고려할 수 있는 모든 관계 (nC2)에 대한 피쳐 및 피쳐매칭을 수행하고, 이미지 사이의 관계 (포즈) 및, 대응점을 통한 3차원 복원을 수행합니다. 한 번 수행하는데 막대한 양의 시간이 소요되나, 꽤 정밀한 결과를 얻을 수 있죠. 특히나 제가 주로 연구하는 분야인, 딥러닝 기반의 카메라 자세 추정에서 이미지만으로 데이터셋을 라벨링 하기 위한 툴로 주로 사용됩니다. (이미지 -> 자세) 최근에는 더 발전된 형태의 Colmap이나 Meshroom등의 소프트.. 2021. 12. 10.
RTX 3090 텐서플로우 개발환경 구축 (윈도우) & 텐서플로우 2.x에서 1.x코드 사용하기 & SubProcess ended with return code 오류 이전 포스팅인 RTX 3090에서의 파이토치 개발환경 구축에 이어, 이번에는 텐서플로우 개발환경을 구축해보겠습니다. RTX 3090 딥러닝 파이토치 개발환경 구축 (RTX 3090, 윈도우10, Pytorch) 오랜만에 포스팅을 해보네요. 최근 연구용 컴퓨터를 2080Ti에서 3090으로 바꾸면서 개발환경 기록 겸 포스팅을 한번 해봅니당. 2080사용중에 WSL로 잠깐 우분투의 맛을 봤는데 역시나 개발환경 갖추 wooni-research.tistory.com 혹시나 RTX 2천번대, 1천번대 사용중이면서 텐서플로우를 사용하고자 하는 분은 아래 포스팅을 참고하시면 됩니다. 2021. 11. 30.
RTX 3090 파이토치 개발환경 구축 (윈도우) 오랜만에 포스팅을 해보네요. 최근 연구용 컴퓨터를 2080Ti에서 3090으로 바꾸면서 개발환경 기록 겸 포스팅을 한번 해봅니당. 2080사용중에 WSL로 잠깐 우분투의 맛을 봤는데 역시나 개발환경 갖추기부터 우분투 자체의 불편함을 못이기고 기록은 해놨지만 포스팅은 귀찮아서 일단 패스 2080Ti와 3090의 윈도우에서, 특히나 파이토치의 개발환경은 딱히 크게 바뀐 것은 없습니다. 다만 아직은 약간 호환성에 문제가 있는지 적당히 되겠지~ 하고 설치하면 제대로 동작을 하진 않는거같네요. * 사실 핵심 포스팅은 파이토치 개발환경을 갖추는 이 포스팅이 아닌, 다음 포스팅인 텐서플로우 입니다. 개발환경은 윈도우10 RTX3090 파이토치 miniconda + Pycharm 에서의 동작을 목적으로 합니다. 윈도우.. 2021. 11. 29.
아나콘다, CMD 자주쓰는 명령어 모음 CMD 명령어 모음 cd : 디렉토리 이동 cls : 화면 클리어 dir : 현재 디렉토리의 폴더/파일 리스트 del : 파일/폴더 삭제 mkdir : 폴더 생성 드라이브명: : 드라이브간 이동은 ex) c: , d: 처럼 드라이브명:으로 사용 ls : 현재 폴더의 파일/폴더 리스트 아나콘다 명령어 모음 conda env list : 가상환경 목록 보기 conda create -n python= : 가상환경 생성 ex) conda create -n TestEnv python=3.7 conda env remove -n : 가상환경 삭제 conda activate : 가상환경 실행 conda deactivate : 가상환경 종료 conda list : 현재 가상환경에서 설치되어있는 패키지 보기 conda i.. 2021. 9. 4.
Miniconda + Pycharm 개발환경 구축하기 미니콘다, 파이참은 설치가 완료된 상태로 시작하겠습니다. 1. 새 가상환경에 미니콘다 + 파이참 개발환경 구축하기 1. Anaconda Prompt (miniconda3)에서 확인 conda env list 에서 가상환경이 기본 base만 존재하고 있습니다. 이 상태에서 가상환경을 새로 만들고, 파이참에 연동하는 방법입니다. 파이참에서 새 프로젝트를 설정하면 3개의 위치를 설정해주어야 합니다. * MiniCondaNewProject라는 프로젝트로 프로젝트를 생성 파랑박스 : .py등의 프로젝트 코드들이 들어가는 프로젝트의 위치 빨강박스 : 가상환경 패키지들이 저장되는 위치 녹색 : 파이썬 버전설정 및 miniconda의 실행파일 위치(저같은 경우는 miniconda 설치시 기본위치) 이 상태에서 파이참의.. 2021. 9. 4.
파이썬 공부 ⑤ 함수, 변수의 범위(지역, 전역변수), 제너레이터 함수는 너무나도 프로그래밍에서 자주 쓰이는 것이기 때문에, 파이썬에서만 특이한 점 몇가지 짚어보고 가겠습니다. 파이썬에서만 활용되는 함수의 특징 몇가지를 간단하게 요약하면 - 호출시 키워드 지정 가능 (호출시에는 키워드를 일부만 지정한다면 오른쪽에 몰아넣는다) - 정의시 디폴트 인수도 일부만 지정하는 경우 오른쪽에 몰아넣는다 - 가인수에 *를 추가하면 튜플로, **를 추가하면 딕셔너리로 참조한다 - 람다함수로 간편하게 정의 - 함수 내에서 변수는 기본적으로 지역변수로 활용되며, 전역변수를 참조할 때엔 global이나 nonlocal로 미리 변수를 선언한다 함수의 정의 def 함수명(인수1, 인수2, ...): 내용 return 반환값(리턴값) 프로그래밍 상식으로 알아두면 좋을 내용인데, 함수 내부에서만 .. 2021. 6. 7.
파이썬 공부 ④ 제어문 : 조건문(if, if else), 반복문(for, while), 내포 표현 파이썬에서는 블록을 표현할 때 들여쓰기(인덴트)를 사용합니다. 기본적으로 스페이스 4칸 혹은 탭 한번 으로 가능지만, IDE에 따라 변경 가능합니다(4번의 스페이스를 2번으로 변경하거나) 다만, 하나의 블록에서 한줄은 스페이스 4칸, 한줄은 탭 1번, 이런식으로의 교차사용은 불가능합니다 (제가 써본 것들 중에서는) 너무 기초적인 것들이라 기본적인 내용만 빠르게 훑어보고 끝내기! if문 if True조건 : 내용 elif : 내용 else: 내용 score = 90 if score >= 80: print('Grade A') elif score > 70 and score < 80: print('Grade B') else: print('Grade C') for문 for 인덱스/변수 in 범위: 내용 * 범위에.. 2021. 6. 6.
파이썬 공부 ③ 리스트, 튜플, 딕셔너리, 집합 리스트(List) : 여러 데이터를 모아 저장하는 파이썬 기본형 a = [1, 2, 3] 튜플(Tuple) : 리스트와 비슷하지만, 요소를 추가, 변경, 삭제할 수 없음 a = (1, 2, 3) 딕셔너리(Dictionary) : 데이터를 '키 : 값' 페어로 관리함 a = {'A' : 1, 'B' : 2, 'C' : 3} 집합(Set) : 리스트와 비슷하지만, 요소의 순서가 정해지지 않으며, 동일한 요소를 가질 수 없음 a = {1, 2, 3} * 자주 사용되는 리스트와 튜플, 둘 사이의 변환 정도는 숙지하면 좋을 듯 합니다. * 또한 리스트 복사시에 .copy() 메소드 활용 숙지할것 !! 리스트(List) 리스트 선언 (대괄호) - 빈 리스트는 a = [] 혹은 a = list() 로 선언 가능 a .. 2021. 6. 6.
파이썬 공부 ② 연산자 (계산/대입/비교/삼항 연산자) 계산 연산자 연산자 기능 예시 + 덧셈 a = b + c - 뺄셈 a = b - c * 곱셈 a = b * c / 나눗셈 a = b / c // 몫 a = b // c % 나머지 a = b % c ** 거듭제곱 a = b ** c (b의 c제곱) 대입 연산자 연산자 기능 예시 += 더하고 대입 a += b ( a = a + b 와 동일) -= 빼고 대입 a -= b ( a = a - b 와 동일) *= 곱하고 대입 a *= b ( a = a * b 와 동일) /= 나누고 대입 a /= b ( a = a / b 와 동일) //= 나눈 몫을 대입 a //= b ( a = a // b 와 동일) %= 나머지를 대입 a %= b ( a = a % b 와 동일) **= 거듭제곱을 대입 a **= b ( a = a.. 2021. 6. 3.
파이썬 공부 ① 기본 : 문자열, 서식 출력 이번에 파이썬 기본기를 제대로 다져보기 위해 한번 작성해 보는 포스팅 입니다. 개인 기록용이기에, 아 그거 헷갈렸는데 뭐였더라? 싶은 내용을 정리하는 정도의 포스팅! 파이썬 3.X, 파이참 기준으로 작성하며, IDE가 자동으로 변환해주는 내용은 적당히 넘어갈 예정이고, 대략적인 컴퓨터 비전, 딥러닝에서 활용할만한 내용만을 작성해봅니다. 기본적으로 반각으로 작성함. 따옴표 안에서만 전각(한글) 작성 가능 : "한글", 및 '한글' 인코딩은 UTF-8 권장 대문자 소문자 구분하여 사용함 주석처리 # 문장은 줄바꿈으로 구분하지만, 세미콜론으로 한 줄에 여러 명령어를 작성할 수 있음 - 선언 ; 선언 - 선언 ; 선언 ; 모두 가능 a = 1 b = 2 print(a, b) c = 3 ; d = 4 print .. 2021. 6. 3.