python 14

Python 표준 라이브러리 (random)

random 한 값을 얻기 위한 라이브러리 입니다. import random 함수 설명 사용법 결과 randint(start, end) start~end 사이의 값들 중 하나 반환 print(randint(1, 10)) 1 ~ 10 중 하나 반환 randrange(start, end, step) start~(end-1) 사이의 값을 step씩 건너뛴 값들 중 하나 반환 import sys도 필요 print(sys.randrange(1, 10, 2)) print(sys.randrange(1, 10)) 1, 3, 5, 7, 9 중 랜덤한 한가지 반환 1 ~ 9 사이의 값 중 랜덤한 한가지 반환 shuffle(seq) list를 넣는다면 list의 값을 섞어줌 a = [1, 2, 3, 4, 5] print(a..

Python 표준 라이브러리 (sys)

sys 모듈은 인터프리터가 제공하는 변수와 함수를 직접 제어하기 위해 사용합니다. 1. sys.argv 아래와 같이 입력받은 파라미터를 list 형태로 읽어올 수 있습니다. import sys print(sys.argv) myargv = sys.argv for arg in myargv: print(arg) ##### terminal에서 실행한 결과 (venv) D:\dev\workspace\python\helloworld>python main.py ['main.py'] main.py (venv) D:\dev\workspace\python\helloworld>python main.py a b c ['main.py', 'a', 'b', 'c'] main.py a b c 2. sys.getrefcount() ..

Python 표준 라이브러리 (날짜, 시간 -datetime)

Python에서는 날짜와 시간을 표현하기 위해 datetime 라이브러리를 사용합니다. 아래와 같은 항목들을 다룹니다. Year Month Day Hour Minute Second Microsecond 함수 내용 사용법 datetime.datetime.now() 현재 시간 datetime.datetime.now() datetime.date() 2021년 3월 1일 datetime.date(2021, 3, 1) datetime.time() 15시 30분 00초 datetime.time(15, 30, 00) datetime.datetime() 2021년 3월 1일 15시 30분 00초 datetime.datetime(2021, 3, 1, 15, 30, 00) weekday() 요일을 0 ~ 6 숫자로 표현합..

Python 표준 라이브러리 (디렉토리(폴더) -directory(folder)-, os, glob)

디렉토리를 관리하기 위해 사용되는 표준 라이브러리는 크게 os, glob 두 가지가 있습니다. os 모듈 함수 설명 사용법 결과 os.listdir() 현재 파일 및 디렉토리 목록 print(os.listdir()) print('---') print(os.listdir('c:\\')) ['.idea', 'main.py', 'mymodule.py', 'text.txt', 'tistory', 'venv', '__pycache__'] --- ['$Recycle.Bin', ... 이하 생략] os.getcwd() 현재 디렉토리 print(os.getcwd()) D:\dev\workspace\python\helloworld\venv\Scripts\python.exe D:\dev\workspace\python\he..

PyCharm의 Python console(파이썬 콘솔) 한글 깨짐 문제 해결

PyCharm 사용 시 아래의 명령을 실행하면 콘솔창의 한글값이 깨지는 것을 확인할 수 있습니다. os.system('dir/w') 그러나 Windows의 cmd창을 열고 실행시키면 정상적으로 표시됩니다. 이에 대한 해결책을 이것저것 찾아봤는데 근본적인 해결책은 없어보입니다. 아래와 같이 실행 전에 chcp 65001 명령어를 수행하시면 보기 불편한 문제는 일단 사라집니다. import os os.system('chcp 65001') os.system('dir/w') 이 문제에 대한 근본적인 해결책은 저는 못 찾았습니다. JetBrains사에서 한국어 code page를 제대로 표시하게끔 수정을 해줘야 하는 것이 아닌가 싶습니다. chcp는 Windows 콘솔의 언어 코드를 변경하는 명령어 입니다. - ..

Python 표준 라이브러리 (파일 -file-)

파일의 입출력을 위해서는 별도의 모듈을 import하지 않아도 Python 표준 내장 라이브러리를 사용할 수 있습니다. fp = open(파일명, 모드, 인코딩) 함수를 통해 file을 열고 파일 포인터를 얻어올 수 있습니다. 모드는 아래 세 가지가 있습니다. 모드 뜻 r read 읽기모드 w write 쓰기모드 a append 추가모드 파일 포인터가 지원하는 함수는 아래와 같습니다. 함수명 뜻 사용법 (fp = open(...)한 경우) write 파일에 내용을 작성 fp.write('abc') read 파일의 내용을 읽어옴 a = fp.read() readline readlines seek x번째 위치로 포인터를 옮김 fp.seek(5) tell 현재 포인터의 위치를 알려줌 fp.tell() clos..

Python 패키지 (Package)와 __init__.py

다른 언어와 마찬가지로 특정 기능을 하는 파일들끼리 모아놓은 것을 패키지라고 합니다. (ex. video, sound, network, motor, ETC) 1. Package 생성 프로젝트 우 클릭 -> New -> Python Package 저는 tistory라는 package를 생성하고 그 아래 post package, user package를 추가로 생성하였습니다. 그리고 각각 아래와 같이 파일을 생성하였습니다. tistory/post/getpost.py def getpost(): return '1', 'hello' tistory/user/getuser.py def getuser(): return 'kim' 2. Package 사용 main.py import tistory.user.getuser ..

Python 모듈, 라이브러리, 프레임워크 (module, library, framework)

모듈 (module) Python의 모듈은 크게 표준 모듈과 외부 모듈로 나눌 수 있습니다. Python에 내장된 것이 표준 모듈, 다른 사람들이 작성하여 공개되어 있거나 본인이 만든 파일을 외부 모듈이라고 할 수 있습니다. 이 모듈들은 import 문을 사용하여 가져오고 사용할 수 있습니다. .py, .pyc, .pyd 파일을 import 할 수 있습니다. 확장자 의미 .py Python 소스 코드 .pyc Python 소스를 컴파일하여 생성된 byte 코드 .pyd Python이 사용하는 windows dll 로 만들어진 C 모듈 같은 경로에 있는 경우 바로 import하면 됩니다. 다른 디렉토리에 있는 경우 (예: c:\mypython\hellomodule.py) sys 모듈의 path.append..

Python 함수 (function) -def-

함수 Python의 함수는 아래 형태를 가집니다. def 함수명(인자 ...): ... return 이런식으로 사용하시면 됩니다. 여러 개의 값을 return할 수 있는것이 특징입니다. def myPrint(sentence): print(sentence) def sum(a, b): return a + b print('hello world') print(sum(1, 3)) def getTuple(): return 1, 2, 3 a, b, c = getTuple() print(a, b, c) 아래와 같이 응용이 가능합니다. # 명시적 호출 def sum(a, b): return a + b print(sum(b=10, a=20)) # 디폴트 인자 def sum2(a = 1, b = 2, c = 3): prin..

Python 반복문 (for, while)

Python에서의 반복문은 크게 두 가지로 구분할 수 있습니다. for, while입니다. 그리고 여기에 응용할 수 있는 range 함수가 있습니다. for문 기본 구조입니다. for 변수 in 반복 가능한 데이터: 문장1 continue 또는 break else: 문장2 아래와 같이 사용할 수 있습니다. a = 'abcdefg' for c in a: print(c) b = [1, 2, 3, 4, 5] for i in b: print(i) c = (1, 2, 3, 4, 5) for i in c: print(i) d = {1, 2, 3, 4, 5} for i in d: print(i) e = {'a':'aa', 'b':'bb', 'c':'cc'} for i in e: print(i, e[i]) for i ..