2 장 자료형 및 연산자 - 김욱동 -. 목 차목 차  변수  자료형  유니코드  리스트  튜플  세트  사전  부울  얕은 / 깊은 복사.

Slides:



Advertisements
Similar presentations
최적화 문제 해결 현대 생산  운영관리 부산대학교 산업대학원 2012 년 2 학기 하병현.
Advertisements

Subjectpython 최종 작성일 작성자이승만 승인일승인자 Version History 업데이트일주요내용 V0., 제어문 Python study #2.
Dept. of School of Systems Biomedical Science SoongSil University.
Python RaspberryPi Sejin Oh. Raspberry Pi Python  참과 거짓  Python 자료형의 참과 거짓을 구분 짓는 기준은 다음과 같다. 2 참과 거짓 자료형참 or 거짓 “” 가 아닌 문자열 ( 예 : “python”) 참 “” 거짓.
Python RaspberryPi Sejin Oh. Raspberry Pi Python  파이썬이란 무엇인가 ?  파이썬이란 1990 년 암스테르담의 귀도 반 로섬에 의해 만들어진 인 터프리터 언어이다.  파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있도록.
Tcl/Tk 민 인학 한국 Tcl/Tk 커뮤니티.
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
명품 JAVA Programming 제 3 장 반복문, 배열, 예외처리.
1. 기관별 맞춤형 집중교육 : 실습 및 개인별 집중지도    1. 기관별 맞춤형 집중교육 : 실습 및 개인별 집중지도 (상설) 기관별 맞춤형 교육 - 당 교육기관에서.
Vision System Lab, Sang-Hun Han
제 3 장 변수와 자료형.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
10. 예외 처리.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
C++ Espresso 제3장 배열과 포인터.
C++ Espresso 제3장 배열과 포인터.
C++ Espresso 제1장 기초 사항.
IntArray[0] int length 5 intArray 객체 제 3 장 반복문, 배열, 예외처리.
두근두근 파이썬 수업 9장 리스트와 딕셔너리.
쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25)
제 7 장 문장 구조화 제어문 지정문 조건문 반복문 GOTO 문 비결정적문.
제6장 제어(Control) 6.1 구조적 프로그래밍(Structured Programming)
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
명품 JAVA Essential.
Internet Computing KUT Youn-Hee Han
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
기초 T-SQL.
명품 Java Programming.
Chapter 05. 클래스 완성. chapter 05. 클래스 완성 01. 복사 생성자 복사 생성(Copy Construction) 생성될 때 자신과 같은 타입의 객체를 변수로 받아, 이 객체와 같은 값을 갖는 새로운 객체를 생성하는 것 명시적인 생성 과정뿐만.
Y. Daniel Liang 길준민 · 정재화.
발로 하는 파이썬 세미나 안녕하세요. 저는 발로 하는 파이썬 세미나를 발표할….
프로그래밍2 및 실습 C언어 기반의 C++ 2.
제 3 장 상수와 변수
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
-제어문, 함수, 클래스- IS lab. 김건영 Python -제어문, 함수, 클래스- IS lab. 김건영
4장 제어문 선택문: if 문, if – else 문, switch 문
5장 이름, 바인딩, 영역(2) 순천향대학교 컴퓨터공학과 하상호.
6장 데이터 타입(2) 순천향대학교 컴퓨터공학부 하 상 호.
문자열, 딕셔너리, 세트.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
기초 프로그래밍 Yang-Sae Moon Department of Computer Science
제2장 제어구조와 배열 if-else 문에 대하여 학습한다. 중첩 if-else 문에 대하여 학습한다.
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
[CPA340] Algorithms and Practice Youn-Hee Han
4장 - PHP의 표현식과 흐름 제어-.
6장 데이터 타입(3) 순천향대학교 컴퓨터공학부 하 상 호.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Java의 정석 제 4 장 조건문과 반복문 Java 정석 남궁성 강의
자바 5.0 프로그래밍.
U N I X 창원대학교 전자계산학과 김병찬.
작성일 참고서적 – Programing Game AI by Example
두근두근 파이썬 수업 14장 프로젝트 II.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
Hello, Python! #3 <부제: 코딩은 혼자하는 것이다>
자바 5.0 프로그래밍.
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
어서와 C언어는 처음이지 제16장.
Python Tutorial 4: Data Structures
DataScience Lab. 박사과정 김희찬 (화)
Spring, 2019 School of CSE Pusan National University
빠르게 활용하는 파이썬3 프로그래밍 Chapter 8. 입출력 안녕하세요, 파이썬의 세계에 오신 것을 환영합니다.
컴퓨터 프로그래밍 및 실습 – 5주차 내장함수 / 외장함수 (1)
배열, 포인터, 함수 Review & 과제 1, 2.
Python 기본.
Presentation transcript:

