gnu

블로그 이미지
by 군우

TAG CLOUD

  • Total hit
  • Today hit
  • Yesterday hit

def


함수를 정의하는  함수이다.


반환 값, 매개변수등을 생성


1
2
3
4
5
6
def calculate_area (radius):
    area = 3.14 * radius**2
    return area
 
 
c_area = calculate_area(5.0)
cs


전역변수와 지역변수

1
2
3
4
5
6
7
8
9
def get_sum(start, end):
        d =0
        for i in range(start, end+1):
            d += i+sum
            return sum
 
sum =12
print(get_sum(110))
print("sum:",sum)
cs

결과는 12 12 가 나온다

함수안에  sum이 없는데 사용이 가능하다. 전역변수라서 def 어디서든지 이용할 수 있다,


하지만

1
2
3
4
5
6
7
def cal(rad):
    ar = 3.14*rad**2
    return
ar =0
r=3.0
cal(r)
print(ar)
cs

이 경우 함수에서 ar에 수를 대입했지만, 값은 0이 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def get_sum(start, end):
 
        d =0
 
        for i in range(start, end+1):
 
            d = d++sum
 
        sum = 55
 
        return sum
 
sum =12
 
print(get_sum(110))
 
print("sum:",sum)
 
print("\n")
cs

이경우 에러가 발생한다. 왜냐

UnboundLocalError: local variable 'sum' referenced before assignment


def안에서 sum이 선언이 되었다. sum = 55라고. 

하지만  선언되기 전에 sum을 사용하면  전역변수의 sum을 사용하지 못하고

지역변수의 sum을 사용해야한다, 하지만 아직 할당 되지 않은 변수를 사용하려고 했으므로 에러가 발생한다. 

지역변수와 전역변수를 함수내에서 혼용하기 힘들다는 것을 알아냈다.

'Python > Python Concept' 카테고리의 다른 글

[Python] 키워드 인수  (0) 2018.01.11
[Python] 디폴트 인수  (0) 2018.01.11
[Python] while  (0) 2018.01.11
[Python] random  (0) 2018.01.11
[Python] for문  (0) 2018.01.11
AND

ARTICLE CATEGORY

분류 전체보기 (197)
C (0)
HTML (7)
C# (88)
Python (27)
IT (0)
Android (2)
Java (65)
Study (5)
JavaScript (1)
JSP (2)

RECENT ARTICLE

RECENT COMMENT

CALENDAR

«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

ARCHIVE

LINK