Programming/Python 파이썬

728x90
반응형
파이썬의 bin 함수정수를 2진수 문자열로 변환해주는 함수bin(number)이 함수는 입력된 정수를 2진수 문자열로 변환하며,결과 문자열은 0b로 시작한다. 0b는 해당 문자열이 2진수를 나타낸다는 것을 의미함.   예제# 십진수 10을 2진수로 변환decimal_number = 10binary_representation = bin(decimal_number)print(f"{decimal_number} in binary is {binary_representation}")결과10 in binary is 0b10100b를 제외하고 순수한 2진수 문자열만 필요하다면, 슬라이싱을 통해 0b를 제거할 수 있음.# 십진수 10을 2진수로 변환하고 0b 제거decimal_number = 10binary_repres..
10 = 1010(2)10 // 2 = 5 (나머지 0)5 // 2 = 2 (나머지 1)2 // 2 = 1 (나머지 0)1 // 2 = 0 (나머지 1)나머지를 거꾸로 읽으면 1010   방법 1 - 파이썬 bin 함수 사용decimal_number = 10binary_representation = bin(decimal_number)[2:]print(f"{decimal_number} in binary is {binary_representation}")   방법 2 - 나눗셈과 나머지def decimal_to_binary(n): binary_num = [] while n > 0: binary_num.append(n % 2) n = n // 2 binary_num.r..
파이썬 모듈 module관련된 함수, 클래스, 변수 등을 하나의 파일로 묶은 것이다.이를 통해 코드를 재사용하고 관리하기 쉽게 할 수 있다.   모듈 만들기모듈 파일 생성모듈로 사용할 파일을 만든다. (예를 들어 my_module.py라는 파일을 생성)# my_module.pydef greet(name): return f"Hello, {name}!"class Person: def __init__(self, name): self.name = name def introduce(self): return f"My name is {self.name}."모듈 불러오기만든 모듈을 다른 파일에서 사용할 수 있다. (예를 들어, main.py에서 my_module.py를 불러와 ..
파이썬에서 메소드(method)는 클래스(class)에 정의된 함수(function) 메소드는 특정 객체(object)에 대한 동작을 정의하며,객체의 상태를 조작하거나 정보를 반환하는 등의 작업을 수행메소드는 객체 지향 프로그래밍(OOP)에서 중요한 개념   메소드의 특징1. 클래스 내부에 정의메소드는 클래스 내부에 정의되며, 클래스의 인스턴스(객체)와 관련된 작업을 수행2. 첫 번째 매개변수로 self모든 인스턴스 메소드는 첫 번째 매개변수로 self를 가진다.self는 해당 메소드가 호출된 인스턴스를 참조한다. 3. 인스턴스 메소드, 클래스 메소드, 정적 메소드메소드는 인스턴스 메소드(instance method), 클래스 메소드(class method), 정적 메소드(static method)로 나..
[파이썬] 딕셔너리(dictionary)딕셔너리(dictionary)파이썬 딕셔너리(dictionary)는 키(key)와 값(value) 쌍으로 이루어진 자료 구조 딕셔너리는 키를 통해 값을 빠르게 조회할 수 있으며,키는 고유해야 하고 변경할 수 없는 자료형이gameuiux.tistory.com 딕셔너리를 얕은 복사(shallow copy)한다는 것은 딕셔너리의 구조 자체는 복사하지만,딕셔너리 내부에 있는 객체들은 원래 딕셔너리와 같은 참조를 가지게 된다는 것을 의미한다.   얕은 복사와 깊은 복사의 차이1. 얕은 복사 (Shallow Copy)새로운 딕셔너리가 생성되지만, 원래 딕셔너리에 있는 객체들은 같은 참조를 공유한다.복사된 딕셔너리에서 값을 변경하면 원래 딕셔너리에도 영향을 미친다. 2. 깊은 ..
딕셔너리(dictionary)파이썬 딕셔너리(dictionary)는 키(key)와 값(value) 쌍으로 이루어진 자료 구조 딕셔너리는 키를 통해 값을 빠르게 조회할 수 있으며,키는 고유해야 하고 변경할 수 없는 자료형이어야 한다. 값은 어떤 자료형도 될 수 있다.   딕셔너리 생성 및 기본 사용법딕셔너리 생성 1. 빈 딕셔너리 생성empty_dict = {}# 또는empty_dict = dict()2. 키-값 쌍을 포함한 딕셔너리 생성person = { "name": "Alice", "age": 30, "city": "New York"}  딕셔너리 요소 접근print(person["name"]) # 출력: Aliceprint(person.get("age")) # 출력: 30get 메..
num = 1234def reverse_number(num) : while num != 0: digit = num % 10 num = num // 10 print(digit,end="")reverse_number(num)# 결과 4321 변수 초기화num이라는 변수에 1234를 할당 함수 정의reverse_number라는 함수를 정의이 함수는 하나의 인자 num을 받는다. while 루프num이 0이 아닐 때까지 계속 실행num이 0이 되면 루프 종료 digit = num % 10num의 마지막 자리 숫자를 추출% 연산자는 나머지를 구하는 연산자로, num을 10으로 나눈 나머지가 마지막 자리 숫자가 된다.예를 들어, 처음에는 1234 % 10 = 4 num = num // 10num의..
*argsargs는 파이썬에서 가변 인수를 받을 때 사용되는 관용적인 이름이다.이는 "arguments"의 약어로, 함수에 전달되는 여러 인수를 의미주로 *args와 함께 사용되며, 이를 통해 함수가 가변적인 수의 위치 인수를 받을 수 있다. 관용적 사용 args는 관용적인 이름으로, 코드를 읽는 사람에게 이 변수는 함수에 전달된 여러 인수를 의미한다는 것을 쉽게 이해시킨다. 이는 명명 규칙으로 확립된 것이며, 꼭 args를 사용해야 하는 것은 아니지만, 이를 따르는 것이 가독성 면에서 좋다.def example_function(*args): for arg in args: print(arg)example_function(1, 2, 3) # 출력: 1 2 3 다른 이름 사용 *args는..
지역변수와 전역변수파이썬에서 지역변수와 전역변수는 변수의 범위(scope)에 따라 나뉜다.변수의 범위는 변수가 어디서 접근 가능한지를 결정한다. 전역변수(Global Variable) 전역변수는 함수 외부에서 정의되며, 코드의 모든 범위에서 접근할 수 있는 변수전역변수는 전역 네임스페이스(global namespace)에 속한다.x = 10 # 전역변수def foo(): print(x) # 전역변수에 접근foo() # 출력: 10print(x) # 출력: 10 지역변수(Local Variable) 지역변수는 함수 내부에서 정의되며, 그 함수 내에서만 접근할 수 있는 변수함수가 종료되면 지역변수는 소멸된다.def bar(): y = 20 # 지역변수 print(y)bar() # ..
파이썬에서 return 키워드는 함수에서 값을 반환할 때 사용return 키워드를 사용하면 함수의 실행이 종료되고, 지정한 값을 호출한 곳으로 반환 예제 1: 간단한 함수에서 return 사용def add(a, b): return a + bresult = add(3, 5)print(result) # 출력: 8 예제 2: 조건에 따라 다른 값 반환하기def check_even_or_odd(number): if number % 2 == 0: return "Even" else: return "Odd"print(check_even_or_odd(4)) # 출력: Evenprint(check_even_or_odd(7)) # 출력: Oddcheck_even_or_odd ..
구구단 계산기format() 함수를 사용하여 구구단을 계산하고 표 형식으로 출력하는 파이썬 코드def multiplication_table(n): # 표 헤더 출력 print("구구단 {}단".format(n)) print("-" * 10) # 구구단 계산 및 출력 for i in range(1, 10): result = "{} x {} = {}".format(n, i, n * i) print(result)# 구구단 표시할 단 입력num = int(input("구구단 몇 단을 출력하시겠습니까? "))# 입력받은 단에 해당하는 구구단 계산 및 표 출력multiplication_table(num)구구단 7단----------7 x 1 = 77 x 2..
format() 함수는 문자열을 특정 형식에 맞춰서 포맷하는 파이썬의 내장 함수이 함수를 사용하면 문자열 내에 변수나 값들을 쉽게 삽입하고, 형식을 지정할 수 있다. name = "John"age = 30height = 175.5result = "이름: {}, 나이: {}, 키: {}".format(name, age, height)print(result)위 코드에서는 format() 함수를 사용하여 문자열 내에 변수 name, age, height를 삽입하고 있다.{}는 위치 지정자로, 이 자리에 format() 함수의 인자들이 순서대로 들어간다.format() 함수의 인자로 넣은 변수들이 문자열 내에 순서대로 들어가게 된다. 또한, format() 함수는 형식을 지정할 수 있는데,예를 들어 소수점 이하..
파이썬에서 def 키워드는 함수를 정의하는 데 사용함수를 정의하면 특정 작업을 수행하는 코드를 하나의 단위로 묶어서 반복적으로 사용할 수 있다.def 함수이름(매개변수1, 매개변수2, ...): """ 함수에 대한 설명 (선택 사항) """ 함수 본문 return 반환값 (선택 사항) 예제 1: 매개변수가 없는 함수def 인사(): print("안녕하세요!")# 함수 호출인사() 예제 2: 매개변수가 있는 함수def 인사(이름): print(f"안녕하세요, {이름}님!")# 함수 호출인사("철수")예제 3: 반환값이 있는 함수def 더하기(a, b): return a + b# 함수 호출결과 = 더하기(3, 5)print(결과)예제 4: 기본값을 가지는 매개변수d..
zip 함수파이썬의 zip() 함수는 여러 개의 순회 가능한(iterable) 객체를 받아서각 객체의 요소를 순서대로 튜플 형태로 묶어주는 함수이다. 예를 들어, 두 개의 리스트가 있을 때, zip() 함수를 사용하여 이들을 하나의 튜플로 묶을 수 있다.각 튜플은 각 리스트의 같은 위치에 있는 요소들로 구성 list1 = [1, 2, 3]list2 = ['a', 'b', 'c']result = zip(list1, list2)for item in result: print(item) '''결과(1, 'a')(2, 'b')(3, 'c')'''  zip() 함수는 요소의 개수가 가장 적은 순회 가능한 객체를 기준으로 작동한다.만약, 각 객체의 길이가 다르다면, zip() 함수는 가장 짧은 객체의 길이..
range 함수파이썬의 range 함수는 주어진 범위의 숫자 시퀀스를 생성하는 데 사용주로 for 루프와 함께 사용된다. range(stop)range(start, stop)range(start, stop, step) start는 시작 숫자, stop는 종료 숫자, step는 증감 폭# 기본적인 range 사용 예for i in range(0, 10, 2): print(i) '''결과02468''' 구조를 개선하는데에 도움이 될 수 있음 range 함수의 역방향 사용# 예제: 10부터 1까지 1씩 감소하는 숫자 생성for i in range(10, 0, -1): print(i) '''결과10987654321''' 기타 예제# 0부터 9까지의 숫자 생성print(list(range(1..
예외 처리 위 예제에서 ValueError를 처리하기 위해 try-except 블록을 사용했다. 이렇게 하면 값이 리스트에 없을 때 프로그램이 중단되지 않고 적절한 메시지를 출력할 수 있다.index() 메서드는 지정된 범위 내에 찾고자 하는 값이 없을 때 ValueError를 발생시킨다.
end 매개변수(end="")end 매개변수는 print() 함수가 출력을 마친 후 기본적으로 추가하는 문자열을 지정한다.기본적으로 print() 함수는 출력 후 줄 바꿈 문자('\n')를 추가한다.그러나 end 매개변수를 사용하면 이를 변경할 수 있다.for i in range(1, 11): print(i)'''결과12345678910'''for i in range(1, 11): print(i, end="")# 결과 12345678910  end 매개변수에 다른 문자열을 지정할 수도 있다.예를 들어, 각 숫자 뒤에 공백을 추가하려면 end=" "를 사용할 수 있다.for i in range(1, 11): print(i, end=" ")# 결과 1 2 3 4 5 6 7 8 9 10 이처럼..
시퀀스(Sequence)파이썬에서 시퀀스(Sequence)는 순서가 있는 컬렉션 데이터를 나타내는 자료형으로,여러 요소를 인덱스와 슬라이싱을 통해 접근할 수 있다. 대표적인 시퀀스 자료형 - 리스트(List), 튜플(Tuple), 문자열(String), 레인지(Range)시퀀스는 공통된 여러 특징과 메서드를 가지고 있다.    시퀀스의 주요 특징1. 인덱싱(Indexing)시퀀스의 각 요소는 인덱스를 통해 접근할 수 있다.인덱스는 0부터 시작하며 음수를 사용하면 뒤에서부터 접근할 수 있다.s = "hello"print(s[1]) # 출력: 'e'print(s[-1]) # 출력: 'o' 2. 슬라이싱(Slicing)시퀀스의 부분집합을 추출할 수 있다.s = "hello"print(s[1:4]) # 출력..
리스트(List)파이썬에서 리스트는 가변적인 순서가 있는 컬렉션 데이터 구조로, 다양한 데이터 타입을 저장할 수 있다.리스트는 대괄호 [ ]로 정의되며, 요소는 쉼표로 구분된다.   리스트 생성# 빈 리스트 생성empty_list = []# 여러 타입의 요소를 가진 리스트 생성my_list = [1, "Hello", 3.14, True]   리스트 인덱싱리스트의 각 요소는 인덱스를 사용하여 접근할 수 있다. 인덱스는 0부터 시작my_list = [10, 20, 30, 40, 50]# 첫 번째 요소print(my_list[0]) # 출력: 10# 마지막 요소print(my_list[-1]) # 출력: 50   리스트 슬라이싱슬라이싱을 사용하여 리스트의 부분집합을 얻을 수 있다.my_list = [10,..
while문while문은 조건이 참인 동안 코드를 반복해서 실행 while 반복-계속-조건:    코드블록# 1부터 5까지 출력하는 예제i = 1while i  for문for문은 주로 반복 횟수가 정해져 있거나, 반복 가능한 객체(리스트, 튜플, 문자열 등)의 요소들을 순회할 때 사용 for 계수-제어-변수 in 시퀀스:    코드블록# 0부터 4까지 출력하는 예제for i in range(5): print(i)# 리스트의 요소들을 순회하며 출력하는 예제numbers = [1, 2, 3, 4, 5]for number in numbers: print(number)    range() 함수와 for문range() 함수는 주로 for문과 함께 사용되어 일정 범위의 숫자를 생성한다.# 0부터 4까지의..
방법1A = int(input("A 입력:"))B = int(input("B 입력:"))C = int(input("C 입력:"))print(max(A,B,C))if A > B : if A > C : print(A) else : print(C)else : if B > C : print(B) else : print(C)   방법2A = int(input("A 입력: "))B = int(input("B 입력: "))C = int(input("C 입력: "))if A >= B and A >= C: print("가장 큰 수는 A:", A)elif B >= A and B >= C: print("가장 큰 수는 B:", B)else: ..
불리언 타입(Boolean type)파이썬에서 불리언 타입(Boolean type)은 참(True)과 거짓(False)을 나타내는 데이터 타입불리언 타입은 주로 조건문에서 사용 불리언 타입 True: 참 False: 거짓   불리언식(Boolean expression)불리언식은 논리적인 연산을 통해 True나 False 값을 반환하는 식(expression)불리언식은 비교 연산자, 논리 연산자 등을 사용하여 작성됨.a = 10b = 20# 비교 연산자result1 = (a 15) # Trueresult4 = not (a == b) # True 논리 연산자and: 두 조건이 모두 참일 때만 참or: 두 조건 중 하나라도 참이면 참not: 참을 거짓으로, 거짓을 참으로x = 10y = 5# and 연산..
TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'a = input("값을 입력하세요:")b = input("값을 입력하세요:")print(a ** 2 + b ) 오류TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'  데이터 타입 변환a = int(input("값을 입력하세요:"))b = float(input("값을 입력하세요:"))print(a ** 2 + b ) 결과값을 입력하세요:1 값을 입력하세요:1.1 2.1
데이터 사이에 공백 자동으로 추가sep=" " 옵션 변경하여 공백 변경 가능 sep=" " 공백 없이 출력sep="," 공백을 콤마(,)로 분리 -> documentation 은 보기 좋은 결과를 만들기 위해 필요하고 중요한 요소print("김밥", "단무지", "콜라")print("김밥", "단무지", "콜라", sep="")print("김밥 ", "단무지 ", "콜라", sep="")print("김밥", "단무지", "콜라", sep=",")'''결과김밥 단무지 콜라김밥단무지콜라김밥 단무지 콜라김밥,단무지,콜라'''
원뿔 계산 프로그램#반지름, 높이 값 할당rad = input("반지름 값을 입력하세요:")rad = int(rad)hei = int(input("높이 값을 입력하세요:"))#부피 겉넓이 계산vol = 1 / 3 * 3.14 * rad ** 2 * heisuf = 3.14 * rad ** 2 + 3.14 * rad * hei#출력print("부피의 값은",vol,"입니다.")print("겉넓이의 값은", suf, "입니다.")'''결과반지름 값을 입력하세요:20높이 값을 입력하세요:30부피의 값은 12559.999999999998 입니다.겉넓이의 값은 3140.0 입니다.''' 설명input 함수를 통해 정수 30 입력-> rad에 들어가는 변수값은 숫자가 아닌 문자형태 30-> 데이터 타입 변환문자열..
1부터 10까지 더하는 계산 문제 알고리즘def sum_a(a): # 함수 sum_a는 하나의 인자 a를 받는다 b = 0 # b는 합계를 저장하기 위한 변수로 초기 값은 0 for i in range(1,a+1): # 반복문 for 루프 (range(1, a+1)은 1부터 a까지의 숫자 범위를 생성) b+=i # 각 반복에서 i의 값을 b에 더한다 return b # 반복문이 종료된 후, b에는 1부터 a까지의 숫자의 합이 저장됨. b를 반환print(sum_a(10)) # 결과 출력# 결과 값: 551부터 a까지의 정수를 모두 더한 값을 반환하는 함수 sum_a를 정의하고sum_a(10)을 호출하여 그 결과를 출력한다.
순차구조print(" *")print(" ***")print(" *****")print("*******")   알고리즘패턴 - 특정 높이를 갖는 이등변 삼각형을 그리는 것사용자로부터 숫자를 입력 받아 그 숫자에 따라 삼각형의 높이를 조절하기def draw_triangle(height): for i in range(height): print(" " * (height - i - 1) + "*" * (2 * i + 1))def main(): height = int(input("삼각형의 높이를 입력하세요: ")) draw_triangle(height)if __name__ == "__main__": main()설명draw_triangle 함수: 삼각형을 그리는 역할heigh..
문자열 슬라이싱(string[start:end])파이썬에서 문자열 슬라이싱을 사용하여 특정 범위의 문자를 추출할 수 있다. 문자열 슬라이싱의 기본 형식은 string[start:end]여기서 start는 시작 인덱스를, end는 끝 인덱스를 의미 슬라이싱할 때 end 인덱스는 포함되지 않으므로,결과 문자열에는 end 인덱스에 해당하는 문자가 포함되지 않는다.   예제리스트 [1, 2, 3, 4, 5]에서 인덱스 0부터 3까지 슬라이싱my_list = [1, 2, 3, 4, 5]result = my_list[0:3]print(result) # 출력: [1, 2, 3]설명my_list = [1, 2, 3, 4, 5]: 리스트 my_list를 정의my_list[0:3]: 리스트 my_list의 0번 인덱스부..
데이터 구조파이썬에서는 데이터를 다루기 위한 다양한 방법과 데이터 구조를 제공한다.각 데이터 구조는 특정한 용도와 특성을 가지며,적절한 데이터 구조를 선택하면 코드의 효율성과 가독성을 크게 향상시킬 수 있다.   1. 리스트(List)리스트는 순서가 있는 변경 가능한(mutable) 시퀀스로,다양한 데이터 타입의 요소들을 포함할 수 있다. 특징순서가 있다.변경 가능중복된 값을 허용예시# 리스트 생성my_list = [1, 2, 3, 4, 5]print(my_list) # 출력: [1, 2, 3, 4, 5]# 리스트 요소에 접근print(my_list[0]) # 출력: 1# 리스트에 요소 추가my_list.append(6)print(my_list) # 출력: [1, 2, 3, 4, 5, 6]# 리스트..
튜플(Tuple)과 문자열 포매팅(String formatting)은 파이썬에서 데이터를 다루는 방법둘은 용도와 사용법에서 큰 차이가 있다.튜플(Tuple)"i = %d\n", i 문자열 포매팅(String formatting)"i = %d\n" % i   튜플(Tuple)튜플은 여러 개의 값을 묶어서 하나의 변수에 저장하는 데이터 구조리스트와 비슷하지만, 튜플은 변경할 수 없는(immutable) 특성을 가진다.튜플에 저장된 값은 한 번 정해지면 변경할 수 없다. 특징변경 불가: 튜플은 값을 변경, 추가, 삭제할 수 없다.순서가 있음: 튜플에 저장된 값들은 순서가 있다.중복 허용: 튜플은 중복된 값을 허용다양한 데이터 타입 저장 가능: 튜플은 다양한 데이터 타입을 저장할 수 있다.생성 방법 튜플은 소괄..
728x90
반응형
gameuiux
'Programming/Python 파이썬' 카테고리의 글 목록