sort()
reverse()
s06_list6.py
생성data = [20,10,50,40,30]
print(data)
print('-'*3)
# 반대로 정렬
data.reverse()
print(data)
print('-'*3)
# 오름차순으로 정렬
data.sort()
print(data)
print('-'*3)
# 내림차순으로 정렬
data.sort(reverse=True)
print(data);
print('-'*3)
data2 = ['서울', '인천', '성남', '부천', '광주']
print(data2)
print('-'*3)
# 반대로 정렬
data2.reverse()
print(data2)
print('-'*3)
# 오름차순으로 정렬
data2.sort()
print(data2)
print('-'*3)
# 내림차순으로 정렬
data2.sort(reverse=True)
print(data2)
print('-'*3)
s07_list7.py
생성# 문자열과 리스트
string1 = 'Python is fun!'
print(string1)
print('-'*3)
# find(): string1에서 'fun'이 처음으로 등장하는 위치(=인덱스)를 반환
x = string1.find('fun')
print(x)
print('-'*3)
string2 = '사과는 맛있다. 나는 사과를 제일 좋아한다.'
print(string2)
print('-'*3)
x = string2.replace('사과', '딸기')
print(x)
print('-'*3)
hello = 'have a nice day'
print(hello)
print('-'*3)
list1 = hello.split(' ')
print(type(list1))
for i in range(0,len(list1)):
print('list1[%d]: %s' % (i,list1[i]))
s08_list8.py
생성names = ['바닐프티', '바닐리치', '배바닐라']
print(names)
print('-'*3)
# 리스트를 지정한 구분자로 연결하여 문자열로 반환
x = '/'.join(names)
print(x)
phone1 = ['010','1234','5678']
phone2 = '-'.join(phone1)
print(phone2)
s09_list9.py
생성# 2차원 리스트
numbers = [[10,20,30],[40,50,60,70,80]]
print(numbers[0][0])
print(numbers[0][1])
print(numbers[0][2])
print('-'*3)
print(numbers[1][0])
print(numbers[1][1])
print(numbers[1][2])
print(numbers[1][3])
print(numbers[1][4])
s10_list10.py
생성data = [[10,20],[30,40],[50,60],[70,80]]
for i in range(4): # 리스트의 행
for j in range(2): #리스트의 열
print('data[%d][%d] = %d' % (i,j,data[i][j]))
s11_list11.py
생성scores = [[75,83,90],[86,86,73],[76,95,83],[89,96,69],[89,76,93]]
for i in range(len(scores)): # 리스트의 행
sum = 0;
for j in range(len(scores[i])): # 리스트의 열
sum += scores[i][j] # 총점
avg = sum/len(scores[i]) # 평균
print('%d번째 학생의 총점: %d, 평균: %.2f' % (i+1,sum,avg))
s12_tuple.py
생성# 튜플에서는 리스트의 대괄호 대신에 소괄호를 사용
# 튜플에서는 리스트와 달리 요소의 수정과 추가가 불가능
animals = ('토끼', '햄스터', '강아지', '사슴')
print(animals)
print(type(animals))
for i in range(len(animals)): # 튜플의 길이
print(animals[i])
print('-'*3)
# 인덱스 0번 요소의 값 출력
print(animals[0])
print('-'*3)
# 요소 수정시 에러
# animals[2] = '호랑이'
# tuple() 함수를 이용하여 튜플 생성
# range() 함수를 이용하여 0부터 9(=10 직전)까지의 수 생성
numbers = tuple(range(10))
print(numbers)
print('-'*3)
print('numbers[0]',numbers[0])
print('numbers[2:5]',numbers[2:5]) # 2부터 4(=5 직전)까지
print('numbers[2:]',numbers[2:]) # 끝 인덱스를 명시하지 않으면 지정한 인덱스부터 튜플의 마지막 요소까지 출력됨
print('numbers[:5]',numbers[:5]) # 시작 인덱스를 명시하지 않으면 튜플의 첫 요소부터 지정한 인덱스 직전까지 출력됨
print('numbers[-2]',numbers[-2]) # 끝에서부터 2번째 요소
# 튜플 합치기
tup1 = (10,20,30)
tup2 = (40,50,60)
tup3 = tup1 + tup2
print(tup3)
s13_dictionary1.py
생성member = {'name':'바닐프티','age':12,'email':'test@test.com'}
print(member)
print('-'*3)
# key와 value 쌍으로 딕셔너리 생성
d = dict(a=1,b=3,c=5) # key를 ''로 감싸면 에러
print(d)
print('-'*3)
# 튜플 리스트를 딕셔너리로 생성
score = dict([('국어',80),('영어',90),('수학',100)])
print(score)
s14_dictionary2.py
생성user = {'id':'test','name':'실험','level':2,'point':100}
print(user)
print(user['id'])
print(user['name'])
print(user['level'])
print(user['point'])
print('-'*3)
score = {'kor':90,'eng':89,'math':98}
print(score)
# 추가
score['music'] = 100 # 없는 키에 값을 대입하면 딕셔너리에 해당 키와 값의 쌍이 추가됨
print(score)
print('-'*3)
# 수정
score['kor'] = 100 # 있는 키에 값을 대입하면 딕셔너리에서 해당 키의 값이 수정됨
print(score)
print('-'*3)
# 삭제
x = score.pop('eng') # pop()에 키를 전달하면 해당 키의 값을 반환하고 딕셔너리에서 해당 키와 값의 쌍을 삭제함
print(x)
print(score)
print('-'*3)
# clear(): 딕셔너리의 전체 요소 삭제
score.clear()
print(score)
print('-'*3)
area_code = {'서울':'02','인천':'032','경기':'031','광주':'062'}
# 반복문을 이용해서 key를 구하고 value 호출하기
for key in area_code:
print('%s 지역 번호: %s' % (key,area_code[key]))
def
*args
ch04-function
생성하고 새 파일 s01_function.py
생성# 함수 정의
def hello():
print('안녕, 파이썬!')
# 함수 호출
hello() # JavaScript와 달리 호이스팅을 지원하지 않기 때문에 함수를 먼저 정의하고 호출해야 함
print('-'*3)
# 매개변수
def say_hello(name):
print('안녕, %s!' % name)
say_hello('파이썬')
print('-'*3)
'''
def say_hello(name): # 같은 이름의 함수를 다시 선언하는 경우 오동작 위험이 있음
print('Hello, %s!' % name)
say_hello('Python')
'''
def sum(a,b):
return a + b
a = 3
b = 4
c = sum(a, b)
print(c)
s02_function2.py
생성def even_odd(n):
if n%2 == 0:
print('%d은(는) 짝수입니다' % n)
else:
print('%d은(는) 홀수입니다' % n)
x = int(input('정수를 입력하세요:'))
even_odd(x)
s03_function3.py
생성# 반환하는 값이 있는 경우
def say():
return 'Hi'
a = say()
print(a)
print('-'*3)
# 반환하는 값이 없는 경우
def sum(a,b):
print('%d, %d의 합은 %d입니다' % (a,b,a+b)) # 인자로 실수를 전달하더라도 정수로 출력
print('{0}, {1}의 합은 {2}입니다'.format(a,b,a+b))
sum(3.5,4.3)
# sum(3) # missing argument 에러
s04_function4.py
생성# 매개변수의 수를 고정하지 않고 호출시 전달되는 인자의 수에 따라 가변적으로 지정하고 싶은 경우 *args 사용
def average(*args): # args는 튜플 자료형
num_args = len(args)
sum = 0
for i in range(num_args): # 반복문을 이용하여 연산
sum += args[i] # 총점
avg = sum/num_args # 평균
print('%d과목 평균: %.1f' % (num_args,avg))
average(85,96,87)
average(77,93,85,97,72)
s05_function5.py
생성def func(food):
for x in food:
print(x)
# 리스트 정의
fruits = ['사과', '딸기', '포도', '귤']
# 함수 호출
func(fruits)
global
명령어 이용시 함수 내에서 전역 변수를 직접 가공 가능
global
명령어는 가급적 이용하지 않는 편이 좋음global
명령어 불필요s06_function6.py
생성def func():
x = 100 # 지역 변수
print(x)
func()
# 함수 밖에서 지역 변수 호출시 오류
# print(x)
print('-'*3)
# 전역 변수
def func2():
print(x)
x = 200 # 전역 변수; 함수 호출 전에 선언되어야 함
func2()
print(x)
s07_function7.py
생성# 함수 안에서 선언된 변수의 효력 범위
a = 1 # 전역 변수
def vartest(a): # a는 함수 내에서만 호출할 수 있는 지역 변수
a = a + 1
print(a)
vartest(a) # 전역 변수 a의 값 1을 지역 변수 a에 전달하여 지역 변수 a의 값을 가공
print(a) # 전역 변수 a의 값은 변화하지 않음
s08_function8.py
생성# global 명령어를 이용하여 함수 안에서 함수 밖의 a 변수를 직접 사용
a = 1 # 전역 변수
def vartest():
global a # 전역 변수
a = a + 1
print(a)
vartest()
print(a) # 전역 변수 값 변화
print('-'*3)
def func():
global x # 전역 변수 x가 있으면 x를 읽어옴
x = 200
print(x)
x = 100 # 전역 변수
print(x)
func() # 함수 호출
print(x) # 전역 변수 값 변화
s09_function9.py
생성# 아스키 코드 구하기
x = '1'
print('아스키 코드:',ord(x))
print('-'*3)
# 반올림값 구하기
x = round(7.65676)
print(x)
x = round(7.65676,2) # 특정 소수점 자리에서 반올림
print(x)
print('-'*3)
# 절대값 구하기
print(abs(3))
print(abs(-3))
print('-'*3)
# 첫 번째 인자를 두 번째 인자로 나눈 몫과 나머지를 튜플 자료형으로 반환
print(divmod(7,3))
print(divmod(1.3,0.2))
print('-'*3)
# 순서가 있는 자료형(리스트, 튜플, 문자열)을 인자로 받아 인덱스와 값을 추출
for i,name in enumerate(['html','css','js']):
print(i,name)
print('-'*3)
# 실행 가능한 문자열(1+2, 'hi'+'world' 등)을 인자로 받아 실행한 결과를 반환
print(eval('1+2'))
print(eval("'hi'+'world'"))
print(eval('divmod(4,3)'))
print('-'*3)
# 최댓값
print(max(1,2,3))
print(max([10,20,30]))
print(max('python'))
print('-'*3)
# 최솟값
print(min(1,2,3))
print(min([10,20,30]))
print(min('python'))
print('-'*3)
# sorted(): 리스트, 튜플, 문자열 등 Iterable을 인자로 받아 정렬한 후 그 결과를 리스트로 반환
print(sorted([3,2,4])) # 오름차순
print(sorted((3,2,4), reverse=True)) # 내림차순
print(sorted(['a','c','b']))
print(sorted('zero'))