Small Grey Outline Pointer '파이썬' 태그의 글 목록
본문 바로가기

파이썬21

python :: 얕은 복사(shallow copy) v1 = 'abc' v2 = 'abc' v1 == v2 #변수 v1과 v2가 참조하는 객체의 내용이 같은가? True v1 is v2 #변수 v1과 v2가 참조하는 객체는 동일한 객체인가? True True True v1=[1,2,3] v2=[3,2,1] print(v1 == v2) #리스트는 순서가 중요하다 따라서 false False r1=[1,2,3] r2=[1, 2, 3] print(r1 == r2) #True print(r1 is r2) #False True False 리스트나 딕셔너리처럼 값이 바뀔 수 있는 것들, mutable 객체는 동일한 내용의 객체를 갖고 있더라도 따로 객체를 만들어주게끔 되어있다 # %% r1 = ["enwoo",('man','KR'),[180,20]] r2 = lis.. 2022. 8. 2.
Python :: mutable / immutable 수정이 불가능한 객체 (immutable) : 튜플, 문자열 수정이 가능한 객체 (mutable) : 리스트 r = [1,2] print(id(r)) r += [3, 4] print(r) print(id(r)) 2432506958464 [1, 2, 3, 4] 2432506958464 //주소값이 같다 t = (1,2) print(id(t)) t += (3,4) print(t) print(id(t)) 2432505701312 (1, 2, 3, 4) 2432505844160 //주소값이 바뀜 t1 = "홍" t2 = "길" t3 = "동" t = t1 + t2 + t3 print(t) t1 = t1 + t2 + t3 #새로운 값을 만들어서 저장한다 원본을 건드리지 않는다 print(t1) 홍길동 홍길동 li.. 2022. 7. 26.
Python :: 예외처리 / 사용자 예외 처리, 파일 입출력 예외처리 에러: 심각한 오류 예외: 덜 심각한 오류 try : 오류가 발생할 수 있는 문장 except 오류 이름 as 객체: //alias : 별칭 오류 발생 시 실행할 문장 모든 예외 클래스의 부모 클래스는 Exception이다 어떤 오류든지 상관없이 except로 처리할 때에는 "오류이름" 자리에 예외의 최상위 부모인 Exception을 작성한다 lst=[1,2,3] print(lst[3]) Traceback (most recent call last): File "c:\python_jsy\workspace\day0721\exTest.py", line 2, in print(lst[3]) IndexError: list index out of range def main(): print("안녕하세요") a.. 2022. 7. 20.
Python :: 생성자 (초기화 메소드) 생성자 클래스명() 을 생성자라고 하며, 이름 뒤에 소괄호가 있기 때문에 메소드의 기능과 똑같다 하지만 리턴이 없기 때문에 메소드라고 부르지 않고 생성자라고 부른다 클래스에 있는 필드를 메모리에 할당해 주고 그 필드의 주소값을 가지고 돌아와야하기 때문에 개발자가 직접 리턴값을 작성하면 안된다 생성자의 역할 1. 해당 필드를 메모리(RAM)에 할당하고 할당된 필드의 주소값을 가져온다 2. 초기화 자바 constructor (생성자) 파이썬 generator (생성자) 제너레이터는 이터레이터를 생성해주는 함수 제너레이터는 발생자 함수 안에서 yield를 사용하면 함수는 제너레이터가 되며 yield에는 값(변수)을 지정 __init__ 메서드 : 초기화(initialize) 메서드 class Const: de.. 2022. 7. 19.
Python :: 클래스와 객체 객체(instance variable) 클래스는 추상적인 개념이고 이 추상적인 개념을 실체화(구체화)시켜야지만 사용할 수 있다 따라서 추상적인 개념을 실체화(구체화)시켜놓은 것을 객체라고 한다 클래스 객체 자동차 엄마차 도형 세모 객체화(instance) 추상적인 개념을 구체화 시키는 작업 객체명 = 클래스명() 객체 생성 시 '데이터'와 '기능'이 함께 채워져서 만들어진다 그러나 사실은 객체 속 데이터는 나중에 지워진다 파이썬의 객체 속에 변수가 생성되는 시점은 첫 대입연산을 진행하는 시점이다 인스턴스 변수 : 인스턴스(객체) 안에 존재하는 변수 인스턴스 메소드 : 인스턴스(객체) 안에 존재하는 메소드(함수) 인스턴스 생성 후, '참조 변수.메소드 명()'으로 호출 ex) Exam ex = new Ex.. 2022. 7. 19.
python :: 객체 지향 프로그래밍 객체 지향 프로그래밍(Object Oriented Programing) 절차지향 : C 객체지향 : Java C# C++ 프로토타입 객체지향 : JavaScript 클래스와 객체 자동차 설계도 설계도 기반으로 만들어진 실제 자동차 객체 이전의 프로그램 # %% test 01 fa_age =20 #아빠 나이 정보, 현재 20살 def up_fa_age():# 이 함수를 호출하면 아빠 나이 올라감 global fa_age fa_age += 1 def get_fa_age(): # 이 함수 호출하면 아빠 나이 반환 함 return fa_age def main(): print("2022년...") print("아빠:", get_fa_age()) print("2023년...") up_fa_age() #아빠 나이 1.. 2022. 7. 14.
python :: dictionary 기초예제/ 학생관리 프로그램 # dict Task # 등급을 입력 받아서 학점을 출력해주는 프로그램 # 2입력시 B학점입니다 출력 # 1~5등급, A~F학점 (E학점) scoreDict={} # 0 1 2 3 4 # A B C D F (i가 4일때는 e를 건너뛰고 f로 가야하기 때문에 조건 필요) for i in range(5): scoreDict[i+1] = chr(i+66) if i == 4 else chr(i+65) print(scoreDict) {1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'F'} # E를 건너뛰고 F가 나오도록 설정 scoreDict={} # 0 1 2 3 4 # A B C D F (i가 4일때는 e를 건너뛰고 f로 가야하기 때문에 조건 필요) for i in range(5): score.. 2022. 7. 14.
python :: Dictionary 딕셔너리 항상 한 쌍으로 저장되어 관리 한다 len() 를 사용하면 한 쌍을 1로 카운트 한다 키 값은 중복이 될 수 없으며 값은 중복이 가능하다 키 값을 주면 그 키의 짝꿍 값을 가지고 온다 dict 선언 dict명 = {키 : 값, 키 : 값, ....} dict 사용 -추가(키 값이 없을 때) dict명[키] = 값 //아예 새롭게 추가하는 경우 -수정(키 값이 있을 때) dict명[키] = 값 -삭제(한 쌍이 삭제 된다) del dict명[키] -검색 키 in dict명 : 키 값이 있으면 참 키 not in dict명 : 키 값이 없으면 참 key 분리 list(dict명.keys()) Value 분리 dict명.values() 딕셔너리는 리스트나 튜플처럼 순차적으로(sequential) 해당 요솟값을 .. 2022. 7. 12.
python :: 모듈 모듈이란 함수나 변수 또는 클래스를 모아 놓은 파일이다. 모듈은 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일이라고도 할 수 있다. 우리는 파이썬으로 프로그래밍을 할 때 굉장히 많은 모듈을 사용한다. 다른 사람들이 이미 만들어 놓은 모듈을 사용할 수도 있고 우리가 직접 만들어서 사용할 수도 있다 circle.py # %% module Test PI = 3.14 #원주율 def ar_circle(rad): #원의 넓이를 계산해서 반환하는 함수 return rad*rad*PI def ci_circle(rad): #원의 둘레를 계산해서 반환하는 함수 return rad*2*PI circle_test1.py import circle #circle.py 모듈을 가져다 쓰겠다는 선언 def m.. 2022. 7. 5.
python :: 튜플과 레인지 List # mutable(변할 수 있는) : list dataList1 = [1,2,3] dataList2=dataList1 dataList2.append(4) print(dataList1) Tuple # immutable(변할 수 없는) : tuple # dataTuple1 = (1,2,3) dataTuple1 = 1,2,3 #소괄호를 생략해도 튜플이 된다 print(dataTuple1) dataTuple2 = dataTuple1 dataTuple2 += 4,5 print(dataTuple1) dataTuple1[0] = 10 print(dataTuple1[0]) 가지고 있는 데이터를 가지고 오는 목적 검색을 하기 위한 목적 (값의 유무를 확인하는 목적) # %% lst = [1,2,3] #mutab.. 2022. 7. 1.