강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của woulduegg
woulduegg

câu hỏi đã được viết

Đi thẳng vào vấn đề, Python và Pandas dành cho người mới bắt đầu

Giải pháp thực hành các bài toán lập trình Python

파이썬 연습문제 6번 관련 문의

Viết

·

32

·

Đã chỉnh sửa

0

안녕하세요. 유용한 강의와 연습 문제 감사합니다.

파이썬 연습 문제 6번 관련하여 아래와 같이 2가지 질문 드립니다.

  1. 문제에서 결과로 요구한 값과 코드로 도출하신 값이 달라, (결과는 ID만 도출, 맨 아랫줄의 값은 도메인이 포함된 전체 이메일로 도출)

    아래와 같이 코드를 짜서 결과 값에 맞게 새로 코드를 짜서 도출하긴 했는데, 이런 방법으로 도출을 했을 때 문제가 발생할 여지가 있는지 문의 드립니다. (저는 비전공자로, 코딩에 대한 지식이 전혀 없기 때문에 단순히 확인을 위해 문의 드리는 점 참고 부탁드립니다.)

     

  2. 함수를 정의할 때 쓴 result와, for문에 사용한 result는 같은 값이지만, 마지막에 해당 함수를 출력할 때는 result가 아닌 다른 이름(F )으로 지정 후 출력해도 같은 결과가 나오는 것을 확인하였습니다. 그렇다면 마지막에 함수를 출력하기 위해 쓴 result는 def 구문 안에 있는 result와는 무관하다고 보면 될까요? 다른 이름으로 지정하는 것에 관례적인 문제가 있는지도 궁금합니다.

     

     

email = ['abc132@naver.com', 'wow880@gmail.com', 'hahahahaha@naver.com']

def classifyEmail(email):

result = {"naver" : [], "gmail" : []}

for e in email:

domain = e.split("@")[1]

ID = e.split("@")[0]

 

if domain == "naver.com":

result['naver'].append(ID)

else:

result['gmail'].append(ID)

 

return result

 

F = classifyEmail(email)

print(F)

 

감사합니다.

pythonpandas

Câu trả lời 1

0

Jay님의 프로필 이미지
Jay
Người chia sẻ kiến thức

classifyEmail 함수 내 정의 된 result 값은 "지역 변수"입니다. 즉, 풀어서 말하자면 저 함수 내에서만 저 변수명이 통한다는 뜻이에요.

 

해당 함수의 리턴 값으로 result를 함수 외부에서 F라는 "전역 변수" 개념으로 받는 것이라고 이해하시면 되겠습니다.

 

아마 이 개념이 헷갈리셨을 것 같은데 구글에 구글에 전역변수, 지역변수 차이라고 검색 또는 ai에게 물어보시면 더 자세한 예시를 보실 수 있을거에요!

감사합니다.

Hình ảnh hồ sơ của woulduegg
woulduegg

câu hỏi đã được viết

Đặt câu hỏi