파이썬/기본28 [파이썬] 임의 정밀도 정수 - 미완 아래는 Java의 데이터 타입에 따른 크기 범위이다. Java에선 100자리수 정수를 정수형 변수로 입력받을 수 없다. (fixed-precision) 하지만 파이썬은 임의 정밀도 방식(arbitrary-precision)을 사용하기 때문에 변수의 크기에 제한이 없다. https://mortada.net/can-integer-operations-overflow-in-python.html Can Integer Operations Overflow in Python? — Random Points We can see that it takes 28 bytes before we get to $2^{30}$ where python allocates 4 more bytes to store larger integers... 파이썬/기본 2023. 10. 21. [파이썬] glob glob glob은 파일 및 디렉토리를 패턴을 사용하여 검색하는 데 사용된다. glob 파일 찾기, 현재 경로 import glob # 현재 디렉토리에서 확장자가 .txt인 파일 찾기 txt_files = glob.glob("*.txt") print(txt_files) glob 모듈의 glob 함수를 사용하여 파일을 찾는다. 메서드 인자로는 경로에 대한 문자열이 입력된다. 경로는 절대경로와 상대경로 모두 사용이 가능하다. 위의 경우 상대경로로, 현재 디렉토리에 있는 '.txt' 로 끝나는 파일을 반환하게 된다. glob 파일 찾기, 하위 경로 # 하위 경로의 txt파일 찾기 for filename in glob.glob('**/*.txt'): # '**' 하위의 어떤 경로든 상관없다. print(fil.. 파이썬/기본 2023. 10. 9. [파이썬] OS모듈 OS 모듈 os 모듈은 운영 체제와 상호 작용하는 많은 함수와 유틸리티를 제공한다. 디렉토리 관리, 환경 변수 접근, 프로세스 관리 등 다양한 운영 체제 작업을 수행할 수 있다. 주요 기능중 파일 읽고 쓰는 데 필요한 기능들이다. os.getcwd(), os.listdir() import fileinput import os # os 모듈은 운영체제와 상호작용하는 많은 함수와 유틸리티를 제공한다. # 현재 경로 확인, 진짜 많이 쓰임. os.getcwd() # 디렉토리 안에 파일(디렉토리)을 확인 os.listdir(os.getcwd()) # 파일에 대한 이름을 담는다. 리스트로 반환 # 파일, 폴더 다 가져온다. 아래 디렉토리의 파일 이름을 가져온다. getcwd() 함수는 현재 파이썬 스크립트가 실행 .. 파이썬/기본 2023. 9. 15. [파이썬] 객체지향과 클래스 객체지향 프로그래밍 객체지향 프로그래밍은 소프트웨어를 설계하고 구현하는 데 사용되는 중요한 프로그래밍 패러다임 중 하나이다. 이 패러다임은 프로그램을 "객체"라고 불리는 독립적인 개체로 나누고, 이러한 객체들 간의 상호작용을 통해 프로그램을 구성하는 개발 방법론이다. 클래스 class 클래스이름: # 클래스 속성(멤버 변수) 정의 속성1 = 초기값1 속성2 = 초기값2 # 생성자 메서드 (생략 가능) def __init__(self, 매개변수1, 매개변수2, ...): # 인스턴스 속성 초기화 self.속성1 = 매개변수1 self.속성2 = 매개변수2 # 메서드(멤버 함수) 정의 def 메서드1(self, 매개변수1, 매개변수2, ...): # 메서드 동작 정의 pass def 메서드2(self, 매개.. 파이썬/기본 2023. 9. 14. [파이썬] 재귀 호출 재귀 호출 재귀 호출은 함수가 자기 자신을 다시 호출하는 기법이다. def factorial(num): if num > 1: return num * factorial(num - 1) else: return num for num in range(5): print(factorial(num)) 팩토리얼은 1부터 자기 자신까지의 수를 각각 곱한 결과이다. 반환값에 함수 자기 자신을 호출하는데 매개변수값을 하나씩 줄여가며 호출한다. if 조건에 따라 계속 매개변수를 줄여가며 호출을 하고 조건이 False가 되면 반환을 시작한다. 각각 반환되는 값을 연산하고 또 반환하며 num의 팩토리얼 연산 결과를 반환한다. def palindrome(string): if len(string) 파이썬/기본 2023. 9. 14. [파이썬] 콜백함수 & 람다함수 콜백함수 다른 함수의 매개변수로 전달되며, 특정 조건이나 이벤트 발생 시 실행되는 함수이다. 비동기 작업 이벤트 처리 사용자 정의 동작 함수형 프로그래밍 언어에서 더 자주 사용되지만 객체 지향 언어에서도 사용된다. callback def callback_func(func): for i in range(5): func() def print_hello(): print("안녕하세요, 파이썬") print_hello() callback_func(print_hello) 콜백함수의 형태는 간단하다. 특정 조건이나 이벤트 발생 시 실행시키고자 하는 콜백함수를 다른 함수의 인자로 넣어준다. def callback_func(func, num): for i in range(num): func(i) def print_hel.. 파이썬/기본 2023. 9. 14. [파이썬] 변수의 범위 스코프 변수의 범위는 해당 변수가 프로그램 내에서 참조되고 변경될 수 있는 영역을 의미한다. local enclosing global built-in local # local def local_example(): local_var = "로컬 변수" print(local_var) local_example() # print(local_var) # NameError: name 'local_var' is not defined 로컬 변수는 지역 변수라고도 부른다. 지역이란 말 대로 메서드 내에 선언되어 메서드 내에서만 사용하고 변경할 수 있다. 메서드 밖에서 접근을 한다면 위처럼 선언되지 않은 변수라는 오류를 보게 된다. enclosing # enclosing def outer_function(): enclosi.. 파이썬/기본 2023. 9. 12. [파이썬] 함수와 메모리 메모리 로드 함수 정의 파이썬에서 함수는 객체로 취급된다. 함수를 정의하면 해당 함수의 코드, 로컬변수, 매개변수 등이 메모리에 로드된다. 함수가 호출되기 전에도 메모리상에 존재한다. 메모리 스택 함수가 호출되면 함수 호출 스택이 생성된다. 현재 실행중인 함수와 해당 함수의 로컬 변수, 매개변수를 저장하는 메모리 영역이다. 호출될 때 로컬 변수 및 매개변수가 스택에 push된다. 반환될 때 해당 변수들이 pop되어 스택에서 제거된다. 함수 실행이 완료되면 스택이 해제된다. 변수 할당: 파이썬의 함수는 일급 객체이다. 함수를 다른 변수에 할당하면 그 변수는 원래의 함수 객체를 참조한다. 하나의 함수에 여러 변수를 할당하면, 각 변수는 동일한 함수 객체를 참조한다. * 일급 객체 ( First-Class O.. 파이썬/기본 2023. 9. 11. [파이썬] None ※None None은 "아무 것도 없음" 또는 "값이 정의되지 않음" 을 나타낸다. None의 쓰임1 variable = None# 변수를 초기화할 때 사용할 수 있음 def my_function(x): if x > 10: return x print(my_function(9)) print(my_function(11)) None은 변수를 초기화할 때 사용할 수 있다. 또한 "함수의 반환값이 없다"라는 의미도 있다. None의 쓰임2 def hello(message=None): if message is None: print("Hello!") else: print(message) hello() def get_data_from_database(): pass data = get_data_from_database(.. 파이썬/기본 2023. 9. 11. [파이썬] 사용자 정의 함수 사용자 정의 함수 사용자 정의 함수란 사용자가 직접 작성한 함수이다. 사용자의 요구사항에 맞게 동작하는 함수를 직접 모듈화하여 논리를 더 명확하게 구조화하여 가독성을 높이기 위해 사용한다. 기본적인 구조 def 함수명(매개변수1, 매개변수2, ...): # 함수 내용 return 결과값 매개변수와반환 값이 없는 함수 def func1(): print('처음으로 만드는 함수!') func1() func1() print() for i in range(5): func1() 매개변수가 있고 반환 값이 없는 함수 def func2(num): print(f'입력받은 숫자: {num}') def func3(start, end): sum = 0 for i in range(start, end + 1): sum += i .. 파이썬/기본 2023. 9. 11. [파이썬][응용]로또번호 추천 - random() 공부 import random while True: lotto_num_set = {0,} lotto_num_set.pop() if input("안녕하세요 로또천국입니다.\n엔터를 누르시면 예상번호를 드립니다.\n(종료하시려면 q를 입력해주세요.)\n") == 'q': break else: while len(lotto_num_set) 파이썬/기본 2023. 9. 11. [파이썬][응용]가위바위보게임 - random() 공부 import random ls = ['가위', '바위', '보'] # 가위: 0, 바위: 1, 보: 2 while True: com = int(random.random() * 3) # print(com, ls[com]) me = input("가위, 바위, 보 중 하나를 선택하세요: ") if ls.index(me) == com: result = "비겼습니다." print(f'컴퓨터: {ls[com]}, 나: {me} -> {result}') else: if ((ls.index(me) == 0 and com == 1) or (ls.index(me) == 1 and com == 2) or (ls.index(me) == 2 and com == 0)): result = "졌습니다." print(f'컴퓨터: {l.. 파이썬/기본 2023. 9. 11. 이전 1 2 3 다음