본문 바로가기
반응형

프로그래밍 언어/Python12

[python] 파이썬 리스트(list) 얕은 복사 vs 깊은 복사 python 에는 변경할 수 있는 mutable 객체가 아닌 immutable 객체가 있다. - list는 mutable한 객체이다. 얕은 복사 - 원본에 영향 O import copy s = [10, 20, 30] v = s print(id(s), id(v)) print(id(s[0]), id(v[0])) v[2] = 99 print(s) # 원본 출력 print(v) 깊은 복사 - 원본에 영향 X import copy s = [10, 20, 30] v = copy.deepcopy(s) print(id(s), id(v)) print(id(s[0]), id(v[0])) v[2] = 99 print(s) # 원본 출력 print(v) 깊은 복사처럼 보이는 얕은 복사 얼핏보면 원본에 영향을 주지 않으므로 깊.. 2021. 8. 21.
[python] 파이썬 리스트 (list) 리스트(list)는 배열 같은 것으로 대괄호 []를 이용한다. 원소 삽입 insert(idx, val) idx 위치에 val 원소 삽입 (기존 원소가 존재한다면 뒤로 밀린다.) a = [1, 2, 3] a.insert(0, 4) print(a) # [4, 1, 2, 3] append와 extend x = [1,2,3] x.append([4,5]) print(x) # [1, 2, 3, [4, 5]] y = [1,2,3] y.extend([4,5]) print(y) # [1, 2, 3, 4, 5] append() 에서 원소 한개만 주면, extend와 동일한 효과를 가지게 할 수 있다. x = [1,2,3] x.append([4]) print(x) # [1, 2, 3, [4]] x = [1,2,3] x.ap.. 2021. 8. 21.
[python] 파이썬 세트 (set) set - 세트(Set)는 중복되지 않은 항목들이 모인 것으로 순서도 없다.(Unordered) → 순서가 없기 때문에 인덱싱(indexing)이 없다. 인덱싱이 없다. - 딕셔러니와 마찬가지로 중괄호 {} 사용 - 중괄호를 사용하는 것은 dictionary와 비슷하지만, 키key가 없이 값만 존재한다. - 집합 연산이 가능하다. A = set( ["H", "S", "W", "S", "S"] ) print(A) numbers = {2, 1 ,3, 3, 1, 2, 4} print(numbers) set 관련 함수 - add(): 기존 값에 추가 (중복된 값은 무시) - update(): 기존 값 + 새로운 값으로 중복없이 구성 값을 변경하기 보다는 여러 데이터를 추가할 때 사용 - remove(): 해당하.. 2021. 8. 18.
[python] 파이썬 튜플 (tuple) 튜플 (tuple) - 순서가 있는 객체 집합이다. (인덱스로 접근 가능) - 튜플(Tuple)은 변경될 수 없는 리스트로 소괄호 () 사용 list 형과 비슷하지만 생성되고 값이 변경되지 않는 것에 차이가 있다. → 값이 변경될 것 같다? list → 값이 변경될 리 없다. tuple 튜플 생성 t = tuple() t = (1, ) # 1개 요소만 존재할 때도 반드시 콤마(,) 필요 t = (1, 2, 3) t = 1, 2, 3 # 괄호 생략 가능 t = (1, 2, ('a', 'b')) # 내부적으로 중복 가능 원소 접근 t = ("color", 1) print(t) # t[0] = None # 원소 변경이 되지 않기 때문에 Error 원소 추가 튜플은 기존 값은 수정하지 못하지만 새로운 데이터를 .. 2021. 8. 18.
[python] 파이썬으로 수학 산술자 / 수식 표현 연산처리를 해주는 기본적인 내장 함수 - 절대값: abs() - 반올림: round() - 최대값: max(a, b, c, d) - 최소값: min(a, b, c) - 거듭제곱 연산( **): 3**4 = 81 - 나누기 하는 연산 ( /): 10/3 = 3.3333333333333335 - 몫을 구하는 연산( //): 몫을 취하고 나머지 버림 10 // 3 = 3 임의의 x값을 입력하여 함수를 계산 → y = 2x2 + 5x + 4 x=3 일 때, 18 + 15 + 4 = 37 출력 x = int ( input("x값을 입력하세요: " ) ) y = 2*x**2 + 5*x + 4 print(y) - int()로 문자열을 숫자형으로 바꿔야 수식이 적용된다. 숫자형 → 문자형으로 바꿀 때는 str()을 이.. 2021. 8. 17.
[python] 키워드 인수(sep, end) 활용해서 출력 - 파이썬은 들여쓰기 규정이 엄격하다. (TAB 보다는 공백 4개를 추천함) - 선택한 블록 들여쓰기 → Ctrl + ] - 선택한 블록 들여 내기 → Ctrl + [ - 문장 끝에 세미콜론(;)으로 문장을 구분할 수 있다. [Python] 세미콜론(;)을 언제 사용할까? - 한 문장을 여러 줄로 나누는 경우 백 슬러시(\) 사용 # 줄 연결 print("Good"); print("Python") # 줄 분리 print("Bye \ Python") print 함수는 기본적으로 콤마(,)로 인자를 열거하며 화면에 공백으로 구분하여 출력 # 구분자 옵션(sep) print( "Hi", "Python" ) print( "Good", "Python", sep="/" ) # 줄 바꿈 옵션(end) print( ".. 2021. 8. 16.
[python] join 함수로 문자열 합치기(이어붙이기) 문자열을 이어붙이고 싶을 때, 별도 함수를 이용하지 않는다면 빈 문자열 ""에서 리스트 안에 담긴 원소를 한개씩 이어 붙일 수 있다. data = ['a', 'b', 'c'] ret = "" for i in data: ret = ret + i print(ret) #abc python에서는 join() 함수가 제공되기 때문에 아래와 같이 간단하게 구할 수 있다. data = ['a', 'b', 'c'] ret = "".join(data) print(ret) #abc 둘의 성능 차이는 어떨까요? python 내장함수인 join() 함수를 활용하는 것이 더 빠르다 join 함수 적용 X import datetime l = [] for x in range(300): l.append(str(x)) s = date.. 2021. 8. 15.
[python] 파이썬 함수 활용해보기 함수 정의 - 함수 사용에 앞서 위쪽에서 정의를 먼저 def calc(start, end): # 매개 변수(parameter)를 처리한다. sum = 0 for i in range(start, end+1): sum += i return sum print(calc(1,10)) #인수(argumnet)를 전달하고 - 파이썬에서는 여러 개 값도 한번에 반환할 수 있다. 튜플 구조로 받아서 처리해준다. def temp(): return 1, 2, 3 a, b, c = temp(); print(a, b, c) ambda와 같은 무명함수도 존재한다. sum = lambda x,y: x+y print(sum(10,20)) #30 함수 인자 전달 방식 함수에서 인자를 전달할 때 값에 의한 호출 & 참조에 의한 호출인지.. 2021. 8. 15.
[python] 파이썬 변수 타입(Type) 종류 파이썬은 변수의 타입을 명시적으로 지정하지 않는다. 변수 타입은 대입된 우변 타입에 따라 결정된다 - 다른언어와 차이 中 한가지로 파이썬은 char 타입이 존재 X ex. 한 글자도 문자열로 취급 - True / False → 연산시: 1 / 0 정수로 취급 (출력은 "True"/"False") False로 취급되는 것: 0, 0.0, 빈 문자열 '' or "", None (그 외 True로 취급) type()을 이용하여 타입을 확인할 수 있습니다. # 하나의 대입으로 ','를 이용하여 여러 개의 변수에 값을 담을 수 있습니다. a, b, c = 10, 3.14, "hello" print( a, b, c ) print( type(a), type(b), type(c) ) # int, float, str a.. 2021. 8. 15.
[Python] 세미콜론(;)을 언제 사용할까? 세미콜론(;)을 언제 사용할까? C / C++ / Java 등 많은 프로그래밍 언어에서는 구문이 끝날 때 『 ; 』 (세미콜론)을 붙인다. 하지만 파이썬은 세미콜론을 붙이지 않아도 된다. 습관적으로 구문이 끝날 때 세미콜론을 붙이는데 문법 에러는 발생하지 않기에 크게 상관없다. print('Hello, world!') 실제 파이썬에서는 보통 한 줄에 여러 구문을 사용할 때 세미콜론으로 구분해준다 print('Hello'); print('1234') * 파이썬에서는 "들여 쓰기"가 중요하다. 들여 쓰기에는 공백(Space) 2칸, 4칸, 탭(tab) 등이 있는데, 어떤 Coding Standard를 따를지는 규정 짓기 나름이다. 2021. 3. 22.
반응형