- 파이썬은 interpreter 언어: 한 줄 씩 해석해가며 작동
기본 문법 및 문자열 다루기
1. Expression vs. Statement
1-1. Expression이란 무엇인가?
- 계산 가능한 변수(또는 상수)와 연산자의 조합
- 계산 결과로 어떤 “값”이 된다.
- 예 ) 5+3 / x := 10 / none / some_func(1,2) / object.method(1,2) 등
1-2. Statement란 무엇인가?
- 일반적으로 ‘키워드’라고 함
- 어떤 액션을 할 수 있는 일반적인 완결된 코드 블록
- 액션을 수행하면 되므로 expression과 같이 “값’을 굳이 리턴할 필요 없음
- 예) return / if, while, for / def / x = 10 (변수 정의가 값을 리턴하지는 않으니까)
2. 좋은 개발자 되기: 주석 달기
2-1. 코드에 대한 부가 설명을 주석으로 남기기
2-2. 코드로 충분히 알 수 있는 사실을 굳이 주석으로 반복하지 않기
2-3. 의미없는 변수 이름 쓰지 않기
- 영어로 다는 연습을 하면 좋음
Set (집합)
- 키 없는, 순서 없는, 중복되지 않는 식
# 기본원리
my_set = {1,2,3,4,5,5}
print(my_set)
=> {1,2,3,4,5} ## 중복 제거
# 집합 추가하기
my_set.add(10)
# 리스트 중복 없애기
my_list = [1,1,2,2,2,3,3,3,4,4,5,5,5]
list(set(my_list))
=> [1,2,3,4,5]
# 차집합 구하기
my_set = {1,2,3,4,5}
your_set = {4,5,6,7,8,9,10}
my_set.difference(your_set)
# 교집합 구하기
my_set.intersection(your_set)
# 집합이 독립인지 확인하는 연산
my_set.isdisjoint(your_set) #교집합이 있는지 물어보는 값
=> False
# 합집합 구하기
my_set.union(your_set)
=> {1,2,3,4,5,6,7,8,9,10}
# 서브셋인지 판단 여부
my_set.issubset(your_set)
=> False
# 더 간단하게 계산식(-, |, &) 으로 계산가능
차집합: my_set - your_set
합집합: my_set | your_set
교집합: my_set & your_set
파이썬의 성질
- Truthy & Falsy
- Falsy의 종류를 알면 나머지는 다 Truthy라고 보면됨
- None
- False
- 0
- 0.0
- 0j (=복소수)
- Decimal(0)
- Fraction(0,1)
- ‘[]’
- ‘[]’
- ‘’ - an empty str
- b‘’ - an empty bytes
- set() - an empty set
- an empty range, like range(0)
- objects for which
- obj.bool() returns False
- obj.len() returns 0
- Falsy의 종류를 알면 나머지는 다 Truthy라고 보면됨
함수(def) - 1
# 입력변수의 갯수를 지정하지 않고 입력할 때
def make_list(*param):
print(param)
make_list(1,2,3,4,5,6)
=> (1,2,3,4,5,6)
# 리스트가 아니라 튜플로 들어온다.
# 이미 입력을 받는 순간에 정해지는 값으로 출력
# cf) 리스트를 *로 입력하는 것은 리스트로 들어온다는 것을 잊지말자
# 리스트로 받고 싶다면
nums = make_list(1,2,3,4,5,6)
print(nums)
=> [1,2,3,4,5,6]
nums = make_list()
print(nums)
=> []
# 키워드 파라미터 / 키워드로 argument를 받는 자리다./
즉, 딕셔너리로 해석을 하는 것. 딕셔너리 자체는 아님
def make_kw_list(**kwparam):
print(kwparam)
make_kw_list(first=1, second=2, third=3)
=> {'first': 1, 'second': 2, 'third': 3}
#
def make_kw_list(**kwparam):
for k in kwparam:
print(k, kwparam)
# 의미 없지만 리스트로 반환하고 싶다면
def make_kw_list(**kwparam):
return list(kwparam.keys())
kw_list = make_kw_list(a=1, b=2, c=3)
kw_list
=> ['a', 'b', 'c']
#
def make_list(*args, **kwparam):
return list(args) + list(kwargs.values())
make_list(1,2,3,a=10,b=20,c=30)
=> [1, 2, 3, 10, 20, 30]
#
def make_list(x,y,*args, **kwparam):
return [x+100, y+100] + list(args) + list(kwargs.values())
make_list(1,2,3,a=10,b=20,c=30)
=> [101, 102, 3, 10, 20, 30]
# 디폴트 값 지정하기
def make_list2(x,y,z=10):
return [x,y,z]
make_list2(x=10, y=20, z=100)
=> [10,20,100]
'ASAC 빅데이터전문가과정 > Python' 카테고리의 다른 글
ASAC 14일차 _ 파이썬(Python) Numpy/Pandas 1일차 (0) | 2024.03.03 |
---|---|
ASAC 9일차 _ 파이썬(Python) 5일차 (0) | 2024.03.02 |
ASAC 8일차 _ 파이썬(Python) 4일차 (0) | 2024.01.24 |
ASAC 4일차 _ 파이썬(Python) 2일차 (0) | 2023.12.06 |
ASAC 3일차 _ 파이썬(Python) 1일차 (0) | 2023.12.04 |