Hướng dẫn này cung cấp thông tin ngắn gọn về tất cả các từ khóa được sử dụng trong Python.
Từ khóa là những từ dành riêng trong Python. Chúng tôi không thể sử dụng một từ khóa làm tên biến, tên hàm hoặc bất kỳ định danh nào khác.
Đây là danh sách tất cả các từ khóa trong Lập trình Python
Từ khóa trong ngôn ngữ lập trình PythonSai | chờ đợi | khác | nhập khẩu | vượt qua |
không ai | phá vỡ | ngoại trừ | trong | nâng cao |
Thật | lớp học | cuối cùng | Là | trở về |
và | tiếp tục | cho | lambda | thử |
như | phản đối | từ | phi địa phương | trong khi |
khẳng định | del | toàn cầu | không phải | với |
không đồng bộ | elif | nếu | hoặc là | năng suất |
Các từ khóa trên có thể được thay đổi trong các phiên bản Python khác nhau. Một số bổ sung có thể được thêm vào hoặc một số có thể bị loại bỏ. Bạn luôn có thể nhận được danh sách các từ khóa trong phiên bản hiện tại của mình bằng cách nhập nội dung sau vào lời nhắc.
>>> 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')
Mô tả Từ khóa trong Python với các ví dụ
Đúng sai
True
và False
là các giá trị sự thật trong Python. Chúng là kết quả của các phép toán so sánh hoặc phép toán logic (Boolean) trong Python. Ví dụ:
>>> 1 == 1 True >>> 5> 3 True >>> True or False True >>> 10 >> 3> 7 False >>> True and False False
Ở đây chúng ta có thể thấy rằng ba câu lệnh đầu tiên là true nên trình thông dịch trả về True
và trả về False
cho ba câu lệnh còn lại. True
và False
trong python cũng giống như 1
và 0
. Điều này có thể được chứng minh bằng ví dụ sau:
>>> True == 1 True >>> False == 0 True >>> True + True 2
không ai
None
là một hằng số đặc biệt trong Python đại diện cho việc không có giá trị hoặc giá trị null.
Nó là một đối tượng của kiểu dữ liệu riêng của nó NoneType
,. Chúng ta không thể tạo nhiều None
đối tượng nhưng có thể gán nó cho các biến. Các biến này sẽ bằng nhau.
Chúng ta phải chăm sóc đặc biệt mà None
không bao hàm False
, 0
hoặc bất kỳ danh sách trống, từ điển, chuỗi vv Ví dụ:
>>> None == 0 False >>> None == () False >>> None == False False >>> x = None >>> y = None >>> x == y True
Các hàm rỗng không trả về bất cứ thứ gì sẽ None
tự động trả về một đối tượng. None
cũng được trả về bởi các hàm trong đó dòng chương trình không gặp câu lệnh trả về. Ví dụ:
def a_void_function(): a = 1 b = 2 c = a + b x = a_void_function() print(x)
Đầu ra
không ai
Chương trình này có một hàm không trả về giá trị, mặc dù nó thực hiện một số thao tác bên trong. Vì vậy, khi chúng ta in x, chúng ta nhận được None
nó được trả về tự động (ngầm định). Tương tự, đây là một ví dụ khác:
def improper_return_function(a): if (a % 2) == 0: return True x = improper_return_function(3) print(x)
Đầu ra
không ai
Mặc dù hàm này có một return
câu lệnh, nhưng nó không đạt được trong mọi trường hợp. Hàm sẽ True
chỉ trả về khi đầu vào là số chẵn.
Nếu chúng ta cung cấp cho hàm một số lẻ, None
được trả về một cách ngầm định.
và, hoặc, không
and
, or
, not
Là các toán tử logic bằng Python. and
sẽ dẫn đến True
chỉ khi cả hai toán hạng True
. Bảng sự thật cho and
được đưa ra dưới đây:
and
Bảng chân lý cho
A | B | A và B |
---|---|---|
Thật | Thật | Thật |
Thật | Sai | Sai |
Sai | Thật | Sai |
Sai | Sai | Sai |
or
sẽ dẫn đến True
nếu có bất kỳ toán hạng nào True
. Bảng sự thật cho or
được đưa ra dưới đây:
or
Bảng chân lý cho
A | B | A hoặc B |
---|---|---|
Thật | Thật | Thật |
Thật | Sai | Thật |
Sai | Thật | Thật |
Sai | Sai | Sai |
not
toán tử được sử dụng để đảo ngược giá trị chân lý. Bảng sự thật cho not
được đưa ra dưới đây:
not
Sự thật phỉ báng cho
A | không phải A |
---|---|
Thật | Sai |
Sai | Thật |
một số ví dụ về cách sử dụng chúng được đưa ra dưới đây
>>> True and False False >>> True or False True >>> not False True
như
as
được sử dụng để tạo bí danh trong khi nhập mô-đun. Nó có nghĩa là đặt một tên khác (do người dùng xác định) cho một mô-đun trong khi nhập nó.
As for example, Python has a standard module called math
. Suppose we want to calculate what cosine pi is using an alias. We can do it as follows using as
:
>>> import math as myAlias >>>myAlias.cos(myAlias.pi) -1.0
Here we imported the math
module by giving it the name myAlias
. Now we can refer to the math
module with this name. Using this name we calculated cos(pi) and got -1.0
as the answer.
assert
assert
is used for debugging purposes.
While programming, sometimes we wish to know the internal state or check if our assumptions are true. assert
helps us do this and find bugs more conveniently. assert
is followed by a condition.
If the condition is true, nothing happens. But if the condition is false, AssertionError
is raised. For example:
>>> a = 4 >>> assert a >> assert a> 5 Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in AssertionError
For our better understanding, we can also provide a message to be printed with the AssertionError
.
>>> a = 4 >>> assert a> 5, "The value of a is too small" Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in AssertionError: The value of a is too small
At this point we can note that,
assert condition, message
is equivalent to,
if not condition: raise AssertionError(message)
async, await
The async
and await
keywords are provided by the asyncio
library in Python. They are used to write concurrent code in Python. For example,
import asyncio async def main(): print('Hello') await asyncio.sleep(1) print('world')
To run the program, we use
asyncio.run(main())
In the above program, the async
keyword specifies that the function will be executed asynchronously.
Here, first Hello is printed. The await
keyword makes the program wait for 1 second. And then the world is printed.
break, continue
break
and continue
are used inside for
and while
loops to alter their normal behavior.
break
will end the smallest loop it is in and control flows to the statement immediately below the loop. continue
causes to end the current iteration of the loop, but not the whole loop.
This can be illustrated with the following two examples:
for i in range(1,11): if i == 5: break print(i)
Output
1 2 3 4
Here, the for
loop intends to print numbers from 1 to 10. But the if
condition is met when i is equal to 5 and we break from the loop. Thus, only the range 1 to 4 is printed.
for i in range(1,11): if i == 5: continue print(i)
Output
1 2 3 4 6 7 8 9 10
Here we use continue
for the same program. So, when the condition is met, that iteration is skipped. But we do not exit the loop. Hence, all the values except 5 are printed out.
Learn more about Python break and continue statement.
class
class
is used to define a new user-defined class in Python.
Class is a collection of related attributes and methods that try to represent a real-world situation. This idea of putting data and functions together in a class is central to the concept of object-oriented programming (OOP).
Classes can be defined anywhere in a program. But it is a good practice to define a single class in a module. Following is a sample usage:
class ExampleClass: def function1(parameters):… def function2(parameters):…
Learn more about Python Objects and Class.
def
def
is used to define a user-defined function.
Function is a block of related statements, which together does some specific task. It helps us organize code into manageable chunks and also to do some repetitive task.
The usage of def
is shown below:
def function_name(parameters):…
Learn more about Python functions.
del
del
is used to delete the reference to an object. Everything is object in Python. We can delete a variable reference using del
>>> a = b = 5 >>> del a >>> a Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in NameError: name 'a' is not defined >>> b 5
Here we can see that the reference of the variable a was deleted. So, it is no longer defined. But b still exists.
del
is also used to delete items from a list or a dictionary:
>>> a = ('x','y','z') >>> del a(1) >>> a ('x', 'z')
if, else, elif
if, else, elif
are used for conditional branching or decision making.
When we want to test some condition and execute a block only if the condition is true, then we use if
and elif
. elif
is short for else if. else
is the block which is executed if the condition is false. This will be clear with the following example:
def if_example(a): if a == 1: print('One') elif a == 2: print('Two') else: print('Something else') if_example(2) if_example(4) if_example(1)
Output
Two Something else One
Here, the function checks the input number and prints the result if it is 1 or 2. Any input other than this will cause the else
part of the code to execute.
Learn more about Python if and if… else Statement.
except, raise, try
except, raise, try
are used with exceptions in Python.
Exceptions are basically errors that suggests something went wrong while executing our program. IOError
, ValueError
, ZeroDivisionError
, ImportError
, NameError
, TypeError
etc. are few examples of exception in Python. try… except
blocks are used to catch exceptions in Python.
We can raise an exception explicitly with the raise
keyword. Following is an example:
def reciprocal(num): try: r = 1/num except: print('Exception caught') return return r print(reciprocal(10)) print(reciprocal(0))
Output
0.1 Exception caught None
Here, the function reciprocal()
returns the reciprocal of the input number.
When we enter 10, we get the normal output of 0.1. But when we input 0, a ZeroDivisionError
is raised automatically.
This is caught by our try… except
block and we return None
. We could have also raised the ZeroDivisionError
explicitly by checking the input and handled it elsewhere as follows:
if num == 0: raise ZeroDivisionError('cannot divide')
finally
finally
is used with try… except
block to close up resources or file streams.
Using finally
ensures that the block of code inside it gets executed even if there is an unhandled exception. For example:
try: Try-block except exception1: Exception1-block except exception2: Exception2-block else: Else-block finally: Finally-block
Here if there is an exception in the Try-block
, it is handled in the except
or else
block. But no matter in what order the execution flows, we can rest assured that the Finally-block
is executed even if there is an error. This is useful in cleaning up the resources.
Learn more about exception handling in Python programming.
for
for
is used for looping. Generally we use for
when we know the number of times we want to loop.
In Python we can use it with any type of sequences like a list or a string. Here is an example in which for
is used to traverse through a list of names:
names = ('John','Monica','Steven','Robin') for i in names: print('Hello '+i)
Output
Hello John Hello Monica Hello Steven Hello Robin
Learn more about Python for loop.
from, import
import
keyword is used to import modules into the current namespace. from… import
is used to import specific attributes or functions into the current namespace. For example:
import math
will import the math
module. Now we can use the cos()
function inside it as math.cos()
. But if we wanted to import just the cos()
function, this can done using from
as
from math import cos
now we can use the function simply as cos()
, no need to write math.cos()
.
Learn more on Python modules and import statement.
global
global
is used to declare that a variable inside the function is global (outside the function).
If we need to read the value of a global variable, it is not necessary to define it as global
. This is understood.
If we need to modify the value of a global variable inside a function, then we must declare it with global
. Otherwise, a local variable with that name is created.
Following example will help us clarify this.
globvar = 10 def read1(): print(globvar) def write1(): global globvar globvar = 5 def write2(): globvar = 15 read1() write1() read1() write2() read1()
Output
10 5 5
Here, the read1()
function is just reading the value of globvar
. So, we do not need to declare it as global
. But the write1()
function is modifying the value, so we need to declare the variable as global
.
We can see in our output that the modification did take place (10 is changed to 5). The write2()
also tries to modify this value. But we have not declared it as global
.
Hence, a new local variable globvar
is created which is not visible outside this function. Although we modify this local variable to 15, the global variable remains unchanged. This is clearly visible in our output.
in
in
is used to test if a sequence (list, tuple, string etc.) contains a value. It returns True
if the value is present, else it returns False
. For example:
>>> a = (1, 2, 3, 4, 5) >>> 5 in a True >>> 10 in a False
The secondary use of in
is to traverse through a sequence in a for
loop.
for i in 'hello': print(i)
Output
h e l l o
is
is
is used in Python for testing object identity. While the ==
operator is used to test if two variables are equal or not, is
is used to test if the two variables refer to the same object.
It returns True
if the objects are identical and False
if not.
>>> True is True True >>> False is False True >>> None is None True
We know that there is only one instance of True
, False
and None
in Python, so they are identical.
>>> () == () True >>> () is () False >>> () == () True >>> () is () False
An empty list or dictionary is equal to another empty one. But they are not identical objects as they are located separately in memory. This is because list and dictionary are mutable (value can be changed).
>>> '' == '' True >>> '' is '' True >>> () == () True >>> () is () True
Unlike list and dictionary, string and tuple are immutable (value cannot be altered once defined). Hence, two equal string or tuple are identical as well. They refer to the same memory location.
lambda
lambda
is used to create an anonymous function (function with no name). It is an inline function that does not contain a return
statement. It consists of an expression that is evaluated and returned. For example:
a = lambda x: x*2 for i in range(1,6): print(a(i))
Output
2 4 6 8 10
Here, we have created an inline function that doubles the value, using the lambda
statement. We used this to double the values in a list containing 1 to 5.
Learn more about Python lamda function.
nonlocal
The use of nonlocal
keyword is very much similar to the global
keyword. nonlocal
is used to declare that a variable inside a nested function (function inside a function) is not local to it, meaning it lies in the outer inclosing function. If we need to modify the value of a non-local variable inside a nested function, then we must declare it with nonlocal
. Otherwise a local variable with that name is created inside the nested function. Following example will help us clarify this.
def outer_function(): a = 5 def inner_function(): nonlocal a a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a) outer_function()
Output
Inner function: 10 Outer function: 10
Here, the inner_function()
is nested within the outer_function
.
The variable a is in the outer_function()
. So, if we want to modify it in the inner_function()
, we must declare it as nonlocal
. Notice that a is not a global variable.
Hence, we see from the output that the variable was successfully modified inside the nested inner_function()
. The result of not using the nonlocal
keyword is as follows:
def outer_function(): a = 5 def inner_function(): a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a) outer_function()
Output
Inner function: 10 Outer function: 5
Here, we do not declare that the variable a inside the nested function is nonlocal
. Hence, a new local variable with the same name is created, but the non-local a is not modified as seen in our output.
pass
pass
is a null statement in Python. Nothing happens when it is executed. It is used as a placeholder.
Suppose we have a function that is not implemented yet, but we want to implement it in the future. Simply writing,
def function(args):
in the middle of a program will give us IndentationError
. Instead of this, we construct a blank body with the pass
statement.
def function(args): pass
We can do the same thing in an empty class
as well.
class example: pass
return
return
statement is used inside a function to exit it and return a value.
If we do not return a value explicitly, None
is returned automatically. This is verified with the following example.
def func_return(): a = 10 return a def no_return(): a = 10 print(func_return()) print(no_return())
Output
10 None
while
while
is used for looping in Python.
The statements inside a while
loop continue to execute until the condition for the while
loop evaluates to False
or a break
statement is encountered. Following program illustrates this.
i = 5 while(i): print(i) i = i - 1
Output
5 4 3 2 1
Note that 0 is equal to False
.
Learn more about Python while loop.
with
with
statement is used to wrap the execution of a block of code within methods defined by the context manager.
Context manager is a class that implements __enter__
and __exit__
methods. Use of with
statement ensures that the __exit__
method is called at the end of the nested block. This concept is similar to the use of try… finally
block. Here, is an example.
with open('example.txt', 'w') as my_file: my_file.write('Hello world!')
This example writes the text Hello world!
to the file example.txt
. File objects have __enter__
and __exit__
method defined within them, so they act as their own context manager.
First the __enter__
method is called, then the code within with
statement is executed and finally the __exit__
method is called. __exit__
method is called even if there is an error. It basically closes the file stream.
yield
yield
được sử dụng bên trong một hàm giống như một return
câu lệnh. Nhưng yield
trả về một máy phát điện.
Generator là một trình lặp tạo một mục tại một thời điểm. Một danh sách lớn các giá trị sẽ chiếm nhiều bộ nhớ. Trình tạo rất hữu ích trong trường hợp này vì nó chỉ tạo ra một giá trị tại một thời điểm thay vì lưu trữ tất cả các giá trị trong bộ nhớ. Ví dụ,
>>> g = (2**x for x in range(100))
sẽ tạo ra một bộ tạo g tạo ra lũy thừa từ 2 đến số hai được nâng lên thành lũy thừa 99. Chúng ta có thể tạo ra các số bằng cách sử dụng next()
hàm như hình dưới đây.
>>> next(g) 1 >>> next(g) 2 >>> next(g) 4 >>> next(g) 8 >>> next(g) 16
Và như vậy… Loại trình tạo này được trả về bởi yield
câu lệnh từ một hàm. Đây là một ví dụ.
def generator(): for i in range(6): yield i*i g = generator() for i in g: print(i)
Đầu ra
0 1 4 9 16 25
Ở đây, hàm generator()
trả về một trình tạo tạo ra bình phương các số từ 0 đến 5. Điều này được in trong for
vòng lặp.