def second():
for i in range(1,51):
if i%3==0 and i%5==0:
print(i)
if __name__ == "__main__":
second()
if __name__ == "__main__":
__name__이라는 변수의 값이 __main__이라면 아래의 코드를 실행하라.
def sum(a,b) # a,b= 파라미터 = 매개변수
print(sum(3,5)) # 3,5 = 인자 = argument
표현식은 결과값을 산출하는 값, 변수, 연산의 조합
값, 변수 그 자체로도 표현식으로 취급
예시 (가정: x = 3)
- 17
- x
- x+17
문자열 또한 표현식으로 사용 가능
표현식의 종류 중 리터럴 식 有
- ' 리터럴 식(숫자, 문자열 등)= 값 그 자체로써 표현식'
문장과 표현식의 차이점
: 표현식은 ' 처리 후 하나의 값'만 나오고, 문장은 '처리/지시 위주 역할' (표현식은 문장에 포함되지만 위 처럼 생각하는것이 이해하기 좋음)
- 예시 (가정: X= 'Hello world')
- 표현식 : X 또는 'Hello world
- 문장: X= 'Hello world' 또는 print(X)
IndentationError : 잘못된 들여쓰기와 관련된 문법 오류의 베이스 클래스
KeyboardInterrupt: 사용자가 인터럽트 키(일반적으로 Control-C 또는 Delete)를 누를 때 발생
while True:
1
value = 2/0
주요 클래스, 함수의 기능과 변수에 대한 명명규칙, 소스코드 작성날짜 및 수정날짜를 위주로 작성
count = 1
while True: #True 면 계속 실행
print(count)
count += 2 # count =count+2
if count > 10: # count = 12 => 12>10 => 참=True=Truthy
break
------------------------
1
3
5
7
9
Falsy 값들은 실행 안됨 ex) 0.'긴 문장', False, [ ] 등
for x in range(8):
if x % 2 == 0:
continue
print(x)
------------------------------------
1, 3, 5, 7
continue: 다음 순번의 loop를 돌도록 강제하는 것
for x in range(8):
if x % 2 == 0:
pass
print(x)
------------------------------------
0, 1, 2, 3, 4, 5, 6, 7
pass: 단순히 실행할 코드가 없다는 것
print(True and True)
print(False or False)
print(not True)
x, y = 3, 5
if x == y:
print('x and y are equal')
else:
if x < y:
print('x is less than y')
else:
print('x is greater than y')
메소드
값 인덱스 리스트 표현 v in l
- append(v), del[in], pop(), sum(l), count(v), len(l), min(l)
- insert(in ,v ): 리스트 중간에 인덱스와 값을 지정하여 값을 추가삽입
- remove(v):삭제할 항목의 값을 알고 있어야 함(중복- 앞 순서에 있는 값만 삭제)
- extend(): 리스트끼리 이어붙이기 l_1.extend(l_2)
- index(v , in): 리스트 범위에서 특정 값의 인덱스 반환
- sort(l):리스트의 값 자체의 순서를 정렬( arr의 순서자체가 바뀜)
- sorted(l): 리스트 자체의 순서는 유지하고, 정렬된 순서로 출력만 함(주어진 arr은 그대로 유지되어 있음)
메소드
- clear(), copy()
- fromkeys(): key값과 value 지정
x = ('key1', 'key2', 'key3') y = 1 new_dict = dict.fromkeys(x, y) print(new_dict) dict_without_values = dict.fromkeys(x) print(dict_without_values) ------------------------------------- {'key1': 1, 'key2': 1, 'key3': 1} {'key1': None, 'key2': None, 'key3': None}
- get(): key 값으로 value 도출
car = { "brand": "Honda", "model": "CR-V", "year": 2002 } x = car.get("model") print(x) --------------- CR-V
- items()
car = { "brand": "Honda", "model": "CR-V", "year": 2002 } x = car.items() x ------------------- dict_items([('brand', 'Honda'), ('model', 'CR-V'), ('year', 2002)])
- pop()
car = { "brand": "Honda", "model": "CR-V", "year": 2002 } x = car.pop("model") print(x) print(car) ------------ CR-V {'brand': 'Honda', 'year': 2002}
-poptime
car = { "brand": "Honda", "model": "CR-V", "year": 2002 } print(car.popitem()) print(car) --------------------------------- ('year', 2002) {'brand': 'Honda', 'model': 'CR-V'}
- update()
car = { "brand": "Honda", "model": "CR-V", "year": 2002 } car.update({"color": "black"}) print(car) ------------------------- {'brand': 'Honda', 'model': 'CR-V', 'year': 2002, 'color': 'black'}
- value()
car = { "brand": "Honda", "model": "CR-V", "year": 2002 } x = car.values() print(x) car["color"] = "black" print(x) ---------------------------- dict_values(['Honda', 'CR-V', 2002]) dict_values(['Honda', 'CR-V', 2002, 'black'])
: 버그 (bug) 를 없애는 행동
import pdb
pdb.set_trace()
----------------
(Pdb)
# 코드가 여기서 멈추므로, 값을 확인 or 특정 단계 검토 등 다양한 작업 가능
breakpoint():python 3.7이상
sum = 0 breakpoint() print(sum)
is
==
: 연산자는 오브젝트의 값이 같은지 확인하는 경우 사용
- x == y : x,y와 같은 값이면 True
list1 = [1, 2, 3]
list2 = [1, 2, 3]
list1 == list2
>>> True
list1 is list2
>>> False
list1 = [1, 2, 3]
list2 = list1
list1 == list2
>>> True
list1 is list2
>>> True
:isinstance(인스턴스, 데이터나 클래스 타입)
더 알아보기
breakpoint()
이용해서 디버깅해보기