2 장 자료형 및 연산자 - 김욱동 -

목 차목 차  변수  자료형  유니코드  리스트  튜플  세트  사전  부울  얕은 / 깊은 복사

변 수변 수 변 수변 수  명명규칙 문자, 숫자, 밑줄 (_), 숫자는 처음 나올 수 없음 예약어는 사용 X  사용 예 and, as, assert, break, class, continue, def, del, elif, else, except, is, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, yield >>> friend = 1 >>> 원종필 = 2 >>> (a, b) = (1, 2)  튜플 사용 >>> [c, d] = [3, 4]  리스트 사용 >>> e = f = g = 1

자료형 - 수치 자료형  수치 ( 숫자 ) int, long, float, complex 3.x 는 2.x 와 달리 long 형이 삭제됨 0o 는 8 진수, 0b 는 2 진수, 0x 는 16 진수로 인식 각 진수 변환 함수 존재 oct(), hex(), bin()

자료형 – 수치 ( 계속 ) 자료형 >>> type(1) >>> type(3.14) >>> x = 3 – 4j >>> type(x) >>> x.imag -4.0 >>> x.real 3.0 # 원과 삼각형의 넓이를 구하는 예 >>> r = 2 >>> circle_area = 3.14 * (r ** 2) >>> x = 3 >>> y = 4 >>> triangle_area = x * y / 2 >>> print(circle_area, triangle_area)

자료형 - 문자 자료형  문자열 단일인용부호 (‘) 나 다중인용부호 (“) 로 묶어서 표현 문자열을 쓰는 그대로 화면에 출력하기 위한 “”” 혹은 ‘’’ 제공 >>> print(“”” 새벽에 일어나서 하니깐 대박 피곤해. 번개는 신들린 마냥 침. 아.. 예민한 자동차가 번개 칠 때마다 울어댄다. - 김욱동 “””) 새벽에 일어나서 하니깐 대박 피곤해. 번개는 신들린 마냥 침. 아.. 예민한 자동차가 번개 칠 때마다 울어댄다. - 김욱동

자료형 - 문자 자료형  이스케이브 문자 사용 예의미 \n 라인피드 ( 줄바꿈 ) \t 탭 \r 캐리지 리턴 \0 널 (Null) \\ 문자 ‘\’( 역슬래시 ) \’ 단일 인용부호 (‘) \” 이중 인용부호

자료형 - 문자 자료형  문자열 연산자 ‘+’ 는 문자열 병합 ( 문자열 끼리는 생략 가능 ) ‘*’ 는 문자열 반복 인덱스를 통한 접근 가능 ( 단, 문자열 변경 불가 ) ○ 양수는 시작 위치 기준, 음수는 끝 위치 기준 슬라이싱을 통한 특정 문자열 추출 ○ [ 시작위치 : 끝위치 ] 문자열  숫자 간 변환 연산자 제공 ○ str(), int(), float() …

자료형 - 문자 자료형 >>> ‘py’ ‘thon’ ‘python’ >>> ‘py’ + ‘thon’ ‘python’ >>> ‘py’ * 3 + ‘thon’ ‘pypypython’ >>> a = ‘python’ >>> a[5] ‘n’ >>> a[1:4] ‘yth’ >>> a[-2:] # a[-2]???? ‘on’ >>> str(3.14) ‘3.14’ >>> int(“49” 49

유니코드  파이썬 2.x 일반적인 문자 외에 유니코드를 별도로 지원 ○ u 를 붙이거나 unicode(str, ‘code_page’) 함수 이용 >>> unicode(‘ 가 ’, ‘cp949’) u’\uac00’ >>> ‘ 가나다라 ’.decode(‘cp949’) u’\uac00\ub098\ub2e4\ub77c’ >>> u’\uac00’.encode(‘cp949’) ‘\xb0\xa1’ >>> print u’\uac00’.encode(‘cp949’) 가

유니코드  파이썬 3.x 일반 문자열이 기본적으로 모두 유니코드 유니코드 이외에 인코딩이 있는 문자열은 bytes 로 문자의 유니코드 값은 ord() 로 유니코드 값을 문자로 변화할 때는 chr() 메소드 이용 >>> type(‘ 가 ’) >>> ‘ 가 ’.encode(‘utf-8’) b’\xea\xb0\x80’ >>> type(‘ 가 ’.encode(‘utf-8’)) >>> ord(‘s’) 115 >>> chr(115) ‘s’

리스트  값들의 나열  인덱싱 및 슬라이싱 기능  append(), extend() insert() 를 통한 추가  pop() 및 remove() 를 통한 삭제  index() 를 통한 인덱스 추적  sort() 와 reverse() 를 통한 순 / 역방향 정렬 키 값을 정해 정렬방식을 조정할 수 있음  count() 를 통한 개수 추적

