회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.노션에서 작성 중

1.노션에서 작성 중

개편하기 전까지 노션에서 작성 중

2024.04.04//read more

2.ChatGPT

2.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

3.노코딩 게임 엔진 - 빌..

3.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

4.(완료) 미접속 회원 정..

4.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

5.매뉴얼 플러스 - 전자제..



안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


Python 6강 - 튜플

artsone | 2007.10.24 05:30 | 조회 3137
Python06.asf

Python 6강
튜플

1. 튜플의 연산
2. 패킹과 언패킹
3. 리스트와의 공통점, 차이점
4. 튜플이 사용되는 경우
5. 예들
1. 경로명 다루기
2. URL다루기


1. 튜플의 연산
# 튜플 만들기
>>> t = ()
>>> t = (1, 2, 3)
>>> t = 1, 2, 3 #위와 같다.
>>> t = (1,) #하지만 한개일 때는 꼭 ,를 붙인다. 왜냐하면 1이 숫자인지 튜플인지 표현하기 위함이다.

>>> T = (1)
>>> T
1
>>> T = (1,)
>>> T
(1,)
>>> (1) + 2
3

>>> r = (1,)
>>> r = 1,

#일반 연산
인덱싱, 슬라이싱, 반복, 연결, 길이, 멤버십테스트...
변경 불가능
사용 예 몇 가지...


2. 패킹과 언패킹
#패킹
한 튜플 안에 여러 데이터를 넣는 것
T = 1, 2, 'hello'

#언패킹
튜플에서 데이터를 분리해 내는 것
x, y, z = T

>>> x, y, z = 1, 2, 3 #1,2,3 값이 x,y,z에 언패킹

#패킹, 언패킹은 리스트에도 적용된다.

>>> L = [1, 2, 3]
>>> x, y, z = L



3. 리스트와의 공통점, 차이점
#공통점
임의의 객체를 저장한다.
시퀀스 자료형이다.
#차이점
변경 불가능
메쏘드를 갖지 않는다.
포맷 문자열 지원, 함수 호출시 가변 인수 지원 기능 등이 추가로 있다.
#일반적인 용도 차이
데이터가 변경될 경우 - 리스트
변경되지 않을 데이터를 표현할 경우 - 튜플
#상호 변환 가능
list(), tuple()


>>> def f(*args):
print args


>>> f(1) #튜플로 입력시킨다.
(1,)
>>> f(1, 2)
(1, 2)
>>> f(1, 2, 3)
(1, 2, 3)

>>> def printf(format, *args): #c언어의 printf 함수를 만들 수 있다.
print format % args


>>> printf("%d %fn", 12, 3.14)
12 3.140000


>>> T
(1, 2, 3)
>>> L = list(T) #튜플을 리스트로 변환
>>> L
[1, 2, 3]
>>> L[0] = 100
>>> L
[100, 2, 3]
>>> T = tuple(L) #리스트를 튜플로 변환
>>> T
(100, 2, 3)


4. 튜플이 사용되는 경우
#함수가 하나 이상의 값을 리턴하는 경우

>>> def calc(a, b):
return a+b, a*b #a+b, a*b와 같이 여러개의 리턴이 튜플이 된다.

>>> x, y = calc(5, 4)

#문자열 포매팅

>>> 'id:%s, name:%s' % ('arts', 'One')

#가변 인수 지원

>>> def f(*args):
print args


>>> f(1, 2, 3)
(1, 2, 3)
>>> f(1, 2, 4, 'spam', 'and', 'ham')
(1, 2, 4, 'spam', 'and', 'ham')

#그 이외, 고정된 값을 표현하기 위하여



5. 예들
#경로명 다루기(os.path)
os.path.abspath() - 상대경로를 절대경로로

>>> import os
>>> os.path.abspath('t.py')
'C:Python25t.py'

os.path.exists() - 파일의 존재 여부 검사

>>> os.path.exists('t.py') #없으면 False(0)
False
>>> os.path.exists('t.py') #있으면 True(1)
True

os.path.getsize() - 파일 크기 알아보기

>>> os.path.getsize('t.py') #byte
2450L

os.path.split() - head, tail 분리

