>  기사  >  백엔드 개발  >  Python의 내장 상수에 대한 심층적인 이해

Python의 내장 상수에 대한 심층적인 이해

黄舟
黄舟원래의
2017-05-21 14:05:181633검색

이 글에서는 주로 Python에 내장된 상수에 대한 관련 정보를 소개합니다. 글의 소개는 매우 자세하며 모든 사람이 참고할 수 있고 학습할 가치가 있습니다. . 필요하신 친구들은 아래에서 함께 살펴보시죠.

서문

모두가 알고 있듯이 Python에는 내장 상수가 많지 않고 True, False, None의 6개만 내장되어 있습니다. , NotImplemented, 줄임표, 디버그. 자세한 소개를 살펴보겠습니다:

1. True

1. True는 true를 나타내는 데 사용되는 bool 유형입니다. 값이 일정합니다.

>>> True
True
>>> type(True)
<class &#39;bool&#39;>

2. 상수 True에 대한 모든 할당 작업은 구문 오류를 발생시킵니다.

>>> True = 1
SyntaxError: can&#39;t assign to keyword

2. False

1. False는 false 값을 나타내는 데 사용되는 bool 유형의 상수입니다.

>>> False
False
>>> type(False)
<class &#39;bool&#39;>

2. False 상수에 할당하면 구문 오류가 발생합니다.

>>> False = 0
SyntaxError: can&#39;t assign to keyword

3. None

1. None은 NoneType의 유일한 값을 의미합니다.

>>> None #表示无,没有内容输出
>>> type(None)
<class &#39;NoneType&#39;>

2. None 상수에 할당하면 구문 오류가 발생합니다.

>>> None = 2
SyntaxError: can&#39;t assign to keyword

3. function의 경우 return 문이 없으면 None을 반환하는 것과 같습니다.

>>> def sayHello(): #定义函数
 print(&#39;Hello&#39;)

 
>>> sayHello()
Hello
>>> result = sayHello()
Hello
>>> result
>>> type(result)
<class &#39;NoneType&#39;>

4. NotImplemented

1. NotImplemented는 NotImplementedType 유형의 상수입니다.

>>> NotImplemented
NotImplemented
>>> type(NotImplemented)
<class &#39;NotImplementedType&#39;>

2. bool() 함수를 사용하여 테스트하면 NotImplemented가 참 값임을 알 수 있습니다.

>>> bool(NotImplemented)
True

3. NotImplemented는 구문 오류 없이 할당할 수 있기 때문에 절대적인 의미의 상수가 아닙니다. 그렇지 않으면 프로그램 실행 결과에 영향을 미치게 됩니다.

>>> bool(NotImplemented)
True
>>> NotImplemented = False
>>> 
>>> bool(NotImplemented)
False

4. NotImplemented는 일부 이진 특수 메서드(예: eq, lt 등)에서 반환 값으로 주로 사용되며, 이는 해당 메서드가 구현되지 않았음을 나타내며 Python은 다음과 같은 경우 두 매개변수를 스마트하게 교환합니다. 결과는 NotImplemented를 반환합니다.

>>> class A(object):
 def init(self,name,value):
  self.name = name
  self.value = value
 def eq(self,other):
  print(&#39;self:&#39;,self.name,self.value)
  print(&#39;other:&#39;,other.name,other.value)
  return self.value == other.value #判断2个对象的value值是否相等

>>> a1 = A(&#39;Tom&#39;,1)
>>> a2 = A(&#39;Jay&#39;,1)
>>> a1 == a2
self: Tom 1
other: Jay 1
True
>>> class A(object):
 def init(self,name,value):
  self.name = name
  self.value = value
 def eq(self,other):
  print(&#39;self:&#39;,self.name,self.value)
  print(&#39;other:&#39;,other.name,other.value)
  return NotImplemented

>>> a1 = A(&#39;Tom&#39;,1)
>>> a2 = A(&#39;Jay&#39;,1)
>>> a1 == a2
self: Tom 1
other: Jay 1
self: Jay 1
other: Tom 1
False

a1==a2를 실행하고(즉, eq(a1,a2) 호출) NotImplemented를 반환하면 Python은 자동으로 매개변수를 교환하고 eq(a2,a1)을 다시 호출합니다.

5. 줄임표

1. 줄임표는 줄임표 유형의 상수입니다.

>>> Ellipsis
Ellipsis
>>> type(Ellipsis)
<class &#39;ellipsis&#39;>
>>> ...
Ellipsis
>>> ... == Ellipsis
True

2. bool() 함수를 사용하여 테스트하면 Ellipsis가 참값임을 알 수 있습니다.

>>> bool(Ellipsis)
True

3. 줄임표는 구문 오류 없이 할당할 수 있으므로 절대적인 의미의 상수가 아닙니다. 그렇지 않으면 프로그램 실행 결과에 영향을 미치게 됩니다.

>>> bool(Ellipsis)
True
>>> Ellipsis = False
>>> bool(Ellipsis)
False

4. 줄임표는 루프의 데이터 구조를 나타내는 데 주로 사용됩니다.

>>> a = [1,2,3,4]
>>> a.append(a)
>>> a
[1, 2, 3, 4, [...]]
>>> a
[1, 2, 3, 4, [...]]
>>> len(a)
>>> a[4]
[1, 2, 3, 4, [...]]
>>>

6. debug

1. 디버그는 부울 유형 상수입니다.

>>> debug
True
>>> type(debug)
<class &#39;bool&#39;>

2. 상수 디버그에 대한 할당 작업은 구문 오류를 발생시킵니다.

>>> debug = False
SyntaxError: assignment to keyword

3. Python이 -O 옵션으로 시작되지 않으면 이 상수는 true이고, 그렇지 않으면 false입니다.

요약

위 내용은 Python의 내장 상수에 대한 심층적인 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.