Python에서 표현식과 문장의 차이점은 무엇입니까?
Python에서 표현식과 문장의 차이점은 무엇입니까?
식에는 식별자, 리터럴 및 연산자만 포함됩니다. 연산자에는 산술 연산자와 부울 연산자, 함수 호출 연산자가 포함됩니다. ()
구독 오퍼레이터 []
Python 객 python python값값값값값값 python python python python python python python python python python python python python python python python python python python.§:
3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
반면 문(1, 2 참조)은 Python 코드의 한 줄(또는 여러 줄)을 구성할 수 있는 모든 것입니다.표현식도 문장이라는 점에 유의하십시오.예:
# all the above expressions
print 42
if x: do_y()
return
a = 7
Expression - New Oxford American Dictionary에서 인용:
식: 수학은 수량을 합동으로 표현하는 기호들의 집합이다: 원의 둘레에 대한 식은 2µr이다.
총 일반 용어: 표현식은 적어도 하나의 값을 생성합니다.
Python에서 표현식은 Python Language Reference에서 광범위하게 다루어집니다. 일반적으로 Python에서 표현식은 구문학적으로 합법적인 조합인 Atoms, Primary 및 Operators로 구성됩니다.
표현의 예:
연산자 및 내장 함수 또는 사용자가 작성한 함수의 호출과 리터럴 및 구문적으로 올바른 조합:
>>> 23
23
>>> 23l
23L
>>> range(4)
[0, 1, 2, 3]
>>> 2L*bin(2)
'0b100b10'
>>> def func(a): # Statement, just part of the example...
... return a*a # Statement...
...
>>> func(3)*4
36
>>> func(5) is func(a=5)
True
Wikipedia 성명:
컴퓨터 프로그래밍에서는 명령형 프로그래밍 언어의 최소 독립형 요소로 생각할 수 있습니다.프로그램은 하나 이상의 문장으로 이루어진 시퀀스에 의해 형성된다.스테이트먼트에는 내부 컴포넌트(예: 식)가 있습니다.
일반적으로 다음과 같습니다.스테이트먼트는 무언가를 행하며, 많은 경우 표현식(또는 다른 스테이트먼트)으로 구성됩니다.
Python Language Reference에서는 Simple Statements 및 Compound Statements에 대해 광범위하게 다룹니다.
그러나 "성명이 무언가를 한다"와 "표현은 가치를 낳는다"의 구분이 모호해질 수 있습니다.
- List Compensions는 "Expressions"로 간주되지만 루프 구성 요소가 있으므로 작업 수행도 가능합니다.
if
'다, 하다, 하다'와이에요.if x<0: x=0
조건식도 할 수 있어요x=0 if x<0 else 1
그런 표현들이에요.에서는 이 .x=x<0?0:1;
- 함수를 작성하여 자신만의 식을 작성할 수 있습니다.
def func(a): return a*a
는 사용되는 경우 표현이지만 정의되는 경우 문장으로 구성됩니다. - 되는
None
의 입니다.「 Python 」def proc(): pass
'를 사용할 수 .proc()
표현으로서, 하지만 그것은 아마도 버그일 것이다... - Python C express Expression statement의스테이트먼트입니다.C에서는 임의의 표현은 법적 진술입니다.당신은 가질 수 있다
func(x=2);
표현식입니까, 문장입니까? (정답: 부작용이 있는 문장으로 사용되는 표현입니다.)의 할당 스테이트먼트x=2
func(x=2)
에서는 Python이라는 의 인수를 합니다.a
" " " " " " " 2 " 에func
다이다
이것은 Python과 관련이 없지만:
안expression
값이 되도록 평가합니다. a.statement
언가를를한한한
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
이란 예를 어떤 수 것을 ."1+3"
만, 「 」"foo = 1+3"
그렇지 않습니다.
확인은 간단합니다.
print(foo = 1+3)
효과가 없다면, 그것은 진술이고, 만약 효과가 있다면, 표현입니다.
또 다른 문장은 다음과 같습니다.
class Foo(Bar): pass
값으로 줄일 수 없기 때문입니다.
스테이트먼트는 액션 또는 명령어를 나타냅니다(예: 스테이트먼트, 할당 스테이트먼트 인쇄).
print 'hello', x = 1
식은 결과 값을 생성하는 변수, 연산 및 값의 조합입니다.
5 * 5 # yields 25
마지막으로 표현문
print 5*5
표현은 무엇인 반면, 진술은 무엇인가가 된다.
표현식도 문장이지만 반환이 있어야 합니다.
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
PS: 인터프리터는 항상 모든 식의 값을 출력합니다.
- 식은 값을 반환하는 문입니다.따라서 할당의 오른쪽에 표시되거나 메서드 호출의 파라미터로 표시될 수 있는 경우 표현식입니다.
- 일부 코드는 컨텍스트에 따라 표현식 또는 문장이 될 수 있습니다.언어는 애매할 때 둘을 구별하는 수단이 있을 수 있다.
표현식은 항상 값으로 평가하지만 문장은 그렇지 않습니다.
예.
변수 선언 및 할당은 값을 반환하지 않기 때문에 명령어입니다.
const list = [1,2,3];
왼쪽에는 변수 'sum'과 오른쪽에는 식이라는 두 개의 피연산자가 있습니다.이 모든 것은 문장이지만 오른쪽의 비트는 그 코드 조각이 값을 반환할 때의 표현입니다.
const sum = list.reduce((a, b)=> a+ b, 0);
함수 호출, 산술 연산 및 부울 연산은 식의 좋은 예입니다.
표현식은 종종 문장의 일부입니다.
값을 반환하기 위해 코드 피스가 필요한지 여부를 나타내기 위해 두 가지 사이의 구별이 종종 필요합니다.
스테이트먼트:
스테이트먼트는 어떤 작업을 수행하는 작업 또는 명령입니다.예: If-Else, Loops..기타
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
표현:
식은 값을 산출하는 값, 연산자 및 리터럴의 조합입니다.
val a: Int = 5 + 5 #yields 10
레퍼런스
표현과 문장
2.3 표현 및 진술 - Allen B의 thinkpython2. 다우니
2.10. 진술과 표현 - Paul Resnick과 Brad Miller의 컴퓨터 과학자처럼 생각하는 방법
식은 값, 변수 및 연산자의 조합입니다.값 자체가 식이고 변수도 식으로 간주되므로 다음은 모두 합법적인 식입니다.
>>> 42
42
>>> n
17
>>> n + 25
42
프롬프트에서 식을 입력하면 인터프리터는 해당 식을 평가합니다.즉, 식 값을 검색합니다.이 예에서 n은 값 17, n + 25는 값 42입니다.
문장은 변수 생성이나 값 표시와 같은 효과가 있는 코드 단위입니다.
>>> n = 17
>>> print(n)
첫 번째 줄은 n에 값을 부여하는 할당문입니다.두 번째 줄은 n의 값을 표시하는 인쇄문입니다.스테이트먼트를 입력하면 인터프리터가 실행됩니다.즉, 스테이트먼트가 말하는 것은 무엇이든지 실행됩니다.일반적으로 진술에는 가치가 없습니다.
표현식은 값으로 변환됩니다.
문장은 값*을 소비하여 결과**를 생성합니다.
되어 있습니다.print()
★★★★★★★★★★★★★★★★★」pop()
.
**이 결과는 메모리 변경(x = 1) 또는 화면 변경(print xx") 등 무언가를 변경하는 모든 작업일 수 있습니다.
몇 가지 주의:
- 문은 결과를 반환할 수 있으므로 식의 일부가 될 수 있습니다.
- 표현식은 다른 표현식의 일부가 될 수 있습니다.
이전 문장은 Python 프로그램의 상태를 바꿀 수 있습니다: 변수 생성 또는 업데이트, 함수 정의 등.
일부 값만 반환하는 식으로는 함수의 전역 상태 또는 로컬 상태를 변경할 수 없습니다.
하지만 이제 우리는:=
외계인이야!
식:
- 표현은 조합함으로써 형성된다.
objects
그리고.operators
. - 식에는 값(유형)이 있습니다.
- 단순 표현식 구문:
<object><operator><object>
2.0 + 3
라고 하는 표현입니다.5.0
타입이 있습니다.float
관련지어져 있습니다.
진술들
문장은 식(들)으로 구성됩니다.복수의 회선에 걸칠 수 있습니다.
문에는 키워드가 포함되어 있습니다.
표현식에 키워드가 포함되어 있지 않습니다.
print "hello"
스테이트먼트입니다.왜냐하면print
는 키워드입니다.
"hello"
는 표현식이지만 목록 압축은 이에 반대됩니다.
다음으로 표현문을 나타냅니다.목록이 이해되지 않으면 다음과 같습니다.
(x*2 for x in range(10))
스테이트먼트는 프로그램이 실행하는 연속적인 액션 또는 명령이라고 생각하십시오.따라서 값 할당(if 구와 for 및 while 루프)은 모두 문장이 됩니다.함수와 클래스의 정의도 문장이 됩니다.
표현식은 if 절에 넣을 수 있는 모든 것으로 생각하십시오.표현식의 일반적인 예로는 리터럴, 연산자(임플레이스 연산자 제외)가 반환하는 값, 목록, 사전 및 집합 포괄과 같은 포괄이 있습니다.함수 호출 및 메서드 호출도 표현식입니다.
Python 3.8은 변수에 값을 할당하지만 문 대신 식 역할을 하는 전용 := 연산자를 도입했습니다.겉모습 때문에 바다코끼리는 바다코끼리의 오퍼레이터라는 별명을 얻었다.
Python은 식을 "expression statements"라고 부르기 때문에 질문이 완전히 형성되지 않았을 수 있습니다.
스테이트먼트는 Python에서 할 수 있는 거의 모든 것으로 구성됩니다.값 계산, 값 할당, 변수 삭제, 값 인쇄, 함수에서 반환, 예외 발생 등입니다.자세한 내용은 http://docs.python.org/reference/simple_stmts.html# 를 참조해 주세요.
식 문은 값을 생성하기 위해 함수(예: math.cos(theta), 연산자(예: "2+3") 등을 호출하는 것으로 제한됩니다.
언급URL : https://stackoverflow.com/questions/4728073/what-is-the-difference-between-an-expression-and-a-statement-in-python
'programing' 카테고리의 다른 글
장고 구글 앱 엔진 서버 오류 500 (0) | 2023.01.21 |
---|---|
레일 포함 mariadb: libmysqlclient-dev를 설치할 수 없습니다. (0) | 2023.01.21 |
Javascript 배열 검색 및 문자열 제거 (0) | 2023.01.21 |
Jupyter 노트북의 tqdm은 새로운 진행 표시줄을 반복적으로 인쇄합니다. (0) | 2023.01.21 |
목록을 2개씩 반복하려면 어떻게 해야 하나요? (0) | 2023.01.21 |