대부분의 프로그래밍 언어에는 삼항 연산이라고도 불리는 삼항 연산이 있습니다. Python 언어에도 Python 2.5 버전부터 삼항 연산자가 도입되었습니다.
Python에서는 삼항 연산을 조건식이라고도 합니다. 구문은 다음과 같습니다.
true_expression if 조건 else false_expression
condition이 판단 조건이고 true_expression과 false_expression은 if…else…으로 연결된 두 개의 표현식입니다.
조건이 true(결과가 true)이면 true_expression이 실행되고 true_expression의 결과가 전체 표현식의 결과로 사용됩니다.
조건이 true가 아닌 경우(결과가 false인 경우) false_expression이 실행되고 false_expression의 결과가 전체 표현식의 결과로 사용됩니다.
Python의 삼항 연산자는 물음표와 콜론을 사용하여 연결하는 Java 및 기타 언어와 달리 if 및 else로 연결됩니다.
예:
num1 = int(input('请输入第一个数字:')) num2 = int(input('请输入第二个数字:')) # 三元运算 max_num = num1 if num1 >= num2 else num2 print(f'最大值是:{max_num}')
출력:
请输入第一个数字:15646 请输入第二个数字:464665 最大值是:464665
위의 예에서 num1이 num2보다 크거나 같으면 max_num은 num1과 같고, 그렇지 않으면 max_num은 num2와 같고 두 숫자의 최대값은 다음과 같습니다. 삼항 연산자를 통해 찾았습니다.
1. 삼항 연산문
numa = 100 numb = 10 max_num = numa if numa >= numb else numb print(f'最大值是:{max_num}')
2. 조건문
numa = 100 numb = 10 if numa >= numb: max_num = numa else: max_num = numb print(f'最大值是:{max_num}')
위 비교에서 보면 삼항 연산문과 조건문의 기능은 완전히 동일하지만, 연산문에는 한 줄의 코드만 필요한 반면, 조건문에는 네 줄의 코드가 필요합니다. 삼항 연산문은 코드 수가 적고 가독성이 높아 대부분의 경우 조건문의 약어라고 할 수 있습니다.
num = int(input('请输入数字:')) print('负数') if str(num)[0] == '-' else print('大于等于100') if num >= 100 else print('小于100的正数')
위의 코드 줄은 중첩된 삼항 연산 표현식입니다. 첫 번째 else 뒤의 문은 완전한 삼항 연산 문이며 다음과 같이 외부 삼항 연산 표현식에서 false_expression을 생성합니다. 아래 그림에 나와 있습니다.
이 표현식은 다음 조건부 판단 코드와 동일합니다.
num = int(input('请输入数字:')) if str(num)[0] == '-': print('负数') else: if num >= 100: print('大于等于100') else: print('小于100的正数')
동일한 방법을 계속 사용하여 더 많은 레이어를 중첩할 수도 있지만 개인적으로 너무 중첩을 작성하지 않는 것이 좋습니다. 그렇지 않으면 코드의 가독성이 떨어집니다. 내림차순은 비생산적입니다.
s = [i if i % 2 == 0 else 10*i for i in range(10)] print(s)
출력:
[0, 10, 2, 30, 4, 50, 6, 70, 8, 90]
물론, 삼항 연산 표현식을 사전 파생 및 집합 파생과 결합할 수도 있습니다. 자세한 파생은 Python 목록 이해
Python의 삼항 연산 표현식에는 두 가지 주요 장점이 있습니다.
1. 간단한 조건문을 한 줄짜리 삼항 연산 표현식으로 대체하여 코드 줄 수를 줄일 수 있습니다.
2. 간단한 삼항 연산 표현식은 코드의 가독성을 향상시켜 코드를 더욱 Pythonic하고 우아하게 만들 수 있습니다.
위 내용은 Python에서 삼항 연산자를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!