본문 바로가기

Computer & Program121

[python] Shell script 실행 안녕하세요. TDR입니다. 오늘은 python에서 shell scipt를 실행시킬 수 있는 3가지 방법을 간략히 알아보겠습니다. 참고로 해당 환경은 linux입니다. 1. os.system import os os.system('ls -al') 위와 같이 명령어를 실행하면 해당 명령어가 즉시 실행 됩니다. blocking 명령으로 해당 작업이 모두 끝날 때 까지 다음 명령어는 실행 되지 않습니다. 2. os.popen() import os stream = os.popen('ls -al') for line in stream: print(line) os.system과 달리 명령 결과를 stream 형태로 받을 수 있어 원하는 후처리가 가능하다는 장점이 있습니다. os.popen도 blocking 명령어 입니다.. 2024. 3. 20.
[python] for & while & print 안녕하세요. TDR입니다. 오늘은 반복문인 for문과 while문, 그리고 출력을 위한 print 메소드에 대해서 간략히 정리해 보겠습니다. 먼저 반복문인 for문과 while문을 먼저 보겠습니다. python에서는 다른 언어에는 없는 재밌는 기능이 있습니다. 바로 반복문 마지막에 else를 써서 반복문이 끝나고 나갈 때 한번 실행되는 구문입니다. some_list = ['apple', 'banana', 'orange'] for item in some_list: print(item) else: print('print all fruits') ## Result ## apple banana orange print all fruits flag = True while flag: if count >= 3: flag.. 2024. 3. 16.
[python] String(문자열) 포함 여부 확인 안녕하세요. TDR입니다. 오늘은 python에서 어떤 string에 내가 찾고자 하는 string이 포함되어 있는지 확인 방법에 대해서 간략히 정리해 볼까 합니다. 찾고자 하는 string 포함이 되어 있는가? ## 'hello'가 포함되어 있는지 확인 # in print('hello' in 'Hi and hello~') # True print('test' in 'Hi and hello~') # False # find result = 'Hi and hello~'.find('hello') print(result) # 7 result = 'Hi and hello~'.find('test') print(result) # -1 # index result = 'Hi and hello~'.index('hello').. 2024. 3. 14.
[python] Python 특징 안녕하세요. TDR입니다. 오늘은 전통적인 언어(ex. Java, C++)들과 Python 언어의 차이와 특징들을 간략히 정리해 보겠습니다. 라인 끝에 세미콜론(;), 중괄호가 없음 이거는 앞선 정리에서 수 없이 봐왔고 이미 아시겠지만 Java나 C++과 같은 언어와 달리 line의 끝을 명시하는 세미콜론(;)이나 중괄호가 없습니다. 그래서 중요한 것이 indent(들여쓰기)입니다. 이를 통해 python에서는 영역을 구분하고 있습니다. 그러다보니 위의 예시로 들었던 언어를 주로 사용하시던 분들은 익숙하지 않아 사용하기 껄끄럽다는 얘기를 많이 합니다. 개인적으로는 오해려 그렇기 떄문에 코드를 더욱 간결하게 만들고 구조에 더 집중할 수 있어서 좋아합니다. 사람마다 취향 차이는 있겠지만 코드가 너무 가로로 .. 2024. 3. 12.
[python] Package & Module 안녕하세요. TDR입니다. 오늘은 python에서 Package(패키지), Module(모듈), 다른 폴더의 파일 등을 import하는 방법을 간략히 정리해보겠습니다. 먼저 패키지, 모듈이 뭔지 보면 다음과 같습니다. Package(패키지) 특정 기능과 관련된 여러 모듈을 묶은 것. 패키지는 모듈에 네임스페이스를 제공. Module(모듈) 특정 기능(변수, 함수, 클래스 등)을 .py 파일 단위로 작성한 것 흔히 python을 설치하면 기본적으로 쓸 수 있는 것들을 내장 모듈이라고 부릅니다. (ex. math, sys, etc) 이러한 기능들을 쓰기 위해서는 작성 중인 코드에 가져와야 하는데, 이것들을 어떻게 가져오는지 살펴보겠습니다. ## Directory 구조 ## /root - /utils + ut.. 2024. 3. 10.
[python] Format(f-string) 안녕하세요. TDR입니다. 오늘은 Format의 마지막인 f-string에 대해서 간략히 정리해보겠습니다. (Format Specifier & String Formatting은 아래 링크 참조) [python] Format(Format Specifier) 안녕하세요. TDR입니다. 오늘은 예전부터 꼭 정리하고 싶었던 Format, 그 중에 format specifier(서식 지정자)에 대해 간략히 정리해 보겠습니다. 참고로 Format은 총 3개의 파트로 구성될 예정입니다. 코 tdremon.tistory.com [python] Format(String Formatting) 안녕하세요. TDR입니다. 오늘은 저번 시간에 이어 Format, 그 중에서 String formatting(문자열 포맷팅)에 대해.. 2024. 3. 7.
[python] Format(String Formatting) 안녕하세요. TDR입니다. 오늘은 저번 시간에 이어 Format, 그 중에서 String formatting(문자열 포맷팅)에 대해서 간략히 정리해보겠습니다. (저번 시간에 정리한 서식 지정자) [python] Format(Format Specifier) 안녕하세요. TDR입니다. 오늘은 예전부터 꼭 정리하고 싶었던 Format, 그 중에 format specifier(서식 지정자)에 대해 간략히 정리해 보겠습니다. 참고로 Format은 총 3개의 파트로 구성될 예정입니다. 코 tdremon.tistory.com print('A B {0} D {2} F {1} H I'.format('C', 'G', 'E')) print('A B {} D {} F {} H I'.format('C', 'E', 'G')) p.. 2024. 3. 6.
[python] Format(Format Specifier) 안녕하세요. TDR입니다. 오늘은 예전부터 꼭 정리하고 싶었던 Format, 그 중에 format specifier(서식 지정자)에 대해 간략히 정리해 보겠습니다. 참고로 Format은 총 3개의 파트로 구성될 예정입니다. 코드를 구현하다보면 string type을 참 많이 쓰는데 이걸 자유롭게 해주는 아주 유용한 기능입니다. 먼저 기본적인 포맷들을 살펴 보겠습니다. print('문자열 : %s' % 'String') print('정수 : %d' % 16) print('실수 : %f' % 16.5) print('8진법 : %o' % 16) print('16진법 : %x' % 16) ## Result ## 문자열 : String 정수 : 16 실수 : 16.500000 8진법 : 20 16진법 : 10 이.. 2024. 3. 5.
[python] Generator(발생자) 안녕하세요. TDR입니다. 오늘은 python에서 generator를 어떻게 쓰는지 간략히 정리해보겠습니다. Generator를 이해하기 위해서는 저번에 했던 iterator를 이해하고 있어야 합니다. 왜냐하면 generator는 iterator를 생성해주는 함수이기 때문입니다. (아래 iterator 링크 참고) [python] Iterator(반복자) - 01 안녕하세요. TDR입니다. 오늘은 python의 Iterator(반복자)에 대해서 간략히 정리해 보겠습니다. Iterator는 python 외에도 왠만한 언어에는 모두 존재하는 개념으로 " 반복 가능한 객체로 "를 뜻합니다. tdremon.tistory.com [python] Iterator(반복자) - 02 안녕하세요. TDR입니다. 저번 시.. 2024. 3. 4.
[python] Iterator(반복자) - 02 안녕하세요. TDR입니다. 저번 시간에 이어서 iterator에 대해서 정리해보겠습니다. [python] Iterator(반복자) - 01 안녕하세요. TDR입니다. 오늘은 python의 Iterator(반복자)에 대해서 간략히 정리해 보겠습니다. Iterator는 python 외에도 왠만한 언어에는 모두 존재하는 개념으로 " 반복 가능한 객체로 "를 뜻합니다. tdremon.tistory.com iterator의 특징 중에 하나가 unpacking(언패킹)도 가능하다는 것입니다. 저번 시간에 예제로 썼던 Fruits class를 통해 확인해보겠습니다. class Fruits: fruits_list = ['apple', 'orange', 'banana', 'water melon', 'melon'] fru.. 2024. 3. 3.
[python] Iterator(반복자) - 01 안녕하세요. TDR입니다. 오늘은 python의 Iterator(반복자)에 대해서 간략히 정리해 보겠습니다. Iterator는 python 외에도 왠만한 언어에는 모두 존재하는 개념으로 " 반복 가능한 객체로 "를 뜻합니다. 대표적인 collection으로 list(array), tuple, string 등이 있습니다. 간단한 예시를 보면 다음과 같습니다. hello = 'Hello world' it = hello.__iter__() for i in range(len(hello)): print(it.__next__()) ## Result # H # e # l # l # o # # w # o # r # l # d 위의 예시와 같이 .__iter__()를 이용하여 iterator 객체를 얻을 수 있습니다. .. 2024. 3. 2.
[python] Decorator(데코레이터) - 02 안녕하세요. TDR입니다. 오늘은 저번에 이어 class를 이용한 decorator 구현법과 decorator에 변수를 할당하는 방법을 알아보겠습니다. (Decorator - 01은 아래 링크 참조) [python] Decorator(데코레이터) - 01 안녕하세요. TDR입니다. 오늘은 Decorator에 대해서 간략히 정리해 보겠습니다. 이전 포스팅에서 @classmethod, @staticmethod와 같은 표현을 보셨을 겁니다. 이게 decorator였습니다. 우선 decorator가 어떤건지 tdremon.tistory.com 이번에는 평소와는 다르게 실용적인 예시를 통해 class를 이용한 decorator & Decorator에 변수 전달하기를 같이 봐보겠습니다. import time tim.. 2024. 3. 1.