리스트 >>> names = [‘ 이성희 ’, ‘ 김욱동 ’, ‘ 원종필 ’, ‘ 박준식 ’] >>> type(names) >>> names.append(‘ 김현주 ’) >>> names [‘ 이성희 ’, ‘ 김욱동 ’, ‘ 원종필 ’, ‘ 박준식 ’, ‘ 김현주 ’] >>> names.insert(1, ‘ 누구냐 넌 ’) >>> names [‘ 이성희 ’, ‘ 누구냐 넌 ’, ‘ 김욱동 ’, ‘ 원종필 ’, ‘ 박준식 ’, ‘ 김현주 ’] >>> names.index(‘ 누구냐 넌 ’) 1 >>> names.count(‘ 김욱동 ’) 1 >>> names.pop(); # default = last_item ‘ 김현주 ’ >>> names >>> [‘ 이성희 ’, ‘ 누구냐 넌 ’, ‘ 김욱동 ’, ‘ 원종필 ’, ‘ 박준식 ’]

리스트 >>> names.sort() >>> names [' 김욱동 ', ' 누구냐 넌 ', ' 박준식 ', ' 원종필 ', ' 이성희 '] >>> def mysort(x) : return x[-2] >>> names.sort(key=mysort) >>> names [' 누구냐 넌 ', ' 이성희 ', ' 김욱동 ', ' 원종필 ', ' 박준식 '] >>> names.sort(key=mysort, reverse=True) >>> names [' 박준식 ', ' 원종필 ', ' 김욱동 ', ' 이성희 ', ' 누구냐 넌 ']

세트  집합과 동일  제공되는 메소드는 리스트와 거의 유사  교집합, 차집합, 합집합 등 집합 메소드 제공  인덱스 지원하지 않음 >>> a = {1, 2, 3} >>> b = {3, 4, 5} >>> print(a, b) {1, 2, 3} {3, 4, 5} >>> a.union(b) # a | b {1, 2, 3, 4, 5} >>> a.intersection(b) # a & b {3} >>> a.difference(b) # a - b {1, 2}

튜플  리스트와 유사하나 () 로 묶어 표현  읽기 전용, 속도 빠름  인덱스 지원 >>> t = (1, 2, 3) >>> type(t) >>> a, b = 1, 2 >>> print(a, b) 1 2 >>> a, b = b, a # swap >>> print(a, b) 2 1 >>> 1 in t True >>> 4 in 5 False

사전  키와 값의 쌍으로 표현  인덱스는 지원하지 않음.  사전의 내용을 얻기 위해 items(), keys(), values() 메서드 사용 >>> d = dict(a=1, b=3, c=5) >>> d {‘a’: 1, ‘c’: 5, ‘b’: 3} >>> color = {“apple”:”red”, “banana”:”yellow”} >>> color {'apple': 'red', 'banana': 'yellow'} >>> color[0] # error! >>> del color[“apple”] >>> color.clear()

부울  참 (True) 과 거짓 (False) 을 타나내는 자료형  부울 값들 간의 논리연산이나, 수치들간의 비교연산의 결과로 사용  논리연산에 수치사용시 0 은 False, 0 이외의 음수 및 양수는 true 로 간주 >>> 1 < 2 True >>> True & True # True and True True >>> bool(0) False >>> bool(-1) True

얕은 / 깊은 복사  파이썬에서 모든 변수는 객체의 주소를 가짐 >>> a = [1, 2, 3] >>> b = a >>> a[0] = 38 >>> print(a, b) [38, 2, 3] >>> id(a), id(b) ( , ) a b [1, 2, 3] 변수 참조 객체

얕은 / 깊은 복사  객체의 공유를 막기 위해서 copy 모듈사용 얕은 복사 copy.copy(object) 깊은 복사 copy.deepcopy(oject)

얕은 / 깊은 복사 >>> import copy >>> a=[1,[2,3]] >>> cp_a = copy.copy(a) >>> dcp_a = copy.deepcopy(a) >>> a, cp_a, dcp_a ([1, [2, 3]], [1, [2, 3]], [1, [2, 3]]) >>> id(a), id(cp_a), id(dcp_a) ( , , ) >>> a[1].append(4) >>> a, cp_a ([1, [2, 3, 4]], [1, [2, 3, 4]]) >>> a[0] = 333 >>> a, cp_a ([333, [2, 3, 4]], [1, [2, 3, 4]]) >>> a, cp_a, dcp_a ([333, [2, 3, 4]], [1, [2, 3, 4]], [1, [2, 3]])

The End