>>> os.path.split('C:Python25t.py') #경로와 파일을 분리
('C:Python25', 't.py')

os.path.splitext() - 확장자 분리

>>> os.path.splitext('C:Python25t.py') #경로와 확장자를 분리
('C:Python25t', '.py')




#URL 다루기(urlparse 모듈)
urlparse() - url을 각 성분별로 분리
(addressing scheme, network location, path, parameters, query, fragment identifier)

>>> urlparse.urlparse('http://www.python.or.kr:8080/python/test.cgi;paramx&b=y#center')
('http', 'www.python.or.kr:8080', '/python/test.cgi', 'param', 'a=x&b=y', 'center')
(프로토콜, 사이트:포트, 경로, 파라메터, 질이어, 프래그먼트)

urlunparse() - url성분을 하나로 url로 역 변환

>>> t = list(p) #튜플을 리스트로 변환하고,
>>> t[-1] = 'left' #리스트의 마지막 값을 left로 변경
>>> t
['http', 'www.python.or.kr:8080', '/python/test.cgi', 'param', 'a=x&b=y', 'left']
>>> urlparse.urlunparse(t) #t의 값을 다시 url로 역 변환
'http://www.python.or.kr:8080/python/test.cgi;paramx&b=y#left'

urljoin(base, url) - 베이스 url과 상대 url을 연결하여 절대 url 생성

>>> b = 'http://www.python.or.kr/python' #url 연결
>>> urlparse.urljoin(b, 'index.html')
'http://www.python.or.kr/index.html'
>>> b = 'http://www.python.or.kr/python/' #마지막 /로 폴더를 베이스로 인식
>>> urlparse.urljoin(b, 'index.html')
'http://www.python.or.kr/python/index.html'
>>> b = 'http://www.python.or.kr/python/a.html' #/python/까지 베이스로 인식
>>> urlparse.urljoin(b, 'index.html')
'http://www.python.or.kr/python/index.html'


Python06.asf 끝
285개(14/15페이지)
프로그래밍
번호 제목 글쓴이 조회 날짜
25 [VisualStudio] Visual Studio Express 2012 다운로드/설치 첨부파일 푸딩뱃살 2730 2013.04.06 20:12
24 [Python] DC 이효리 겔러리에서 사진 추출하기 사진 artsOne 934 2009.03.27 01:54
23 [Python] 클래스 안의 함수 실행 artsOne 2544 2012.09.20 11:54
22 [Python] 기본 함수들 artsOne 4881 2012.09.12 15:39
21 [Python] Config Parser artsOne 2264 2012.08.28 13:55
20 [Python] win32 오픈오피스 실행 artsOne 2154 2012.08.01 17:38
19 [Python] 문자열의 기호들을 출력하기 artsOne 2867 2009.04.17 11:59
18 [Python] python 자료형 / 자료형 출력 artsOne 3393 2009.03.30 00:54
17 [Python] win32 모듈로 Excel 사용하기 artsOne 4113 2008.03.18 02:24
16 [Python] 용어 정리 artsone 3563 2008.02.26 23:11
15 [Python] Python 9강 - 파일 사진 첨부파일 artsone 9962 2007.11.03 02:59
14 [Python] Python 8강 - 객체의 복사 및 형 변환 사진 첨부파일 artsone 5217 2007.11.01 04:15
13 [Python] Python 7강 - 사전 사진 첨부파일 artsone 2870 2007.10.30 03:26
>> [Python] Python 6강 - 튜플 artsone 3138 2007.10.24 05:30
11 [Python] Python 5강 - 리스트 사진 첨부파일 artsone 7338 2007.10.23 22:13
10 [Python] Python 4강 - 문자열 사진 첨부파일 artsone 3700 2007.10.20 03:04
9 [Python] Python 3강 - 수치 자료형과 연산자 사진 첨부파일 artsone 4196 2007.10.18 17:01
8 [Python] Python 2강 - 파이썬 문과 기본 자료형 사진 첨부파일 artsone 5314 2007.10.15 02:25
7 [Python] Python 1강 - 파이썬이란? artsOne 3418 2007.10.11 23:36
6 [Python] [스크랩] Python은 무엇인가? artsone 1998 2008.02.26 16:20