상세 컨텐츠

본문 제목

누구나 파이썬 -5(함수 -2 , 리스트 언패킹, 딕셔너리 자료형 , * Asterisk)

개발생활/Python

by 한국인맛집 2020. 1. 2. 11:20

본문

반응형

 

 

이전자료 보기

 

 

 

[Developer /Python] - 누구나 파이썬 -4 (사용자입력, 반복문[while], 함수-1)

 

누구나 파이썬 -4 (사용자입력, 반복문[while], 함수-1)

이전 자료 보기 [Developer /Python] - 누구나 파이썬 -3 (연산자, if, for) 1. 사용자 입력 사용자가 외부로부터 입력을 받을때 사용합니다. 사용자입력이 조이스틱, 컴퓨터 키보드, 터치등 많은 입력이 존재합니..

devkoboso.com

 

 

 

 


 

 


개요


1. function -2 

1-1  기본함수 

1-2  자료 전달 

1-3 언패킹 전달 (함수에 리스트를 전달하는 방법)

1-4 * Asterisk

2. 딕셔너리 자료형

 

3. bool 자료형

 

4. Stack , Queue 

 

5. 혼자해보기 문제

 

 

 

 

 



Function




1-1 기본함수

 

  1. 매개변수가 없는 기본형태( 파라미터가 없는 함수)

def funcNon():
	print 'function is default function'

 


1-2 파라미터가 있는 함수

 

  1. 파라미터가 있는 함수 -1 

def funcNoneInit(data , data_2):
	sum = data + data_2
	return sum

 

  1. 파라미터가 있는 함수 -2 (디폴트 값이 있는 파라미터)

def func(data, name = 'min', age = 19):
    if data is 0:
        print 'hello world'
    else : 
        print 'ok sure'
        
    print 'your Data = ', data , 'your name ' , name, 'your age ' , age

func(0,'namer',10)
func(40)

 


func 를 호출하게 되면 data 파라미터에 40이 들어가며, 


2번째 3번째 파라미터는 기본 값으로 지정된다.

 

value = 10

def func(var = value):
    print var

value = 4
func()



func 함수를 불렀을때 출력되는값은 무엇일까요?



10 이 출력될까요? 아니면 4가 출력될까요?

 

 

 

더보기

4가 출력되지않고 10이 출력됩니다. 

 

 

그 이유는 함수의 정의 부분에서 초기값을 선언해 주었을때, 초기값은 변화하지 않습니다. 만약 우리가 정상적으로 4를 출력하려면, 파라미터로 4를 입력해주어야 값이 변화 합니다.

 



- 파라미터 패싱 방법(인수 전달방법)

 

def func(name,stage='study room', action='coding', type = 'hifive'):
	print '-- Welcome to python study', name
	print 'hey ' , name , 'what are you doing ' 
	print action, 'to do ' , type
	
