English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼은 Python에서 사용하는 모든 키워드에 대한 간단한 정보를 제공합니다.
키워드는 Python의 보존어입니다. 우리는 키워드를 변수 이름, 함수 이름 또는 다른 식별자로 사용할 수 없습니다.
이는 Python 프로그래밍에서 모든 키워드의 목록입니다
False | await | else | import | pass |
None | break | except | in | raise |
True | class | finally | is | return |
and | continue | for | lambda | try |
as | def | from | nonlocal | while |
assert | del | global | not | with |
async | elif | if | or | yield |
위의 키워드는 다른 Python 버전에서 변경될 수 있습니다. 추가 내용이 추가되거나 일부 내용이 제거될 수 있습니다. 항상 다음 방법을 통해 현재 버전의 키워드 목록을 얻을 수 있습니다.
>>> import keyword >>> print(keyword.kwlist) ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
True와 False는 Python의 참/거짓 값입니다. 이들은 Python의 비교 연산이나 논리(부울) 연산의 결과입니다. 예를 들어:
]] 1 == 1 True ]] 5 > 3 True >>> True or False True ]] 10 <= 1 False ]] 3 > 7 False >>> True and False False
여기서 세 가지 첫 번째 문장은 정확합니다. 따라서 인터프리터는 True를 반환하고, 나머지 세 가지 문장은 False를 반환합니다. True와 False는 Python에서10과 동일합니다. 이를 다음 예제를 통해 증명할 수 있습니다:
>>> True == 1 True >>> False == 0 True >>> True + True 2
None는 Python에서 존재하지 않는 값이나 빈 값을 의미하는 특수 상수입니다.
NoneType 객체의 데이터 타입입니다. 여러 개의 None 객체를 생성할 수 없지만, 변수에 할당할 수 있습니다. 이러한 변수는 동일합니다.
None는 False, 0 또는 빈 목록, 딕셔너리, 문자열 등을 의미하지 않음을 특별히 주의해야 합니다. 예를 들어:
>>> None == 0 False >>> None == [] False >>> None == False False >>> x = None >>> y = None >>> x == y True
내용을 반환하지 않는 가상 함수는 자동으로 None 객체를 반환합니다. return 문이 없이 프로그램 흐름을 만났는지 여부에 따라 함수는 None을 반환합니다. 예를 들어:
def a_void_function(): a = 1 b = 2 c = a + b x = a_void_function() print(x)
출력 결과
None
이 프로그램은 내부에서 몇 가지 작업을 수행하지만, 함수는 값을 반환하지 않습니다. 따라서 x를 프린트할 때, 우리는 자동(숨겨진)으로 None을 반환받습니다. 또한, 이는 또 다른 예입니다:
def improper_return_function(a): if (a % 2) == 0: return True x = improper_return_function(3) print(x)
출력 결과
None
이 함수는 return 선언이 있지만 모든 경우에 다 반환할 수는 없습니다. 이 함수는 입력이 짝수일 때만 True를 반환합니다.
함수에奇수를 주면 자동으로 None을 반환합니다.
and, or, not는 Python의 논리 연산자입니다. 그리고 두 연산자 모두 True일 때만 결과가 True가 됩니다. and의 True, False 표는 다음과 같습니다:
A | B | A and B |
---|---|---|
True | True | True |
True | False | False |
False | True | False |
False | False | False |
or은 어떤 연산자가 True라면 결과가 True가 됩니다. or 진리 표는 다음과 같습니다:
A | B | A or B |
---|---|---|
True | True | True |
True | False | True |
False | True | True |
False | False | False |
not 연산자는 진리를 반전시키는 데 사용됩니다. not 진리 표는 다음과 같습니다:
A | not A |
---|---|
True | False |
False | True |
다음은 몇 가지 사용 사례가 있습니다
>>> True and False False >>> True or False True >>> not False True
as는 모듈을 가져오는 동안 별명을 만드는 데 사용됩니다. 이는 모듈을 가져오는 동안 모듈에 다른 이름(사용자 정의)을 주는 것을 의미합니다.
예를 들어, Python에는 standard 모듈인 math가 있습니다. 피를 계산하는 데 별명을 사용하고 싶다면 다음과 같은 방법을 사용할 수 있습니다:
>>> import math as myAlias >>> myAlias.cos(myAlias.pi) -1.0
여기서 우리는 myAlias라는 모듈의 이름을 통해 해당 모듈을 가져오기 위해 math를 사용합니다. 지금, 이 이름을 사용하여 모듈을 참조할 수 있습니다. 이 이름을 사용하여 cos(pi)를 계산했고,-1.0了答案。
assert 用于调试目的。
在编程时,有时我们希望了解内部状态或检查我们的假设是否正确。assert帮助我们做到这一点并更方便地发现错误。assert后面跟一个条件。
如果条件为真,则什么也不会发生。但是如果条件为假,则引发AssertionError。例如:
>>> a = 4 >>> assert a < 5 >>> assert a > 5 Traceback (most recent call last): File '<string>', line 301, in runcode File '<interactive input>', line 1, in <module> AssertionError
为了使我们更好地理解,我们还可以提供一条消息,该消息将与AssertionError一起打印。
>>> a = 4 >>> assert a > 5, "The value of a is too small" Traceback (most recent call last): File '<string>', line 301, in runcode File '<interactive input>', line 1, in <module> AssertionError: The value of a is too small
在这一刻,我们可以注意到,
assert condition, message
等价于
if not condition: raise AssertionError(message)
Python의 asyncio 라이브러리는 async와 await 키워드를 제공합니다. 이들은 Python에서 병행 코드를 작성하는 데 사용됩니다. 예를 들어,
import asyncio async def main(): print('Hello') await asyncio.sleep(1) print('world')
要运行该程序,我们使用
asyncio.run(main())
在上面的程序中,async 키워드는 함수가 비동기로 실행될 것을 지정합니다。
在这里,首先打印Hello。await 키워드는 프로그램이 기다리게 만듭니다1秒。然后再打印world。
break과 continue는 for와 while 루프 내에서 사용되어 정상적인 동작을 변경합니다.
break은 그 위치의 가장 작은 루프를 종료하고, 컨트롤플로우는 루프 아래의 문장으로 직접 흐릅니다. continue는 전체 루프를 종료하는 대신 현재 반복을 종료합니다.
这可以通过以下两个示例进行说明:
for i in range(1,11) if i == 5: break print(i)
출력 결과
1 2 3 4
在这里,for循环打算打印从1까지10的数字。但是如果当i等于5 的时候就满足了条件,我们从循环中中断了。因此,仅打印范围1까지4.
for i in range(1,11) if i == 5: continue print(i)
출력 결과
1 2 3 4 6 7 8 9 10
여기서 우리는 continue와 같은 프로그램을 사용합니다. 따라서 조건이 만족되면 해당 반복을 건너뜁니다. 하지만 루프를 탈출하지 않습니다. 따라서, 제외된 것을 출력합니다.5그 외의 모든 값.
에 대해 알아보세요Python break와 continue 문법의자세한 정보.
class는 Python에서 새로운 사용자 정의 클래스를 정의하는 데 사용됩니다.
클래스는 실제 상황을 나타내는 관련 속성과 메서드의 집합입니다. 데이터와 함수를 하나의 클래스에 넣는 아이디어는 객체 지향 프로그래밍(OOP)의 개념에 매우 중요합니다.
클래스는 프로그램의 어느 위치에서든 정의할 수 있습니다. 하지만 모듈에서 단일 클래스를 정의하는 것은 좋은 습관입니다. 다음은 예제 사용법입니다:
class ExampleClass: def function1(parameters): ... def function2(parameters): ...
에 대해 알아보세요Python 객체와 클래스의자세한 정보.
def는 사용자 정의 함수를 정의하는 데 사용됩니다.
함수는 특정 작업을 수행하는 일련의 관련 문장들로 구성된 집합입니다. 이는 코드를 관리할 수 있는 블록으로 조직하고 반복 작업을 완료하는 데 도움이 됩니다.
def의 사용법은 다음과 같습니다:
def function_name(parameters): ...
에 대해 알아보세요Python 함수의자세한 정보.
del은 객체에 대한 참조를 제거하는 데 사용됩니다. 모든 것이 Python의 객체입니다. 다음과 같은 방식으로 변수를 제거할 수 있습니다. 참조를 통해 del 사용
>>> a = b = 5 >>> del a >>> a Traceback (most recent call last): File '<string>', line 301, in runcode File '<interactive input>', line 1, in <module> NameError: name 'a' is not defined >>> b 5
여기서는 변수의 참조 a가 제거되었음을 볼 수 있습니다. 따라서 더 이상 정의되지 않습니다. 하지만 b는 여전히 존재합니다.
del은 목록이나 딕셔너리에서 항목을 제거하는 데도 사용됩니다:
>>> a = ['x','y','z'] >>> del a[1] >>> a ['x', 'z']
if, else, elif는 조건 분기나 결정을 위해 사용됩니다.
특정 조건을 테스트하고 조건이 참일 때만 블록을 실행하려면 if와 elif를 사용합니다. elif는 else if의 약자입니다. 조건이 거짓일 때 실행되는 블록은 else입니다. 다음 예제를 통해 명확해질 것입니다:
def if_example(a): if a == 1: print('한') elif a == 2: print('두') else: print('아니오 다른 것') if_example(2) if_example(4) if_example(1)
출력 결과
두 아니오 다른 것 One
여기서 함수는 입력된 숫자를 확인합니다. (만약1또는2),결과를 출력합니다. 그렇지 않으면, 어떤 입력도 else 부분 코드를 실행하게 됩니다.
에 대해 알아보세요Python if 및 if ... else 문의자세한 정보.
except, raise, try는 Python 예외와 함께 사용됩니다.
예외는 주로 오류로, 프로그램이 실행 중에 문제가 발생한 것을 나타냅니다. Python 예외의 몇 가지 예로 IOError, ValueError, ZeroDivisionError, ImportError, NameError, TypeError 등이 있습니다. try...except 블록은 Python에서 예외를 잡기 위해 사용됩니다.
raise 키워드를 사용하여 명시적으로 예외를 발생시킬 수 있습니다. 다음은 예제입니다:
def reciprocal(num): try: r = 1/num except: print('Exception caught') return return r print(reciprocal(10)) print(reciprocal(0))
출력 결과
0.1 Exception caught None
여기서 reciprocal() 함수는 입력된 숫자의 역수를 반환합니다.
입력10일반 출력은 0입니다.1하지만, 0을 입력할 때는 자동으로 ZeroDivisionError 예외가 발생합니다.
이는 우리의 try...except 블록에 의해 잡혀서 None를 반환합니다. 또한, 입력을 확인하고 다음과 같이 다른 곳에서 처리할 수도 있습니다.
if num == 0: raise ZeroDivisionError('cannot divide')
finally와 try...except 블록을 함께 사용하여 자원이나 파일 스트림을 닫습니다.
finally를 사용하여 내부 코드 블록이 처리되지 않은 예외가 있더라도 실행되도록 합니다. 예를 들어:
try: Try-블록 except exception1: Exception1-블록 except exception2: Exception2-블록 else: Else-블록 finally: Finally-블록
이곳에서, 예외가 존재하는 경우 Try-블록에서 except나 else 블록에서 처리합니다. 하지만, 실행 순서와 관계없이 오류가 있더라도 Finally를 안심하고 실행할 수 있습니다.-블록입니다. 이는 자원을 정리하는 데 유용합니다.
에 대해 알아보세요Python 프로그래밍에서 예외 처리의자세한 정보.
for는 반복을 위한 것입니다. 일반적으로, 반복 횟수를 알 때 사용합니다.
Python에서는 어떤 타입의 시퀀스(예: 리스트나 문자열)와도 함께 사용할 수 있습니다. names 리스트를 순회하는 예제입니다:
names = ['John','Monica','Steven','Robin'] for i in names: print('Hello ',+i)
출력 결과
Hello John Hello Monica Hello Steven Hello Robin
에 대해 알아보세요Python for 루프의자세한 정보.
import 키워드는 모듈을 현재 이름 공간에 가져옵니다. from…import는 특정 속성이나 함수를 현재 이름 공간에 가져옵니다. 예를 들어:
import math
math 모듈을 가져옵니다. 이제 그 안의 cos() 함수를 math.cos()로 사용할 수 있습니다. 하지만 cos() 함수만 가져오고 싶다면, from을 사용할 수 있습니다
from math import cos
지금은 cos() 함수를 간단하게 사용할 수 있습니다. math.cos()를 쓰지 않아도 됩니다.
에 대해 알아보세요Python 모듈과 import 문의更多信息.
global은 함수 내에서의 변수가 전역 변수(함수 외부)임을 선언합니다.
전역 변수의 값을 읽어야 한다면, 그것을 global로 정의할 필요가 없습니다. 이는 필요한 곳입니다.
함수 내에서 전역 변수의 값을 변경해야 한다면, 반드시 global을 선언해야 합니다. 그렇지 않으면, 같은 이름의 지역 변수가 생성됩니다.
다음 예제가 이를 설명하는 데 도움이 될 것입니다.
globvar = 10 def read1(): print(globvar) def write1(): global globvar globvar = 5 def write2(): globvar = 15 read1() write1() read1() write2() read1()
출력 결과
10 5 5
에서 read1() 함수는 단지 globvar의 값을 읽습니다. 따라서 그것을 전역으로 선언할 필요가 없습니다. 하지만 write1() 함수가 값을 변경하고 있기 때문에, 그 변수를 전역으로 선언해야 합니다.
우리는 출력에서 실제로 변경이 이루어졌음을 볼 수 있습니다(10으로 변경합니다5()).write2()도 이 값을 변경하려고 시도하지만, 그것을 전역으로 선언하지 않았습니다.
따라서 globvar를 새로운 지역 변수로 생성하면, 이 지역 변수는 함수 외부에서 볼 수 없습니다. 우리는 이 지역 변수를15하지만 전역 변수는 변경되지 않습니다. 이는 우리의 출력에서 명확하게 보입니다.
in을 사용하여 시퀀스(리스트, 튜플, 문자열 등)이 값을 포함하는지 테스트합니다. 값이 존재하면 True를 반환하고, 없으면 False를 반환합니다. 예를 들어:
>>> a = [1, 2, 3, 4, 5] ]] 5 >>> True ]] 10 >>> False
in a
in의 부수적인 사용은 for 루프 내의 시퀀스를 순회하는 데 있습니다. print(i)
출력 결과
for i in 'hello': e l l o
is는 Python에서 객체 신원을 테스트하는 데 사용됩니다. == 연산자는 두 변수가 같은지 테스트하는 데 사용되고, is 연산자는 두 변수가 동일한 객체를 참조하는지 테스트하는 데 사용됩니다.
객체가 동일하면 True를 반환하고, 다르면 False를 반환합니다.
>>> True is True True >>> False is False True >>> None is None True
우리는 Python에서 True, False, None의 인스턴스가 하나밖에 없음을 알고 있으므로, 그들은 동일합니다.
>>> [] == [] True >>> [] is [] False >>> {} == {} True >>> {} is {} False
빈 목록이나 딕셔너리는 서로 같지만, 그들은 동일한 객체가 아닙니다. 이는 목록과 딕셔너리가 변경할 수 있다는 이유로입니다.
>>> '' == '' True >>> '' is '' True >>> () == () True >>> () is () True
리스트와 딕셔너리와는 달리, 문자열과 튜플은 불변합니다(값이 정의되면 변경할 수 없습니다). 따라서 같은 문자열이나 튜플도 같습니다. 그들은 같은 저장 위치를 참조합니다.
lambda는 익명 함수(이름이 없는 함수)를 생성하는 데 사용됩니다. return 문을 포함하지 않는 내장 함수입니다. 그것은 평가하고 반환하는 표현식으로 구성됩니다. 예를 들어:
a = lambda x: x*2 for i in range(1,6) print(a(i))
출력 결과
2 4 6 8 10
여기서 우리는 inline 함수를 생성하여 값을 두 배로 만들었습니다. 이를 통해 값을 포함한1까지5리스트의 값을 두 배로 만듭니다.
에 대해 알아보세요Python lamda 함수의자세한 정보.
nonlocal 키워드의 사용은 global 키워드와 매우 유사합니다. nonlocal는 내부 함수 내부의 변수(함수 내의 함수)를 지역 변수가 아니라 선언하는 데 사용됩니다. 이는 그것이 외부 닫힌 함수 내에 위치한다는 의미입니다. 내부 함수에서 비지역 변수의 값을 수정하려면 nonlocal을 선언해야 합니다. 그렇지 않으면, 내부 함수 내에 해당 이름의 지역 변수가 생성됩니다. 다음 예제는 이 점을 설명하는 데 도움이 될 것입니다.
def outer_function(): a = 5 def inner_function(): nonlocal a a = 10 print("내부 함수: ", a) inner_function() print("외부 함수: ", a) outer_function()
출력 결과
내부 함수: 10 외부 함수: 10
여기서 inner_function() 가 outer_function 내에 들여쓰여 있습니다.
변수 a 는 outer_function() 내에 위치하고 있습니다. 따라서 inner_function()에서 a 를 수정하려면 nonlocal로 선언해야 합니다. 이 a 는 전역 변수가 아닙니다.
따라서, 출력에서 볼 수 있듯이, 변수가 내부의 inner_function() 내에서 성공적으로 수정되었습니다. nonlocal 키워드를 사용하지 않은 결과는 다음과 같습니다.
def outer_function(): a = 5 def inner_function(): a = 10 print("내부 함수: ", a) inner_function() print("외부 함수: ", a) outer_function()
출력 결과
내부 함수: 10 외부 함수: 5
여기서는 내부 함수 내의 변수 a가 비지역적이지 않음을 선언하지 않았기 때문에, 동일한 이름을 가진 새로운 지역 변수가 생성되지만, 비지역 변수 a를 수정하지 않습니다. 우리의 출력을 보면 이렇게 됩니다.
pass는 Python에서의 빈 문장입니다. 실행할 때에는 어떤 일도 일어나지 않습니다. 대체 표시자로 사용됩니다.
미구현된 기능이 있지만 앞으로 구현할 계획인 경우 단순히 작성하면 됩니다.
def function(args):
프로그램 중간에 IndentationError가 발생합니다. 대신, 빈 본문을 구성하는 pass 문을 사용합니다.
def function(args): pass
빈 class를 사용하여 동일한 작업을 수행할 수도 있습니다.
class example: pass
return 문은 함수 내에서 탈출하고 값을 반환하는 데 사용됩니다.
명시적으로 반환 값을 가지지 않으면 자동으로 None이 반환됩니다. 다음 예제는 이를 검증합니다.
def func_return(): a = 10 return a def no_return(): a = 10 print(func_return()) print(no_return())
출력 결과
10 None
while은 Python에서 반복을 위해 사용됩니다.
while 루프 내의 문장은 while 루프 조건이 False로 평가되거나 break 문장이 발견될 때까지 계속 실행됩니다. 다음 프로그램은 이를 설명합니다.
i = 5 while(i): print(i) i = i - 1
출력 결과
5 4 3 2 1
주의하세요, 0은 False와 같습니다.
에 대해 알아보세요Python의 while 루프.자세한 정보.
with 문은 컨텍스트 관리자 정의 메서드 내에서 코드 블록의 실행을 래핑하는 데 사용됩니다.
컨텍스트 관리자는 __enter__와 __exit__ 메서드를 구현하는 클래스입니다. with 문을 사용하면 내부 블록의 마지막에 메서드를 호출하는 것을 보장할 수 있습니다. 이 개념은 try...finally 블록의 사용과 유사합니다. 이는 예제입니다.
with open('example.txt', 'w') as my_file: my_file.write('Hello world!')
이 예제에서는 'example.txt' 파일에 'Hello world!' 텍스트를 쓰습니다. 파일 객체는 __enter__와 __exit__ 메서드를 정의하므로 자신의 컨텍스트 관리자로 기능합니다.
먼저 __enter__ 메서드를 호출한 후 with 코드에서 문장을 실행한 후 마지막으로 __exit__ 메서드를 호출합니다. __exit__는 오류가 있더라도 메서드를 호출합니다. 주로 파일 스트림을 닫습니다.
yield는 return 문과 같은 함수에서 사용됩니다. 하지만 yield는 생성자를 반환합니다.
생성자는 한 개의 항목을 한 번에 생성하는 이터레이터입니다. 많은 값은 많은 메모리를 차지합니다. 이 경우 생성자는 메모리에 모든 값을 저장하지 않고 한 번에 하나의 값을 생성하는 것이 매우 유용합니다. 예를 들어:
>> g = (2**x for x in range(100))
생성자 g를 생성하여2의 권수를 생성할 때까지 생성합니다.99의2의 권수. 이러한 수를 생성하는 함수를 next()와 같이 사용할 수 있습니다.
>> next(g) 1 >> next(g) 2 >> next(g) 4 >> next(g) 8 >> next(g) 16
이렇게 계속하면...이 유형의 생성자는 yield 함수 문장으로 반환됩니다. 이는 예제입니다.
def generator(): for i in range(6) yield i*i g = generator() for i in g: print(i)
출력 결과
0 1 4 9 16 25
여기서 함수 generator()는 0에서5의 숫자의 제곱을 출력합니다. for 루프에서 출력합니다.