20240213 이것이 코딩 테스트다 챕터4(구현)

함수 안에서 함수 밖의 변수 변경하는 방법

함수 안에서 함수 밖에 이미 선언된 변수를 사용할 수 있을까?
```python a = 10 def my_func(): temp = a + 10 print(temp) my_func() ### 출력 ## 20 ``` 사용할 수 있다.

함수 안에서 함수 밖에 이미 선언된 변수값을 변경할 수 있을까?
```python a = 10 def my_func(): a = 30 print(a) my_func() print(a) ### 출력 ## 30 ## 10 ``` 위와 같은 방법으로는 변경되지 않는다.
*return값을 사용해서 변경*하거나 *global 키워드를 사용하여 변경*해야한다.

return값 사용

함수 밖에 선언되어 있는 변수를 함수의 매개변수로 받아 함수 안에서 매개변수의 값을 변경시킨 뒤 변경된 값을 return하도록 함수를 만들고, 함수 밖 변수의 값을 return값으로 변경시킨다.

a = 10

def my_func(temp):
    temp = 30
    return temp

a = my_func(a)
print(a)

### 출력
## 30

global 키워드 사용

함수 밖에 선언되어 있는 변수를 함수 안에서 global 키워드로 선언한뒤 함수 안에서 값을 변경시키게 되면 함수 밖의 변수도 값이 변경된다.
이때 global 키워드로 변수를 선언하는 것과 그 변수의 값을 변경하는 것을 한줄로 적게되면 SyntaxError가 발생한다. 먼저 global 키워드로 변수를 선언하고, 그 다음줄에서 변수의 값을 변경해야한다.

a = 10

def my_func():
    global a
    a = 30

my_func()
print(a)

### 출력
## 30

Categories:

Updated:

Leave a comment