Selena
@selena
수강생
70
수강평
24
강의 평점
4.9
저는 파이썬 기초부터 데이터 분석까지 다양한 강의를 진행하며, 10,000명 이상의 수강생을 온·오프라인에서 만나왔습니다.
수강생들의 어려움을 가까이에서 파악하며, 데이터를 더 쉽게 이해하고 실습할 수 있도록 고민한 경험을 강의에 녹여내고 있습니다.
이러한 경험을 바탕으로, 『파이썬 데이터 분석가 되기 + 챗GPT』라는 책을 집필했으며, 이 책이 누구나 부담 없이 데이터 분석을 시작할 수 있는 안내서가 되기를 바라며 강의를 진행하고 있습니다.
현재 패스트캠퍼스, 클래스101, 멀티캠퍼스, 메가스터디, 국비지원등 여러 플랫폼에서 데이터 분석 메인 강사로 강의를 진행하고 있습니다.
약력
현) 서강대학교 AI·SW대학원 인공지능전공 대우교수
현) 서울아산병원 빅데이터연구센터 데이터사이언티스트
머신러닝, 딥러닝, IT플랫폼 개발, SCI 논문 저자
서강대학교 AI·SW대학원 데이터사이언스 석사 졸업
숙명여자대학교 컴퓨터과학 학사 졸업
MIT IDSS Program 'Data Science and Machine Learning' 수료
저서
파이썬 데이터 분석가 되기 + 챗GPT
강의 및 컨설팅
패스트캠퍼스: 'AI 월드' - 프롬프트엔지니어링 '소크라테스', '아인슈타인' 강의 런칭
패스트캠퍼스: '실패 없이 완주하는 파이썬 데이터 분석 입문' 강의 런칭
클래스101: 'ChatGPT를 이용한 Python 데이터 분석 정복하기' 강의 런칭
패스트캠퍼스: '실습으로 끝장내는 파이썬 데이터 분석 입문' 기업 전용 강의 런칭
국비지원: '한 번에 따라하는 파이썬 데이터 분석 기초 완주반' 강의 런칭
메가스터디: '파이썬 프로그래밍 기초', '인공지능을 위한 파이썬 라이브러리 활용' 강의 런칭
멀티캠퍼스: '파이썬 데이터 분석 입문 with ChatGPT' 강의 런칭
삼성전자: Citizen Developer 양성 과정 '파이썬 프로그래밍 기초'
대한의료정보학회: '의료 데이터를 활용한 실전 분석' 튜토리얼
서강대학교, 숙명여자대학교, 한국외국어대학교, 아주대학교, 한국교통대학교, 울산대학교, 한국폴리텍대학교 : '파이썬 프로그래밍 기초', '파이썬을 활용한 머신러닝 및 데이터 분석 실습'
S-OIL, SK 플래닛, 현대오토에버, 대상 주식회사: '프롬프트 엔지니어링', '생성형 AI를 활용한 업무 자동화', '파이썬 오픈 API기반 웹 크롤링 강의', 'RNN을 활용한 주가 데이터 분석'
잡코리아: '인공지능 분야 취업 컨설팅'
강의
수강평
- [왕초보] [누적 5,000명+] Python 프로그래밍 기초 완성 로드맵
- [왕초보] [누적 5,000명+] Python 프로그래밍 기초 완성 로드맵
- [왕초보] [누적 5,000명+] Python 프로그래밍 기초 완성 로드맵
- [왕초보] [누적 5,000명+] Python 프로그래밍 기초 완성 로드맵
게시글
질문&답변
파이썬에서 객체의 참조(reference)와 할당(assignment)의 차이
안녕하세요. 셀레나입니다. 파이썬에서 할당(assignment) 은 값을 복사하는 과정이 아니라,객체에 대한 참조(reference)를 변수에 연결하는 과정입니다.즉, 변수는 데이터를 직접 저장하는 공간이 아니라객체가 저장된 메모리 위치를 가리키는 이름표 역할을 합니다.예를 들어,a = [1, 2, 3] b = a이 경우 b는 a의 값을 복사한 것이 아니라,a가 가리키는 동일한 리스트 객체를 함께 참조합니다.따라서b.append(4)를 실행하면 a도 [1, 2, 3, 4]로 변경됩니다.
- 2
- 1
- 26
질문&답변
파이썬에서 함수의 매개변수 기본값을 설정할 때 주의해야 할 점은 무엇인가요?
안녕하세요. 셀레나입니다. 파이썬에서 변수는 값을 직접 저장하는 것이 아니라 객체를 참조(reference) 합니다.할당(assignment)은 객체를 복사하는 과정이 아니라,해당 객체를 가리키는 참조를 변수에 연결하는 과정입니다.예를 들어, 하나의 리스트를 두 변수에 할당하면두 변수는 동일한 객체를 참조하게 됩니다.이 경우 한 변수에서 객체를 수정하면 다른 변수에서도 변경이 반영됩니다. 즉, 파이썬은 기본적으로 “값 복사”가 아니라 “참조 전달” 방식으로 동작하며,이 특성이 얕은 복사 문제나 가변 객체 관련 이슈와 밀접하게 연결됩니다.
- 1
- 2
- 22
질문&답변
얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)의 차이
안녕하세요. 셀레나입니다. 얕은 복사와 깊은 복사는 객체를 복사하는 방식의 차이입니다.얕은 복사(Shallow Copy) 는 바깥 객체만 새로 만들고, 내부에 포함된 객체들은 원본과 동일한 참조를 공유합니다.따라서 중첩된 구조(예: 리스트 안의 리스트)가 있을 경우, 내부 객체를 수정하면 원본에도 영향을 미칩니다.깊은 복사(Deep Copy) 는 객체뿐 아니라 내부에 포함된 모든 객체까지 재귀적으로 새로 복사합니다.따라서 복사본을 수정해도 원본에는 영향을 주지 않습니다. 즉, 단순한 1차원 구조에서는 차이가 잘 드러나지 않지만,중첩 구조에서는 내부 객체의 공유 여부가 핵심 차이입니다.
- 2
- 2
- 33
질문&답변
변수 선언에 관련한 질문.
안녕하세요. 기연님!셀레나입니다. 🙂 a = 1처럼 = 앞뒤에 띄어쓰기(공백) 를 두는 것은 문법적으로 꼭 필요한 것은 아닙니다.즉, 아래 두 가지는 완전히 동일하게 동작합니다.a=1 a = 1질문 주신 것 처럼 띄어쓰기를 하는 이유는 가독성(코드의 읽기 쉬움) 때문입니다.파이썬은 코드의 일관성과 가독성을 매우 중요하게 생각하는 언어예요. # 권장하는 형태 (PEP 8 스타일) a = 1 b = 2 c = a + b # 권장하지 않는 형태 a=1 b=2 c=a+b 띄어쓰기를 해준다면, 코드를 읽을 때 시각적으로 구분이 쉽습니다. 또한 일관성을 유지할 수 있기 때문에 팀 작업 시 모두 같은 스타일을 따르면 유지보수가 쉬워집니다. 추가적으로 궁금한게 생기면 언제든 질문해주세요.그리고 꼭 복습과 완강까지 화이팅입니다!
- 1
- 2
- 62
질문&답변
for-else는 언제 쓰나요?
안녕하세요. 셀레나입니다. 🙂 파이썬의 for-else에서 else는 반복이 break로 중단되지 않고 끝까지 다 돌았을 때만 실행되므로, 예를 들어 어떤 조건을 만족하는 항목을 찾으면 break로 종료하고 못 찾았을 때만else에서 “없음” 처리를 하거나(예: 검색 실패 메시지, 기본값 설정), 모든 원소가 검증 기준을 통과했을 때만 else에서 “전부 통과” 후속 동작을 실행하는 식으로 검색/검증의 성공·실패를 깔끔히 분기할 때 씁니다. 화이팅입니다!!
- 1
- 2
- 59
질문&답변
코드에서 오류를 찾는 팁이 있을까요?
안녕하세요. 셀레나입니다. 🙂 저는 현업에서 오류를 찾을 때 가장 많이 활용하는 방식은 오류가 발생할 코드 공간에 print문을 찍는 겁니다. 이때는 무작정 찍기보다 계획적으로 찍는데, f-string으로 값+타입을 함께 남기고(print(f"[load] {len(data)=}, {type(data)=}")), 화이팅입니다! :)
- 2
- 2
- 56
질문&답변
요즘 바이브코딩이 대세인데 파이썬을 배워야하는 이유가 뭘까요?
안녕하세요. 🙂요즘 바이브코딩이 뜨거워도 파이썬을 배우면 AI가 내놓은 코드를 읽고 판단하고 고칠 힘이 생깁니다. 프롬프트만 잘 써서는 결과의 정확도와 안정성을 담보하기 어려운데, 기본 문법과 라이브러리를 알면 문제 정의와 검증이 훨씬 탄탄해집니다. 에러 메시지나 성능 병목을 만났을 때도 언어 감각이 있어야 디버깅이 가능하고, AI와의 대화도 구체적인 가설로 더 생산적으로 이끌 수 있습니다. 🙂파이썬은 웹 자동화, 데이터 분석, 머신러닝/딥러닝, 스크립팅, 서버리스 등 다양한 도구를 붙여주는 글루 언어라서 한 번 익히면 활용 범위가 넓습니다. 팀 협업에서는 코드 리뷰와 품질 관리가 중요한데, 파이썬 기반의 테스트·형식화 도구를 이해하면 AI가 생성한 코드도 팀 기준에 맞춰 다듬을 수 있습니다! 학습 자원과 생태계가 방대해 문제를 해결할 레퍼런스를 찾기 쉽고, 경력 전환이나 사이드프로젝트에도 적용 범위가 넓어 기회 비용 대비 효용이 큽니다. 결국 “AI가 코드를 대신 쓰는 시대”일수록, 파이썬을 아는 사람은 더 빠르고, 더 안전하게, 더 멀리 갑니다. 그래서 배워두시면 정말 유용하실거라고 생각해요. 지오찬님 화이팅입니다! 꼭 완강하세요. 🙂
- 1
- 1
- 124
질문&답변
순회 중 리스트 수정은 왜 위험한지 궁금합니다.
안녕하세요. 셀레나입니다. 좋은 질문이에요. :)for로 리스트를 도는 동안 요소를 지우거나 넣으면 인덱스가 밀려 다음 값을 건너뛰거나 중복·에러가 나므로, 원본은 건드리지 말고 새 리스트로 결과를 만들거나 사본을 돌리거나 뒤에서 앞으로 지우는 방식이 안전합니다. 아래의 예제는 2를 지우면 3이 2의 자리로 당겨지는데, 이미 다음으로 넘어가서 그 3을 못 봅니다. 그래서 기대와 달리 몇 개가 안 지워진 채 남을 수 있어요.a = [1, 2, 3, 4, 5, 6] for x in a: if x % 2 == 0: # 짝수 지우기 a.remove(x) print(a) 그래서 최대한 돌 때는 건드리지 말고, 결과를 새로 담아 만드는 걸 추천드립니다.아래 예제는 a를 돌면서 짝수만 result에 담고, 마지막에 a를 그걸로 바꿉니다.result = [] for x in a: if x % 2 == 0: # 짝수면 result.append(x) a = result
- 1
- 2
- 60
질문&답변
range함수 관련
안녕하세요. 셀레나입니다!강의 13장의 반복문 관련 내용이네요. 😊 이 예제는 반복문의 기본 개념을 설명하기 위한 첫 번째 예제입니다. 처음 반복문을 접하시는 분들이 반복자(i) 개념을 익히도록 돕기 위해 편의상 i를 사용했으며, 이후에는 반복자를 활용하는 다양한 방식을 설명하고 있습니다.이후에는 반복자를 활용하는 다양한 방식을 설명하고 있습니다. 만약 클린 코드 관점에서 본다면, i 변수를 사용하지 않는 경우 _로 대체하는 것이 더 적절합니다.예를 들어, 아래처럼 작성하면 불필요한 변수 선언 없이 반복문을 실행할 수 있습니다.for _ in range(5): print('파이썬 프로그래밍') 이렇게 하면 반복 변수(i)를 사용하지 않는다는 의도를 명확히 드러낼 수 있습니다. 감사합니다. :)
- 2
- 1
- 95
질문&답변
if 질문
안녕하세요! 셀레나입니다. 🙂 파이썬에서 가장 중요한 문법 중 하나는 '들여쓰기' 입니다!들여쓰기를 해줘야만 컴퓨터가 if 문과 실행할 코드를 같은 그룹으로 묶어 이해하고 실행할 수 있습니다. 예를 들어, 아래 코드에서:if 1: print('true') # ❌ 들여쓰기 없음 (오류 발생) 이렇게 작성하면 컴퓨터는 if 문 이후에 실행할 코드가 없다고 인식합니다.그래서 반드시 들여쓰기를 해줘야 합니다! if 1: print('true') # ✅ 올바른 들여쓰기 이렇게 하면 컴퓨터가 "if 문이 참이면 print('true')를 실행하면 되겠구나!" 라고 이해합니다. 💡들여쓰기는 파이썬에서 필수적인 문법 요소입니다. 다른 프로그래밍 언어에서는 들여쓰기가 선택 사항이지만, 파이썬에서는 들여쓰기를 하지 않으면 오류가 발생합니다. 꼭 기억해 주세요!
- 2
- 1
- 64




