programing

Python에서 표현식과 문장의 차이점은 무엇입니까?

bestcode 2023. 1. 21. 09:48
반응형

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로 구성됩니다.

Wikipedia의 Python 표현식

표현의 예:

연산자내장 함수 또는 사용자가 작성한 함수의 호출과 리터럴 및 구문적으로 올바른 조합:

>>> 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 성명:

컴퓨터 프로그래밍에서는 명령형 프로그래밍 언어의 최소 독립형 요소로 생각할 수 있습니다.프로그램은 하나 이상의 문장으로 이루어진 시퀀스에 의해 형성된다.스테이트먼트에는 내부 컴포넌트(예: 식)가 있습니다.

Wikipedia의 Python 문장

일반적으로 다음과 같습니다.스테이트먼트는 무언가를 행하며, 많은 경우 표현식(또는 다른 스테이트먼트)으로 구성됩니다.

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: 인터프리터는 항상 모든 식의 값을 출력합니다.

  1. 식은 값을 반환하는 문입니다.따라서 할당의 오른쪽에 표시되거나 메서드 호출의 파라미터로 표시될 수 있는 경우 표현식입니다.
  2. 일부 코드는 컨텍스트에 따라 표현식 또는 문장이 될 수 있습니다.언어는 애매할 때 둘을 구별하는 수단이 있을 수 있다.

표현식은 항상 값으로 평가하지만 문장은 그렇지 않습니다.

예.

변수 선언 및 할당은 값을 반환하지 않기 때문에 명령어입니다.

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

반응형