func(‘kim')
/*
name 파라미터만 입력한 경우 나머지 파라미터는 디폴트값
*/

func('lee','company','work','user')
/*
순서대로 입력한 경우
*/

func(type='eat',name='oh', action = 'watch')
/*
파라미터를 직접 정하여 순서에 상관없이 입력가능
*/







1-3 리스트 전달

 

디폴트 리스트 사용하기

def func(a, L = []):
	L.append(a)
	return L
	
print func(3)
print func(2)
print func(5)
print func(1)

var = func(1)

for v  in var:
	print v

 

 

def 함수는 a 라는 파라미터를 받고, 리스트의 입력이 없다면 자체적으로 리스트를 만들어 리스트에 append 하는 구조입니다.

 

생성된 리스트는 리스트 변수를 만들어 조작할수있습니다.



def func(a, L = []):
	L.append(a)
	return L
	
print func(3)
print func(2)
print func(5)
print func(1)

var = func(1)

for v  in var:
	print v

del var

print func(2)

 



var 라는 리스트를 지운다고해서 내부에있는 리스트가 삭제되지는 않습니다.




- 리스트 언패킹

 

* asterisk 아스터리스크 는 파라미터를 튜플 형태로 나눕니다. 

 

arg = [3,6]
print range(*arg)


리스트를 튜플 형태로 나누어 사용하는 방법은 아래와 같습니다.


def po(v):
if v is 3:
print 'this is 3'
elif v is 5: 
print 'this is 5'
else :
print 'hello'


arg = [2,6]


for a in range(*arg):
po(a)

 


1-4 튜플(tuple)



튜플은 Python 에서 리스트와 거의 비슷합니다.

튜플의 가장큰 다른점은 데이터의 값을 수정및 제거가 안됩니다.

 

튜플의 사용법은 아래와 같습니다.

 

tup = (1,3,4)
print tup
t1 = 1,55,13,4
print t1

 

 

리스트에서 아래와 같이 가능했습니다.

▶ 리스트사용

list = [10,3,4,5]
print list
list[1] = 33

print list

 

 

♣ 튜플 사용

 

tuple = (10,3,4,5)
print tuple
tuple[1] = 33
print tuple

 

튜플 자료형은 데이터 수정 , 삭제가 불가능합니다.

 

 



2. 딕셔너리 자료형


 

 

 

 

자료형의 기본구조가 key와 value 로 쌍을 나눈 데이터 자료구조입니다.

 

{KEY   : VALUE  , KEY1 : VALUE1 , KEY2: VALUE2}

 

dic = {1 : 'value', 2 : 'kim','a':10}
print dic
print dic['a']



리스트 처럼 사용가능하며, 해당 key 값을 인덱스로 넣으면 value가 출력된다.



- 삽입하기

 

딕셔너리 자료형에는 key 와 value의 규칙대로 값을 삽입할수 있다.

 

dic = {1 : 'value', 2 : 'kim','a':10}

dic['k'] = 'orean'

print dic

 

‘k’ 키값에 ‘orean’ 값이 마지막에 삽입된다.

 

dic = {1 : 'value', 2 : 'kim','a':10}
dic[10] = 'names'

 

10 이라는 key 에 ‘names’ 라는 값을 삽입된다. 마지막에 추가된다.

 

* 삽입할때 중복값을 삽입할수 없다, 동일한 키값을 입력하면 기존 값이 수정된다.

 

 key 값은 고유 값이다. 




- 데이터 삭제

 

 del 키워드를 사용하여, 삽입과 동일하게 하면 된다.

 

dic = {1 : 'value', 2 : 'kim','a':10}
dic[10] = 'names'

print dic
del dic['a']
print dic



 

 

 





3. bool 자료형


bool 자료형은 Ture , False 값 2가지 값을 가지게된다.

 

변수의 이름은 true, false , True, False는 사용하지 않는게 좋다. (예약어 이다.)

 

python 에서 참 불을 사용할때 대문자만을 사용해야한다.



boolean = 10 is 10
print boolean


Stack Queue


4-1 List를  Stack 처럼 사용하기 



* 스택(Stack)

 

스택자료 형 후입선출 (먼저 들어온 데이터가 나중에 나가는 구조)특징을 가지고 있다.

 

 

 

 

 

 

파이썬에서 리스트를 스택처럼 사용하는것은 다음과 같다.

 

 

 

list = []
list.append(1)  # [1]
list.append(2)  # [1,2]
list.pop()      # [2]
#출력 1

 

 

 

 

4-2 List를  Queue 처럼 사용하기 



* 큐(Queue)

 

큐형 선입선출 (먼저 들어온 데이터가 먼저 나가는 구조)특징을 가지고 있다


리스트를 큐로 사용하는 방법은 다음과 같습니다.

 

 

 

from collection import deque

que = deque([1,2,3])   # [1,2,3]
que.append(10)       #[1,2,3,10]
que.popleft()     # [2,3,10]
#1 출력

 

 

 

 

 

 

 

 

 


 

 

 


5. 혼자해보기 문제


 

 

아래는 학생의 성적표 입니다.

 

student

eng

math

computer

ashe

75

85

93

xinzao

85

60

56

riven

100

76

93

nidalee

40

20

100

olaf

25

25

90

elsa

100

70

25

kwanda

60

95

15



4-1 성적표 데이터를 입력하세요

 

4-2 olaf의 평균 데이터를 출력하세요

 

4-3 전체 학생의 수학평균을 구하여 출력하세요

 

4-4 전체 학생의 평균을 구하세요

 

4-5 전체 평균의 점수를 내림차순 한뒤, 새로운 리스트를 만들고 , 딕셔너리화 하여 데이터를 저장하기

 

 


 

6강  자료 보기

 

[Developer /Python] - 누구나 파이썬 -6 (Module , file I/O , 코딩스타일)

 

누구나 파이썬 -6 (Module , file I/O , 코딩스타일)

이전 자료 보기 (누구나 파이썬-5 ) [Developer /Python] - 누구나 파이썬 -5(함수 -2 , 리스트 언패킹, 딕셔너리 자료형 , * Asterisk) 개요 1. Modeuls 2 file I/O 3. 파이썬 코딩스타일 Intermezzo Module 1 im..

devkoboso.com

 

 

 

 

반응형

관련글 더보기