겉바속촉
[PYTHON] 파이썬_불 타입, 연산자 우선순위, if 문 본문
안녕하세요
겉바속촉입니다
!^^!
!!파이썬 시작하기!!
이번에는
불 타입, 연산자 우선순위, if 문에 대해서
알아보도록 하겠습니다
BOOL타입
- True, False 가짐
- not, and, or 연산 가능
- 0, 0.0, 빈 문자열(''), None ==> false, 그 외 모든 수, 문자열 ==> true
- 불연산자, 비교연산자, 연산자 결합
연산자 우선순위
산술 > 비교> 불
1순위 : + , -, *, /
2순위 : <, >, <=, >=, ==, !=
3순위 : and, or, not (not - and - or 순으로 높음)
그런데 다음 예시는 좀 이상합니다
뭔가 말이 이상해요
첫번째는 해석을 이렇게 해주세요 --> (3 < 5) and (5 != True) ---> True
두번째는 해석을 이렇게 해주세요 --> (3 < 5) and (5 != False) ---> True
단락평가(short-circuit evaluation)
and나 or를 포함하는 표현식을 평가할 때 왼쪽부터 오른쪽으로 평가
평가를 멈출만한 충분한 정보를 얻으면 아직 평가하지 않은 피연산자가 있어도 평가를 멈춤
- and 전에 있는 것이 false 라면 and 뒤는 상관 없이 --> 무조건 False
- or 전에 있는 것이 true 라면 or 뒤는 상관 없이 --> 무조건 true
위의 예시처럼 or 뒤에 오는 것이 false 임에도 결과는 true를 출력하고있쥬?
****참고******************************************************************************************
*
* 자바의 경우
*
* ( #1 ) | ( #2 ) => #3
* ( #1 ) || ( #1이 true 이면 생략, 그렇지 않으면 #2 ) => #3(#1이 true이면 true를 반환)
* ( #1 ) & ( #2 ) => #3
* ( #1 ) && ( #1이 false 이면 생략, 그렇지 않으면 #2 ) => #3(#1이 false이면 false를 반환)
*
****************************************************************************************************
문자열 비교
- ASCII 코드를 기준으로 비교 --> 공백(332) < A(65) < z(122)
- 사전순 비교 : 문자열 내 서로 대응하는 문자들을 왼쪽 --> 오른쪽으로 비교
- in 연산자 : 어떤 문자열이 다른 문자열 내에 있는 지 확인
--> 대소문자 구분
--> 빈 문자열은 모든 문자열의 부분 문자열
실행할 명령문 선택
- if 문, if ~ elif문, if~elif ~ else 문
- if문 블록에 다른 if문 포함 : 중첩 if문
- bool 변수에 의미 있는 이름을 부여하여 코드를 이해하기 쉽게 만듦
***if문을 여러개 중첩할 수 있는 것보다
표현식이 생성하는 값을 참조하는 변수를 생성해서 변수를 재사용할 것***
'IT 일기 (상반기) > PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬_테스트 케이스 실행해보기 (0) | 2021.01.05 |
---|---|
[PYTHON] 파이썬_모듈화 방식 (0) | 2021.01.05 |
[PYTHON] 파이썬_텍스트 처리 (0) | 2021.01.05 |
[PYTHON] 파이썬_IDLE 활용하기 (0) | 2021.01.04 |
[PYTHON] 파이썬_지역변수, 새로운 함수 디자인 (0) | 2021.01.04 |