이 파일은 제가 python 기초 강의를 들으면서 필기했던 내용들을 간단하게 정리한 것입니다.
혹시나 잘못된 정보가 포함되어있을수도 있기 때문에,
python 내용을 아시는 분들중에 잘못된 내용을 잡아내신 경우에는 댓글을 달아주시길 바랍니다.
----------------------------------------------------------------------------------------------------
저는 이미 c언어를 공부한 이후에 파이썬을 공부하고 있는 터라, 필기 내용 자체가 아무래도 c언어와 파이썬의
차이점을 위주로 정리를 했습니다. 그렇기 때문에 python을 아예 모르시는 분은 이 문서를 읽기에 약간 불편함이
있을수도 있다는 점 양해바랍니다. c언어를 어느정도 알고 이 문서를 보는걸 추천드립니다 ㅎㅎ
저도 아직 초보라 틀린 내용이 있을수 있고, 만약 그 부분을 잡아내신다면 댓글로 알려주시길 바랍니다.
논리 연산에 대해 더 알아보기
> 일단 논리 연산에 관련된 가벼운 복습!
and : 모든 피 연산자가 참일때만 참을 반환 (나머지는 다 거짓 반환)
or : 피 연산자 중 하나라도 참이면 참을 반환 (모든 피연산자가 거짓일때만 결과적으로 거짓을 반환)
not : 논리값을 거꾸로 뒤집어서 반환. 즉 not True = False, not False = True이다.
> c언어와 다르게 &&, ||, != 와 같은 표현이 아닌, and, or, not 의 표현으로 나타낸다.
c언어보다 더 사람의 언어에 가깝게 표현되는 언어가 파이썬이다.
ex)
def return_false():
print("함수 return_false")
return False;
def return_true():
print("함수 return_true")
return True;
print("테스트1")
a = return_false()
b = return_true()
if a and b:
print(True)
else:
print(False)
#함수 return_false
#함수 return_true
#False
> return_false(), return true() 함수가 한번씩 호출되면서 각각 '함수 return_false'와 '함수 return_true' 가 출력이 된다.
그 이후, a는 False가 저장, b는 True가 저장된다.
그러므로 14번째 줄에서 a and b 는 False and True 이다.
> and는 피 연산자가 모두 True 일때만 True가 반환된다. 하지만 여기에서는 a가 False이므로 if 의 조건식도 False가 된다.
그러므로 if가 아닌 else문이 실행되므로 False가 출력된다.
논리 연산자의 성질
def return_false():
print("함수 return_false")
return False;
def return_true():
print("함수 return_true")
return True;
print("테스트2")
if return_false() and return_true():
print(True)
else:
print(False)
#테스트2
#함수 return_false
#False
> 함수 return_false만 출력이 된다...왜 그런가?
> return_false() 함수를 실행할때 이미 if문의 조건식이 거짓이므로 뒤에 return_true()는 실행할 필요가 없다.
이것이 true가 나오든 false가 나오든 어짜피 조건식은 거짓이 나올것이므로 볼것도 없다!
또 다른 예시 )
def return_true():
print("truetrue")
return True
def return_false():
print("falsefalse")
return False
#이 상황에서도 return_true()가 true이므로 if문 조건식은 무조건 참! 뒤에건 실행 안됨!
if return_true() or return_false():
print("실행")
else:
print("노 실행")
#truetrue
#실행
> 이 경우에서도 return_true()가 true이므로 if문 조건식은 무조건 참! 뒤에건 실행 안됨!
이것들의 bool값은?
> 숫자 0을 제외한 모든 수 - true
> 빈 딕셔너리, 빈 리스트를 제외한 모든 딕셔너리, 리스트 - true
> 아무 값도 없다는 의미인 None - false
> 빈 문자열을 제외한 모든 문자열 - true
ex)
value = input('입력해주세요> ') or '아무것도 못 받았어'
print('입력받은 값> ',value)
#입력을 하면 입력한 값이 출력
#입력 안하면 '아무것도 못 받았어'가 출력
# 입력을 하면 무조건 input부분이 true이므로 뒤에는 볼 것도 없이 앞의 값이 value가 된다!
# 입력을 안하면 무조건 input부분이 false이므로 뒤에 값이 곧 value가 된다!
ex2)
a = 1 or 10 # a는 1이다
b = 0 or 10 # b는 10이다
print("a:{}, b:{}".format(a, b)) # a: 1, b: 10
'Python' 카테고리의 다른 글
python 간단 정리 - (17) (0) | 2020.03.08 |
---|---|
python 간단 정리 - (16) (0) | 2020.03.07 |
python 간단 정리 - (14) (0) | 2020.03.03 |
python 간단 정리 - (13) (0) | 2020.03.02 |
python 간단 정리 - (12) (0) | 2020.02.28 |