Python 40

Python(10) 리스트 컴프리헨션, 삼항 연산자

리스트 컴프리헨션 # list 생성 l = [i for i in range(10)] print(l) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 이런식으로도 가능 l = [f'{i}입니다!' for i in range(10)] print(l) # ['0입니다!', '1입니다!', '2입니다!', '3입니다!', '4입니다!', '5입니다!', '6입니다!', '7입니다!', '8입니다!', '9입니다!'] # 구구단 출력 l = [f'{i} X {j} = {i*j}' for i in range(2, 10) for j in range(1, 10)] print(l) # ['2 X 1 = 2', '2 X 2 = 4', '2 X 3 = 6', '2 X 4 = 8', '2 X 5 = 10', '..

Python 2023.09.13

Python(9) 튜플, 딕셔너리, Set(집합)

튜플 튜플은 안에 있는 값이 변경 불가능한 자료형이 아님 참조 불변임 리스트에 비해 처리속도가 조금 더 빠름 x = (1, 2, 3) # x[0] = 1000 Error x = [10, 20, 30] y = (1, 2, x) x[0] = 1000 print(y) # (1, 2, [1000, 20, 30]) 데이터의 변경이 민감하고, 참조의 개수가 변하면 안될 때 사용 s = {'one':1, 'two':2} print(s.items()) # dict_items([('one', 1), ('two', 2)]) 배열 안 튜플 형태로 반환 # 튜플 덧셈 tuple1 = (1, 2, 3) tuple2 = (4, 5, 6) tuple3 = tuple1 + tuple2 print(tuple3) # (1, 2, 3, ..

Python 2023.09.13

Python(8) 리스트

리스트 덧셈과 곱셈 a = [1, 2, 3, 4, 5] b = [6, 7, 8] print(a + b) # [1, 2, 3, 4, 5, 6, 7, 8] a = [1, 2, 3, 4, 5] print(a * 3) # [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5] 곱셈 주의 a = [1, 2, 3] a = [a * 2] * 2 # 리스트 컴프리헨션 사용해서 만드는것을 권장. print(a) # [[1, 2, 3, 1, 2, 3], [1, 2, 3, 1, 2, 3]] id(a[0]), id(a[1]) a[0][0] = 10000 print(a) # [[10000, 2, 3, 1, 2, 3], [10000, 2, 3, 1, 2, 3]] 리스트 슬라이싱 l = [1, 2, 3,..

Python 2023.09.12

Python(7) 함수

함수 함수의 종료 구분은 들여쓰기 기준 or return으로 구분 def printnum(): print('1') return # 여기서 함수 종료 print('2') print('3') printnum() print(printnum()) # 디폴트가 return None # 3 # 1 # 1 # None 파선아실 : 파라미터는 선언할 때, 아규먼트는 실행할 때 (인자 구분) def function(x, y): # x, y = 파라미터 z = x + y return z print('function(5, 7)=', function(5, 7)) # 5, 7 = 아규먼트 함수 안에 함수 def f(): def ff(): return 100 x = ff() return x f() # 100 # ff() Erro..

Python 2023.09.12

Python(6) 연산

산술연산자 연산 안되는거 주의 {'one':1} + {'two':2} # Error {5} + {6} # Error 거듭제곱 우선순위 주의 -2 **2 # -4 // 연산자는 몫이 아님. 내림임. a = -5 b = 2 print(a // b) # -3 부동소수점 주의 10 % 3.3 # 0.10000000000000053 # 10의 제곱수를 곱해서 해결. (100 % 33) / 10 # 0.1 소숫점 첫째자리 까지 (1000 % 331) / 100 # 0.07 둘째자리 까지 비교연산자 문자는 유니코드 기준으로 비교 print('apple' < 'banana') # True b가 a보다 유니코드에서 뒤에 있음 print('hello' < 'hell o') # False o가 공백보다 유니코드에서 뒤에 있..

Python 2023.09.11

Python(5) 메서드 체이닝, 형변환

메서드체이닝 연속으로 메서드를 호출하는 것 메서드의 결과값에 메서드를 다시 호출함. 너무 길게 사용해서 가독성을 해치지않게 주의 (한 줄에 79자 안넘게 권고) sentence = ' Hello, World! ' result = sentence.strip().lower().replace('world', 'python') # 1번 스탭 : sentence.strip() == 'Hello, World!' # 2번 스탭 : 'Hello, World!'.lower() == 'hello, world!' # 3번 스탭 : 'hello, world!'.replace('world', 'python') print(result) # 'hello, python!' 백슬러쉬를 이용해서 개행 가능 sentence = ' Hel..

Python 2023.09.11

Python(4) 논리 자료형, None 자료형

논리 자료형 True = 1 취급 False = 0 취급 print(True + True) # 출력: 2 print(False - True) # 출력: -1 print(True / True) # 출력: 1.0 print(True * False) # 출력: 0 print(True / False) # ZeroDivisionError 논리 자료형은 숫자 자료형과 같은 부모를 갖는다. None 자료형 None 자료형은 연산이 불가능하다. None + 5 None + None None = 10 # 싹다 오류 None의 값은 항상 유일한 메모리 값을 갖는다. x = None y = None print(id(x), id(y)) # 101622896575456 101622896575456 None인지 확인하는 법 x ..

Python 2023.09.11

Python(3) 문자열 자료형

문자열 (str) x = 'hello world' y = "hello world" z = '''hello wolrd''' # 여러줄 가능 k = """hello world""" # 여러줄 가능 # 참고삼아 알아두기. 평생에 한 두번 볼 수 있음 # 참고로 r표기는 Django 2.x에서 url이 정규표현식을 쓰기 때문에 # 자주 볼 수도 있음. 3.x에서는 사라졌음 a = r'hello \n world' # r은 raw 날것의 의미를 지니고 있음 print(a) # hello \n world i = '''안녕하세요 파이썬 굿굿 ''' i # 이스케이프 문자가 처리 안되어 출력 print(i) # 이스케이프 문자가 처리되어 출력 문자열 인덱싱 s = 'hello world' s[0] # h s[-1] # ..

Python 2023.09.08

Python(2) 숫자 자료형

정수 (int) 진수 : 수를 표현하는 방법 2진수 : 0 1 8진수 : 0 1 2 3 4 5 6 7 16진수 : 0 1 2 3 4 5 6 7 8 9 a b c d e f 10진수 731 = 7 * 10^2 + 3 * 10^1 + 1 * 10^0 2진수 110 = 1 2^2 + 1 * 2^1 + 0 * 2^0 쉽게 계산하는 법 10진수 15를 2진수로 표현하면? 16이 2의 5승이므로 10000 -1 == 1111 # 2진수 x = 0b110 print(x) # 6 print(type(x))# # 8진수 x = 0o110 print(x) # 72 print(type(x)) # # 16진수 x = 0x110 print(x) # 272 print(type(x)) # bin(15) # '0b1111' oct(..

Python 2023.09.08

Python(1) 시작

파이썬은 조금 공부를 하였기 때문에 블로그에는 내가 몰랐던 부분 혹은 헷갈리는 부분만 정리. https://colab.research.google.com/drive/19o3KXnRPZeeW73emy73nApBwI2emS3Sr?usp=sharing 주석 # 한줄 주석 ''' 여러줄 주석 입니다 ''' 출력 x = 'hello' print(x, x, sep='-') # hello-hello print('010', '0000', '1000', sep='-') # 010-0000-1000 print('010', '0000', '1000', end='-') print('Hello World', end='~') # 010 0000 1000-Hello World~ 변수 x = 10 y = x z = y x = 20 ..

Python 2023.09.08