Mục lục bài viết:
- Từ khóa Python
- Cách xác định từ khóa Python
- Sử dụng IDE với Đánh dấu cú pháp
- Sử dụng mã trong REPL để kiểm tra từ khóa
- Tìm kiếm lỗi SyntaxError
- Từ khóa Python và cách sử dụng chúng
- Từ khóa giá trị: Đúng, Sai, Không có
- Từ khóa của nhà điều hành: và, hoặc, không, ở, là
- Từ khóa luồng kiểm soát: if, elif, else
- Từ khóa lặp lại: cho, trong khi, ngắt, tiếp tục, khác
- Từ khóa cấu trúc: def, class, with, as, pass, lambda
- Từ khóa trả lại: trở lại, lợi nhuận
- Nhập Từ khoá: nhập, từ, như
- Từ khóa xử lý ngoại lệ: thử, ngoại trừ, nâng cao, cuối cùng, khác, khẳng định
- Từ khóa lập trình không đồng bộ: không đồng bộ, chờ đợi
- Các Từ khoá Xử lý Biến: del, global, nonlocal
- Từ khóa Python không được dùng nữa
- Từ khóa in trước đây
- Từ khóa của Giám đốc điều hành cũ
- Phần kết luận
Mọi ngôn ngữ lập trình đều có các từ hoặc từ khóa dành riêng đặc biệt , có ý nghĩa và hạn chế cụ thể về cách sử dụng chúng. Python cũng không khác. Từ khóa Python là nền tảng cơ bản của bất kỳ chương trình Python nào.
Trong bài viết này, bạn sẽ tìm thấy phần giới thiệu cơ bản về tất cả các từ khóa Python cùng với các tài nguyên khác sẽ hữu ích cho việc tìm hiểu thêm về từng từ khóa.
Đến cuối bài viết này, bạn sẽ có thể:
- Xác định các từ khóa Python
- Hiểu từng từ khóa được sử dụng để làm gì
- Làm việc với các từ khóa theo
chương trình bằng cách sử dụng
keyword
mô-đun
Từ khóa Python
Từ khóa Python là những từ dành riêng đặc biệt có ý nghĩa và mục đích cụ thể và không thể được sử dụng cho bất kỳ mục đích nào ngoài những mục đích cụ thể đó. Những từ khóa này luôn có sẵn — bạn sẽ không bao giờ phải nhập chúng vào mã của mình.
Từ khóa Python khác với các loại và hàm tích hợp sẵn của Python . Các chức năng và kiểu tích hợp cũng luôn có sẵn, nhưng chúng không hạn chế như các từ khóa trong cách sử dụng của chúng.
Một ví dụ về điều gì đó bạn không thể làm với các từ khóa Python là gán một cái gì đó cho chúng. Nếu bạn cố gắng, thì bạn sẽ nhận được một SyntaxError
. Bạn sẽ không nhận được SyntaxError
nếu bạn cố gắng gán
một thứ gì đó cho một chức năng hoặc kiểu tích hợp sẵn, nhưng nó vẫn không phải là một ý kiến hay. Để có giải thích sâu hơn về các cách từ khóa có thể bị sử dụng sai, hãy xem Cú pháp không hợp lệ trong Python: Các lý do phổ biến cho SyntaxError .
Kể từ Python 3.8, có ba mươi lăm từ khóa trong Python. Đây là chúng với các liên kết đến các phần có liên quan trong suốt phần còn lại của bài viết này:
Bạn có thể sử dụng các liên kết này để chuyển đến các từ khóa bạn muốn đọc hoặc bạn có thể tiếp tục đọc để tham quan có hướng dẫn.
Cách xác định từ khóa Python
Danh sách các từ khóa Python đã thay đổi theo thời gian. Ví dụ: await
và async
từ khóa không được thêm vào cho đến Python 3.7. Ngoài ra, cả hai print
và exec
đều là từ khóa trong Python 2.7 nhưng đã được chuyển thành các hàm tích hợp trong Python 3+ và không còn xuất hiện trong danh sách từ khóa.
Trong các phần bên dưới, bạn sẽ học một số cách để biết hoặc tìm ra những từ nào là từ khóa trong Python.
Sử dụng IDE với Đánh dấu cú pháp
Có rất nhiều IDE Python tốt trên mạng. Tất cả chúng sẽ làm nổi bật các từ khóa để phân biệt chúng với các từ khác trong mã của bạn. Điều này sẽ giúp bạn nhanh chóng xác định các từ khóa Python trong khi lập trình để bạn không sử dụng chúng sai cách.
Sử dụng mã trong REPL để kiểm tra từ khóa
Trong Python REPL , có một số cách bạn có thể xác định các từ khóa Python hợp lệ và tìm hiểu thêm về chúng.
Lưu ý: Các ví dụ mã trong bài viết này sử dụng Python 3.8 trừ khi được chỉ định khác.
Bạn có thể nhận được danh sách các từ khóa có sẵn bằng cách sử
dụng help[]
:
>>>
>>> help["keywords"]
Here is a list of the Python keywords. Enter any keyword to get more help.
False class from or
None continue global pass
True def if raise
and del import return
as elif in try
assert else is while
async except lambda with
await finally nonlocal yield
break for not
Tiếp theo, như được chỉ ra trong đầu ra ở trên, bạn có thể sử dụng help[]
lại bằng cách chuyển từ khóa cụ thể mà bạn cần thêm thông tin. Bạn có thể làm điều này, ví dụ, với pass
từ khóa:
>>>
>>> help["pass"]
The "pass" statement
********************
pass_stmt ::= "pass"
"pass" is a null operation — when it is executed, nothing happens. It
is useful as a placeholder when a statement is required syntactically,
but no code needs to be executed, for example:
def f[arg]: pass # a function that does nothing [yet]
class C: pass # a class with no methods [yet]
Python cũng cung cấp một keyword
mô-đun để làm việc
với các từ khóa Python theo cách lập trình. Các keyword
mô-đun bằng Python cung cấp hai thành viên hữu ích để đối phó với các từ khóa:
kwlist
cung cấp danh sách tất cả các từ khóa Python cho phiên bản Python bạn đang chạy.iskeyword[]
cung cấp một cách hữu ích để xác định xem một chuỗi có phải là một từ khóa hay không.
Để có danh sách tất cả các từ khóa trong phiên bản Python bạn đang chạy và để nhanh chóng xác định số lượng từ khóa được xác
định, hãy sử dụng keyword.kwlist
:
>>>
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', ...
>>> len[keyword.kwlist]
35
Nếu bạn cần biết thêm về từ khóa hoặc cần làm việc với từ khóa theo cách lập trình, thì Python cung cấp tài liệu và công cụ này cho bạn.
Tìm một SyntaxError
Cuối cùng, một chỉ báo khác cho thấy một từ bạn đang sử dụng thực sự là một từ khóa là nếu bạn SyntaxError
cố gắng gán cho nó một thời gian, đặt tên cho một chức năng với nó hoặc làm điều gì khác không được phép với nó. Điều
này khó phát hiện hơn một chút, nhưng đó là cách Python cho bạn biết bạn đang sử dụng từ khóa không chính xác .
Từ khóa Python và cách sử dụng chúng
Các phần bên dưới sắp xếp các từ khóa Python thành các nhóm dựa trên cách sử dụng của chúng. Ví dụ: nhóm đầu tiên là tất cả các từ khóa được sử dụng làm giá trị và nhóm thứ hai là các từ khóa được sử dụng làm toán tử. Các nhóm này sẽ giúp bạn hiểu rõ hơn về cách các từ khóa được sử dụng và cung cấp một cách hay để tổ chức danh sách dài các từ khóa Python.
Có một số thuật ngữ được sử dụng trong các phần bên dưới có thể mới đối với bạn. Chúng được định nghĩa ở đây và bạn nên biết ý nghĩa của chúng trước khi tiếp tục:
Truthiness đề cập đến đánh giá Boolean của một giá trị. Các truthiness của một giá trị cho biết giá trị là truthy hoặc falsy .
Truthy có nghĩa là bất kỳ giá trị nào được đánh giá là true trong ngữ cảnh Boolean. Để xác định xem một giá trị có phải là trung thực hay không, hãy chuyển nó làm đối số
bool[]
. Nếu nó trả vềTrue
, thì giá trị là true. Ví dụ về các giá trị trung thực là các chuỗi không trống, bất kỳ số nào không phải là số0
, danh sách không rỗng và nhiều thứ khác.Falsy có nghĩa là bất kỳ giá trị nào được đánh giá là false trong ngữ cảnh Boolean. Để xác định xem một giá trị có phải là sai hay không, hãy chuyển nó làm đối số
bool[]
. Nếu nó trả vềFalse
, thì giá trị là sai. Ví dụ về các giá trị falsy là""
,0
,[]
,{}
, vàset[]
.
Để biết thêm về các thuật ngữ và khái niệm này, hãy xem Toán tử và Biểu thức trong Python .
Giá trị Từ khóa: True
, False
,None
Có ba từ khóa Python được sử dụng làm giá trị. Các giá trị này là các giá trị đơn lẻ có thể được sử dụng lặp đi lặp lại và luôn tham chiếu đến cùng một đối tượng chính xác. Rất có thể bạn sẽ thấy và sử dụng những giá trị này rất nhiều.
Các True
và False
Keywords
Các True
từ khóa được sử dụng như giá trị thực sự Boolean trong mã Python. Từ khóa Python False
tương tự như True
từ khóa, nhưng với giá trị Boolean ngược lại là false. Trong các ngôn ngữ lập trình khác, bạn sẽ thấy những từ khóa này được viết
bằng chữ thường [ true
và false
], nhưng trong Python, chúng luôn được viết bằng chữ hoa.
Các từ khóa Python True
và False
có thể được gán cho các biến và so sánh trực tiếp với:
>>>
>>> x = True
>>> x is True
True
>>> y = False
>>> y is False
True
Hầu hết các giá trị trong Python sẽ đánh giá True
khi được chuyển tới bool[]
. Chỉ có một vài giá trị trong Python rằng sẽ đánh
giá để False
khi truyền cho bool[]
: 0
, ""
, []
, và {}
đến tên một vài. Truyền một giá trị để bool[]
biểu thị độ tin cậy của giá trị hoặc giá trị Boolean tương đương. Bạn có thể so sánh độ tin cậy của giá trị với True
hoặc False
bằng cách chuyển giá trị cho bool[]
:
>>>
>>> x = "this is a truthy value"
>>> x is True
False
>>> bool[x] is True
True
>>> y = "" # This is falsy
>>> y is False
False
>>> bool[y] is False
True
Lưu ý rằng việc so sánh trực tiếp True
hoặc False
sử dụng một giá trị trung is
thực không hoạt động. Bạn nên so sánh trực tiếp một giá trị với True
hoặc False
chỉ khi bạn muốn biết liệu nó có thực sự là các giá trị True
hoặc hay không False
.
Khi viết câu lệnh điều kiện dựa trên tính xác thực của một giá trị,
bạn không nên so sánh trực tiếp với True
hoặc False
. Bạn có thể dựa vào Python để kiểm tra độ tin cậy trong các điều kiện cho bạn:
>>>
>>> x = "this is a truthy value"
>>> if x is True: # Don't do this
... print["x is True"]
...
>>> if x: # Do this
... print["x is truthy"]
...
x is truthy
Trong Python, bạn thường không cần chuyển đổi các giá trị thành rõ ràng True
hoặc False
. Python sẽ ngầm xác định độ tin cậy của giá trị cho bạn.
các None
từ khóa
Từ khóa Python None
không đại diện cho giá trị. Trong
các ngôn ngữ lập trình khác, None
được biểu diễn như null
, nil
, none
, undef
, hoặc undefined
.
None
cũng là giá trị mặc định được trả về bởi một hàm nếu nó không có return
câu lệnh :
>>>
>>> def func[]:
... print["hello"]
...
>>> x = func[]
hello
>>> print[x]
None
Để đi sâu hơn về từ khóa Python rất quan trọng và hữu ích này, hãy xem Null trong Python: Hiểu đối tượng NoneType của Python .
Điều hành Từ khóa: and
, or
, not
, in
,is
Một số từ khóa Python được sử dụng làm toán tử. Trong các ngôn ngữ lập trình khác, các nhà khai thác sử dụng biểu tượng như &
, |
, và !
. Các toán tử Python cho những điều này là tất cả các từ khóa:
VÀ, ∧ | &&
| and
|
HOẶC, ∨ | ||
| or
|
KHÔNG, ¬ | !
| not
|
CHỨA, ∈ | in
| |
DANH TÍNH | ===
| is
|
Mã Python được thiết kế để dễ đọc. Đó là lý do tại sao nhiều toán tử sử dụng các ký hiệu trong các ngôn ngữ lập trình khác là các từ khóa trong Python.
các and
từ khóa
Từ khóa Python and
được sử dụng để xác định xem cả toán hạng bên trái và bên phải là đúng hay sai. Nếu cả hai toán hạng là true, thì kết quả sẽ là true. Nếu một cái là giả, thì kết quả sẽ là giả:
Lưu ý rằng kết quả của
một and
câu lệnh sẽ không nhất thiết phải là True
hoặc False
. Điều này là do hành vi kỳ quặc của and
. Thay vì đánh giá các toán hạng theo giá trị Boolean của chúng, and
chỉ cần trả về nếu nó là sai hoặc nếu không nó sẽ trả về
. Kết quả của một
and
câu lệnh có thể được chuyển tới bool[]
để nhận được giá trị True
hoặc rõ ràng False
, hoặc chúng có thể được sử dụng trong
một if
câu lệnh có điều kiện .
Nếu bạn muốn xác định một biểu thức tương tự như một and
biểu thức, nhưng không sử dụng and
từ khóa, thì bạn có thể sử dụng toán tử bậc ba trong Python:
left if not left else right
Câu lệnh trên sẽ tạo ra kết quả tương tự như left and right
.
Bởi vì and
trả về toán hạng đầu tiên nếu nó là sai và nếu không trả về toán hạng cuối cùng, bạn cũng có thể sử dụng and
trong một phép gán:
Nếu y là sai, thì
điều này sẽ dẫn đến x
việc được gán giá trị là y
. Nếu không, x
sẽ được gán giá trị của z
. Tuy nhiên, điều này làm cho mã khó hiểu. Một sự thay thế dài dòng hơn và rõ ràng hơn sẽ là:
Đoạn mã này dài hơn, nhưng nó cho biết rõ ràng hơn những gì bạn đang cố gắng hoàn thành.
các or
từ khóa
or
Từ
khóa của Python được sử dụng để xác định xem ít nhất một trong các toán hạng là trung thực. Một or
câu lệnh trả về toán hạng đầu tiên nếu nó là true và nếu không thì trả về toán hạng thứ hai:
Cũng giống như and
từ khóa, or
không chuyển đổi các toán hạng của nó thành các giá trị Boolean của chúng. Thay vào đó, nó dựa vào độ tin cậy của họ để xác định kết quả.
Nếu bạn muốn viết một cái gì đó giống như một or
biểu thức mà không
cần sử dụng or
, thì bạn có thể làm như vậy với một biểu thức bậc ba:
Biểu thức này sẽ tạo ra kết quả tương tự như left or right
. Để tận dụng hành vi này, đôi khi bạn cũng sẽ thấy or
được sử dụng trong các bài tập. Điều này thường không được khuyến khích ủng hộ một nhiệm vụ rõ ràng hơn.
Để có cái nhìn sâu hơn or
và cách sử dụng nó, hãy xem Cách sử dụng Python hoặc Toán
tử .
các not
từ khóa
not
Từ khóa của Python được sử dụng để lấy giá trị Boolean đối lập của một biến:
>>>
>>> val = "" # Truthiness value is `False`
>>> not val
True
>>> val = 5 # Truthiness value is `True`
>>> not val
False
Các not
từ khóa được sử dụng trong báo cáo có điều kiện hoặc biểu thức Boolean khác để lật ý nghĩa Boolean hoặc kết quả. Không giống như and
và or
, not
sẽ xác định giá trị Boolean rõ ràng, True
hoặc False
và sau đó trả
về giá trị ngược lại.
Nếu bạn muốn nhận được cùng một hành vi mà không cần sử dụng not
, thì bạn có thể làm như vậy với biểu thức bậc ba sau:
True if bool[] is False else False
Câu lệnh này sẽ trả về kết quả giống như not
.
các in
từ khóa
in
Từ khóa của Python là một kiểm tra ngăn chặn mạnh mẽ, hoặc toán
tử thành viên . Đưa ra một phần tử cần tìm và một vùng chứa hoặc chuỗi để tìm kiếm, in
sẽ trả về True
hoặc False
cho biết liệu phần tử đó có được tìm thấy trong vùng chứa hay không:
Một ví dụ điển hình về việc sử dụng in
từ khóa là kiểm tra một chữ cái cụ thể trong một chuỗi:
>>>
>>> name = "Chad"
>>> "c" in name
False
>>> "C" in name
True
Các in
công trình từ khóa với tất cả các loại container: danh sách, dicts, bộ, dây, và bất cứ điều gì khác
mà định nghĩa __contains__[]
hoặc có thể được lặp lại.
các is
từ khóa
is
Từ khóa của Python là kiểm tra danh tính. Điều này khác với ==
toán tử kiểm tra sự bình đẳng. Đôi khi hai thứ có thể được coi là bằng nhau nhưng không phải là cùng một đối tượng trong bộ nhớ. Các is
từ khóa sẽ xác định xem hai đối tượng là chính xác cùng một
đối tượng:
Điều này sẽ trả về True
nếu là cùng một đối tượng trong bộ nhớ
, hoặc nếu không, nó sẽ trả về
False
.
Hầu hết thời gian bạn sẽ thấy is
được sử dụng để kiểm tra xem một đối tượng có None
. Vì None
là một singleton, nên chỉ có một thể hiện của None
nó có thể tồn tại, vì vậy tất cả các None
giá trị là cùng một đối tượng chính xác trong bộ nhớ.
Nếu những khái niệm này là mới đối với
bạn, thì bạn có thể nhận được lời giải thích chuyên sâu hơn bằng cách xem Python '! =' Is Not 'is not': So sánh các đối tượng trong Python . Để tìm hiểu sâu hơn về cách is
hoạt động, hãy xem các Toán tử và Biểu thức trong Python .
Flow Control Từ khóa: if
, elif
,else
Từ khóa ba Python được sử dụng để kiểm soát dòng chảy: if
, elif
, và else
. Các từ khóa Python này cho phép bạn sử dụng logic có điều kiện và thực thi mã với các điều kiện nhất định. Những từ khóa này rất phổ biến — chúng sẽ được sử dụng trong hầu hết mọi chương trình bạn thấy hoặc viết bằng Python.
các if
từ khóa
Các if
từ khóa được sử dụng để bắt đầu một tuyên bố có điều kiện . Một if
câu lệnh cho phép bạn viết một khối mã chỉ được thực thi nếu biểu thức sau if
là trung thực.
Cú pháp cho một if
câu lệnh bắt đầu bằng từ khóa if
ở đầu dòng, theo sau là một biểu thức hợp lệ sẽ được đánh giá cho giá trị
trung thực của nó:
Câu if
lệnh là một thành phần quan trọng của hầu hết các chương trình. Để biết thêm thông tin về if
câu lệnh, hãy xem câu lệnh có điều kiện trong Python .
Một cách sử dụng khác của if
từ khóa là một phần của toán tử bậc ba của Python :
= if else
Đây là phiên bản một dòng của if...else
câu lệnh dưới đây:
if :
=
else:
=
Nếu các biểu thức của bạn là các câu lệnh không phức tạp, thì việc sử dụng biểu thức bậc ba cung cấp một cách hay để đơn giản hóa mã của bạn một chút. Một khi các điều kiện trở nên phức tạp một chút, thường tốt hơn là
dựa vào if
tuyên bố tiêu chuẩn .
các elif
từ khóa
Câu elif
lệnh trông và hoạt động giống như if
câu lệnh, với hai điểm khác biệt chính:
- Việc sử dụng
elif
chỉ có giá trị sau mộtif
câu lệnh hay câu lệnh khácelif
. - Bạn có thể sử dụng bao nhiêu
elif
câu lệnh mà bạn cần.
Trong các ngôn ngữ lập trình khác, elif
là else if
[hai từ riêng biệt] hoặc elseif
[cả
hai từ được trộn với nhau]. Khi bạn thấy elif
bằng Python, hãy nghĩ else if
:
if :
elif :
elif :
Python không có switch
câu lệnh . Một cách để có được chức năng tương tự mà các ngôn ngữ lập trình khác cung cấp với các switch
câu lệnh là sử dụng if
và elif
. Để biết các cách khác để sao chép switch
câu lệnh trong Python, hãy xem Mô phỏng câu lệnh switch / case trong Python .
các else
từ khóa
Câu else
lệnh, kết hợp với các từ khóa Python if
và elif
, biểu thị một khối mã
chỉ nên được thực thi nếu các khối điều kiện khác if
và elif
tất cả đều là giả:
if :
else:
Lưu ý rằng else
câu lệnh không sử dụng biểu thức điều kiện. Kiến thức về elif
và else
từ khóa và cách sử dụng thích hợp của chúng là rất quan trọng đối với các lập trình viên Python. Cùng với đó if
, chúng tạo nên một
số thành phần được sử dụng thường xuyên nhất trong bất kỳ chương trình Python nào.
Lặp Từ khóa: for
, while
, break
, continue
,else
Vòng lặp và lặp lại là những khái niệm lập trình cực kỳ quan trọng. Một số từ khóa Python được sử dụng để tạo và làm việc với các vòng lặp. Những từ khóa này, giống như các từ khóa Python được sử dụng cho các điều kiện ở trên, sẽ được sử dụng và nhìn thấy trong mọi chương trình Python mà bạn bắt gặp. Hiểu chúng và cách sử dụng phù hợp sẽ giúp bạn cải thiện với tư cách là một lập trình viên Python.
các for
từ khóa
Vòng lặp phổ biến nhất trong Python là for
vòng lặp. Nó được xây dựng bằng cách kết hợp các từ khóa Python for
và được in
giải thích trước đó. Cú pháp cơ bản cho một for
vòng lặp như sau:
for in :
Một ví dụ phổ biến là lặp lại các số từ một đến năm và in chúng ra màn hình:
>>>
>>> for num in range[1, 6]:
... print[num]
...
1
2
3
4
5
Trong các ngôn ngữ lập trình khác, cú pháp của một for
vòng lặp sẽ khác một chút. Thông thường, bạn sẽ cần chỉ định biến, điều kiện để tiếp tục và cách tăng biến đó [ for [int i = 0; i < 5; i++]
].
Trong Python, for
vòng
lặp giống như vòng lặp for-each trong các ngôn ngữ lập trình khác. Với đối tượng để lặp lại, nó sẽ gán giá trị của mỗi lần lặp cho biến:
>>>
>>> people = ["Kevin", "Creed", "Jim"]
>>> for person in people:
... print[f"{person} was in The Office."]
...
Kevin was in The Office.
Creed was in The Office.
Jim was in The Office.
Trong ví dụ này, bạn bắt đầu với danh sách [vùng chứa] tên của mọi người. Các for
vòng lặp bắt đầu với for
từ khóa vào đầu dòng, tiếp theo là biến để gán mỗi phần tử của danh sách, sau đó
các in
từ khóa, và cuối cùng là container [ people
].
for
Vòng lặp của Python là một thành phần chính khác trong bất kỳ chương trình Python nào. Để tìm hiểu thêm về for
vòng lặp, hãy xem Vòng lặp “for” trong Python [Lặp lại xác định] .
các while
từ khóa
while
Vòng lặp của Python sử dụng từ khóa while
và hoạt động giống như một while
vòng lặp trong các ngôn ngữ lập trình khác. Miễn là điều kiện theo sau while
từ khóa là đúng, khối theo sau while
câu lệnh sẽ tiếp tục được thực thi lặp đi lặp lại:
while :
Lưu ý: Đối với ví dụ về vòng lặp vô hạn bên dưới, hãy chuẩn bị sử dụng Ctrl+C để dừng quá trình nếu bạn quyết định thử nó trên máy của riêng mình.
Cách dễ nhất để chỉ định một vòng lặp vô hạn trong Python là sử dụng while
từ khóa với một biểu thức luôn trung thực:
>>>
>>> while True:
... print["working..."]
...
Để biết thêm ví dụ về các vòng lặp vô hạn trong hoạt động, hãy xem Lập trình Socket trong Python [Hướng dẫn] . Để tìm hiểu thêm về while
các vòng lặp, hãy
xem Vòng lặp “while” trong Python [Lặp lại không giới hạn] .
các break
từ khóa
Nếu bạn cần thoát khỏi một vòng lặp sớm, thì bạn có thể sử dụng break
từ khóa. Từ khóa này sẽ hoạt động trong cả hai for
và while
lặp lại:
for in :
if :
break
Ví dụ về việc
sử dụng break
từ khóa sẽ là nếu bạn đang tính tổng các số nguyên trong một danh sách các số và muốn thoát ra khi tổng số vượt quá một giá trị nhất định:
>>>
>>> nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> sum = 0
>>> for num in nums:
... sum += num
... if sum > 10:
... break
...
>>> sum
15
Cả từ khóa Python break
và continue
đều có thể là những công cụ hữu ích khi làm việc với các vòng lặp. Để thảo luận sâu hơn về cách sử dụng của chúng, hãy xem Vòng lặp “while” trong Python [Lặp lại không giới hạn] .
các continue
từ khóa
Python cũng có một continue
từ khóa cho khi bạn muốn bỏ qua lần lặp vòng lặp tiếp theo. Giống như trong hầu hết các ngôn ngữ lập trình khác, continue
từ khóa cho phép bạn ngừng thực hiện lặp lại vòng lặp hiện tại và chuyển sang lần lặp tiếp theo:
for in :
if :
continue
Các continue
từ
khóa cũng hoạt động trong while
vòng. Nếu continue
từ khóa đạt được trong một vòng lặp, thì quá trình lặp hiện tại sẽ bị dừng và lần lặp tiếp theo của vòng lặp được bắt đầu.
Các else
từ khóa sử dụng Với Loops
Ngoài việc sử dụng else
từ khóa với if
câu lệnh điều kiện , bạn cũng có thể sử dụng nó như một phần của vòng lặp. Khi được sử dụng với vòng lặp, else
từ khóa chỉ định mã sẽ được chạy nếu vòng lặp thoát bình
thường, nghĩa break
là không được gọi để thoát khỏi vòng lặp sớm.
Cú pháp để sử dụng else
với một for
vòng lặp trông giống như sau:
for in :
else:
Điều này rất giống với việc sử dụng else
với một if
câu lệnh. Sử dụng else
với một while
vòng lặp trông tương tự:
while :
else:
Tài liệu tiêu chuẩn Python có
một phần về cách sử dụng break
và else
với một for
vòng lặp mà bạn thực sự nên kiểm tra. Nó sử dụng một ví dụ tuyệt vời để minh họa tính hữu ích của else
khối.
Nhiệm vụ mà nó thể hiện là lặp lại các số từ hai đến chín để tìm các số nguyên tố. Một cách bạn có thể làm điều này là với một for
vòng
lặp tiêu chuẩn với một biến cờ :
>>>
>>> for n in range[2, 10]:
... prime = True
... for x in range[2, n]:
... if n % x == 0:
... prime = False
... print[f"{n} is not prime"]
... break
... if prime:
... print[f"{n} is prime!"]
...
2 is prime!
3 is prime!
4 is not prime
5 is prime!
6 is not prime
7 is prime!
8 is not prime
9 is not prime
Bạn có thể sử dụng prime
cờ để chỉ ra cách thoát khỏi vòng lặp. Nếu nó thoát bình thường, thì prime
cờ vẫn còn True
. Nếu nó thoát bằng break
, thì prime
cờ sẽ được đặt thành False
. Khi ở bên ngoài for
vòng lặp bên trong , bạn có thể kiểm tra cờ để xác định xem prime
có phải là True
số nguyên tố
hay không và nếu có, hãy in ra số đó là số nguyên tố.
Các else
khối cung cấp cú pháp đơn giản hơn. Nếu bạn thấy mình phải đặt cờ trong vòng lặp, thì hãy xem ví dụ tiếp theo như một cách để có thể đơn giản hóa mã của bạn:
>>>
>>> for n in range[2, 10]:
... for x in range[2, n]:
... if n % x == 0:
... print[f"{n} is not prime"]
... break
... else:
... print[f"{n} is prime!"]
...
2 is prime!
3 is prime!
4 is not prime
5 is prime!
6 is not prime
7 is prime!
8 is not prime
9 is not prime
Điều duy nhất bạn cần làm để sử dụng else
khối trong ví dụ này là
xóa prime
cờ và thay thế if
câu lệnh cuối cùng bằng else
khối. Điều này kết thúc tạo ra kết quả giống như ví dụ trước, chỉ với mã rõ ràng hơn.
Đôi khi việc sử dụng một else
từ khóa với một vòng lặp có vẻ hơi lạ, nhưng một khi bạn hiểu rằng nó cho phép bạn tránh sử dụng cờ trong các vòng lặp của mình, nó có thể là một công cụ mạnh mẽ.
Cấu trúc khóa: def
, class
, with
, as
, pass
,lambda
Để xác định các hàm và lớp hoặc sử dụng trình quản lý ngữ cảnh , bạn sẽ cần sử dụng một trong các từ khóa Python trong phần này. Chúng là một phần thiết yếu của ngôn ngữ Python và hiểu khi nào sử dụng chúng sẽ giúp bạn trở thành một lập trình viên Python tốt hơn.
các def
từ
khóa
Từ khóa của Python def
được sử dụng để định nghĩa một hàm hoặc phương thức của một lớp. Điều này tương đương với function
trong JavaScript và PHP. Cú pháp cơ bản để xác định một hàm có def
dạng như sau:
def []:
Các hàm và phương thức có thể là những cấu trúc rất hữu ích trong bất kỳ chương trình Python nào. Để tìm hiểu thêm về cách xác định chúng và tất cả thông tin chi tiết của chúng, hãy xem Định nghĩa hàm Python của riêng bạn .
các class
từ khóa
Để xác định một lớp trong Python, bạn sử dụng class
từ khóa. Cú pháp chung để xác định một lớp với class
như sau:
class MyClass[]:
Các lớp là công cụ mạnh mẽ trong lập trình hướng đối tượng, và bạn nên biết về chúng cũng như cách định nghĩa chúng. Để tìm hiểu thêm, hãy xem Lập trình hướng đối tượng [OOP] trong Python 3 .
các with
từ khóa
Trình quản lý ngữ cảnh là một cấu trúc thực sự hữu ích trong Python. Mỗi trình quản lý ngữ cảnh thực thi mã cụ thể trước và sau các câu lệnh bạn chỉ định. Để sử dụng
một, bạn sử dụng with
từ khóa:
with as :
Việc sử dụng with
cung cấp cho bạn một cách để xác định mã được thực thi trong phạm vi của trình quản lý ngữ cảnh . Ví dụ cơ bản nhất về điều này là khi bạn đang làm việc với I / O tệp bằng Python.
Nếu bạn muốn mở một tệp , hãy làm điều gì đó với tệp đó, sau đó đảm bảo rằng tệp đã được đóng đúng cách, sau đó bạn sẽ sử dụng trình quản lý ngữ cảnh. Hãy xem xét ví dụ này, trong đó names.txt
có một danh sách các tên, một tên trên mỗi dòng:
>>>
>>> with open["names.txt"] as input_file:
... for name in input_file:
... print[name.strip[]]
...
Jim
Pam
Cece
Philip
Trình quản lý ngữ cảnh I / O tệp được cung cấp open[]
và khởi tạo bằng with
từ khóa sẽ mở tệp để đọc, gán
con trỏ tệp đang mở input_file
, sau đó thực thi bất kỳ mã nào bạn chỉ định trong with
khối. Sau đó, sau khi khối được thực thi, con trỏ tệp sẽ đóng lại. Ngay cả khi mã của bạn trong with
khối tạo ra một ngoại lệ, con trỏ tệp vẫn sẽ đóng.
Để có một ví dụ tuyệt vời về việc sử dụng with
và trình quản lý ngữ cảnh, hãy xem Chức năng bộ hẹn giờ của
Python: Ba cách để theo dõi mã của bạn .
Các as
từ khóa được sử dụng vớiwith
Nếu bạn muốn truy cập vào kết quả của biểu thức hoặc trình quản lý ngữ cảnh được chuyển đến with
, bạn sẽ cần sử dụng bí danh đó as
. Bạn cũng có thể đã từng thấy các as
nhập khẩu và ngoại lệ bí danh, và điều này cũng không khác. Bí danh có sẵn trong with
khối:
with as :
Hầu hết thời gian, bạn sẽ thấy hai từ khóa Python
này with
và as
được sử dụng cùng nhau.
các pass
từ khóa
Vì Python không có các chỉ báo khối để chỉ định phần cuối của một khối, nên pass
từ khóa được sử dụng để chỉ định rằng khối được cố ý để trống. Nó tương đương với một thao tác không chọn , hoặc không . Dưới đây là một vài ví dụ về việc sử dụng pass
để
chỉ định rằng khối trống:
def my_function[]:
pass
class MyClass:
pass
if True:
pass
Để biết thêm chi tiết pass
, hãy xem Tuyên bố vượt qua: Cách không làm gì bằng Python .
các lambda
từ khóa
Các lambda
từ khóa được sử dụng để xác định một chức năng mà không có một tên và chỉ có một tuyên bố, kết quả trong số đó được trả lại. Các hàm được định nghĩa với lambda
được gọi là các hàm lambda :
lambda :
Một ví dụ cơ bản về một lambda
hàm tính toán đối số được nâng lên thành lũy thừa 10
sẽ như sau:
Điều này tương đương với việc xác định một hàm với def
:
Một cách sử dụng phổ biến cho một lambda
hàm là chỉ định một hành vi khác cho một hàm khác. Ví dụ, hãy tưởng tượng bạn muốn sắp xếp một danh sách các chuỗi theo các giá trị nguyên của chúng. Hành vi mặc định của sorted[]
sẽ sắp xếp các chuỗi theo thứ tự bảng chữ cái. Nhưng với sorted[]
, bạn có thể chỉ định khóa nào mà danh sách sẽ được sắp xếp.
Một hàm lambda cung cấp một cách hay để làm như vậy:
>>>
>>> ids = ["id1", "id2", "id30", "id3", "id20", "id10"]
>>> sorted[ids]
['id1', 'id10', 'id2', 'id20', 'id3', 'id30']
>>> sorted[ids, key=lambda x: int[x[2:]]]
['id1', 'id2', 'id3', 'id10', 'id20', 'id30']
Ví dụ này sắp xếp danh sách không dựa trên thứ tự bảng chữ cái mà
dựa trên thứ tự số của các ký tự cuối cùng của chuỗi sau khi chuyển đổi chúng thành số nguyên. Nếu không lambda
, bạn sẽ phải xác định một hàm, đặt tên cho nó, và sau đó chuyển nó vào sorted[]
. lambda
đã làm cho mã này sạch hơn.
Để so sánh, đây là ví dụ trên sẽ trông như thế nào nếu không sử dụng lambda
:
>>>
>>> def sort_by_int[x]:
... return int[x[2:]]
...
>>> ids = ["id1", "id2", "id30", "id3", "id20", "id10"]
>>> sorted[ids, key=sort_by_int]
['id1', 'id2', 'id3', 'id10', 'id20', 'id30']
Đoạn mã này tạo ra kết quả giống như lambda
ví dụ, nhưng bạn cần xác định hàm trước khi sử dụng
nó.
Để biết thêm thông tin về lambda
, hãy xem Cách sử dụng các hàm Lambda trong Python .
Trở Từ khóa: return
,yield
Có hai từ khóa Python được sử dụng để chỉ định những gì được trả về từ các hàm hoặc phương thức: return
và yield
. Hiểu khi nào và ở đâu để sử dụng return
là rất quan trọng để trở thành một lập trình viên Python tốt hơn. Các yield
từ
khóa là một tính năng tiên tiến hơn của Python, nhưng nó cũng có thể là một công cụ hữu ích để hiểu.
các return
từ khóa
return
Từ khóa của Python chỉ hợp lệ như một phần của hàm được định nghĩa với def
. Khi Python gặp từ khóa này, nó sẽ thoát khỏi hàm tại thời điểm đó và trả về kết quả của bất kỳ thứ gì xuất hiện sau return
từ khóa:
def []:
return
Khi không có biểu thức nào, return
sẽ trả về None
theo mặc định:
>>>
>>> def return_none[]:
... return
...
>>> return_none[]
>>> r = return_none[]
>>> print[r]
None
Tuy nhiên, hầu hết thời gian, bạn muốn trả về kết quả của một biểu thức hoặc một giá trị cụ thể:
>>>
>>> def plus_1[num]:
... return num + 1
...
>>> plus_1[9]
10
>>> r = plus_1[9]
>>> print[r]
10
Bạn thậm chí có thể sử dụng return
từ khóa nhiều lần trong một hàm. Điều này cho phép bạn có nhiều điểm thoát trong chức năng của mình. Một ví dụ cổ điển về
trường hợp bạn muốn có nhiều câu lệnh trả về là giải pháp đệ quy sau để tính giai thừa :
def factorial[n]:
if n == 1:
return 1
else:
return n * factorial[n - 1]
Trong hàm giai thừa ở trên, có hai trường hợp mà bạn muốn trả về từ hàm. Đầu tiên là trường hợp cơ sở, khi là số 1
, và thứ hai là trường hợp thông thường, khi bạn muốn nhân số hiện tại với
giá trị giai thừa của số tiếp theo.
Để tìm hiểu thêm về return
từ khóa, hãy xem Định nghĩa hàm Python của riêng bạn .
các yield
từ khóa
yield
Từ khóa của Python giống như return
từ khóa ở chỗ nó chỉ định những gì được trả về từ một hàm. Tuy nhiên, khi một hàm có một yield
câu lệnh, thứ được trả về là một trình tạo . Sau
đó, trình tạo có thể được chuyển đến tích hợp sẵn của Python next[]
để nhận giá trị tiếp theo được trả về từ hàm.
Khi bạn gọi một hàm với các yield
câu lệnh, Python sẽ thực thi hàm cho đến khi nó đến yield
từ khóa đầu tiên và sau đó trả về một trình tạo. Chúng được gọi là các chức năng của máy phát:
def []:
yield
Ví dụ đơn giản nhất về điều này sẽ là một hàm trình tạo trả về cùng một bộ giá trị:
>>>
>>> def family[]:
... yield "Pam"
... yield "Jim"
... yield "Cece"
... yield "Philip"
...
>>> names = family[]
>>> names
>>> next[names]
'Pam'
>>> next[names]
'Jim'
>>> next[names]
'Cece'
>>> next[names]
'Philip'
>>> next[names]
Traceback [most recent call last]:
File "", line 1, in
StopIteration
Khi StopIteration
ngoại lệ được nâng lên, trình tạo được thực hiện trả lại các giá trị. Để xem lại tên, bạn cần phải gọi family[]
lại và nhận một máy phát điện mới. Hầu hết thời gian, một hàm trình tạo sẽ được gọi như một phần của for
vòng lặp, hàm này thực hiện các next[]
lệnh gọi cho bạn.
Để biết thêm thông tin về yield
từ khóa và cách sử dụng
trình tạo và chức năng của trình tạo, hãy xem Cách sử dụng Trình tạo và năng suất trong Python và Trình tạo Python 101 .
Nhập từ khóa: import
, from
,as
Đối với những công cụ, không giống như các từ khóa Python và các công cụ tích hợp, chưa có sẵn cho chương trình Python của bạn, bạn sẽ cần nhập chúng vào chương trình của mình. Có rất nhiều mô-đun hữu ích có sẵn trong thư viện tiêu chuẩn của Python mà chỉ cần nhập khẩu. Ngoài ra còn có nhiều thư viện và công cụ hữu ích khác có sẵn trong PyPI mà khi bạn đã cài đặt chúng vào môi trường của mình, bạn sẽ cần phải nhập vào các chương trình của mình.
Sau đây là mô tả ngắn gọn về ba từ khóa Python được sử dụng để nhập các mô-đun vào chương trình của bạn. Để biết thêm thông tin về các từ khóa này, hãy xem Các gói và Mô-đun Python - Giới thiệu và nhập Python: Kỹ thuật và Mẹo nâng cao .
các import
từ khóa
import
Từ khóa của Python được sử dụng để nhập hoặc bao gồm, một mô-đun để sử dụng trong chương trình Python của
bạn. Cú pháp sử dụng cơ bản trông giống như sau:
Sau khi câu lệnh đó chạy, sẽ có sẵn cho chương trình của bạn.
Ví dụ: nếu bạn muốn sử dụng Counter
lớp từ collections
mô-đun trong thư viện chuẩn, thì bạn có thể sử dụng mã sau:
>>>
>>> import collections
>>> collections.Counter[]
Counter[]
Nhập collections
theo cách này làm cho toàn bộ collections
mô-đun, bao
gồm cả Counter
lớp, có sẵn cho chương trình của bạn. Bằng cách sử dụng tên mô-đun, bạn có quyền truy cập vào tất cả các công cụ có sẵn trong mô-đun đó. Để có được quyền truy cập vào Counter
, bạn tham khảo nó từ các mô-đun: collections.Counter
.
các from
từ khóa
Các from
từ khóa được sử dụng cùng với import
nhập khẩu một cái gì đó cụ thể từ một mô-đun:
from import
Thao tác này sẽ nhập bất cứ thứ gì bên trong
để
sử dụng bên trong chương trình của bạn. Hai từ khóa Python này
from
và import
được sử dụng cùng nhau.
Nếu bạn muốn sử dụng Counter
từ collections
mô-đun trong thư viện chuẩn, thì bạn có thể nhập nó cụ thể:
>>>
>>> from collections import Counter
>>> Counter[]
Counter[]
Việc nhập Counter
như vậy làm cho Counter
lớp có sẵn, nhưng không có gì khác từ collections
mô-đun có sẵn. Counter
hiện có sẵn mà bạn không cần phải tham chiếu nó từ collections
mô-đun.
các as
từ khóa
Các as
từ khóa được sử dụng để bí danh một module hoặc công cụ nhập khẩu. Nó được sử dụng cùng với các từ khóa Python import
và from
để thay đổi tên của thứ đang được nhập:
import as
from import as
Đối với các mô-đun có tên thực sự dài hoặc bí danh nhập thường được sử dụng, as
có thể hữu ích trong việc tạo bí danh.
Nếu bạn muốn nhập Counter
lớp từ mô-đun bộ sưu tập nhưng đặt tên khác, bạn có thể đặt bí
danh cho lớp đó bằng cách sử dụng as
:
>>>
>>> from collections import Counter as C
>>> C[]
Counter[]
Bây giờ Counter
có sẵn để được sử dụng trong chương trình của bạn, nhưng C
thay vào đó , nó được tham chiếu bởi . Cách sử dụng as
bí danh nhập phổ biến hơn là với các gói NumPy hoặc Pandas . Chúng thường được nhập với các bí danh tiêu chuẩn:
import numpy as np
import pandas as pd
Đây là một giải pháp thay thế tốt hơn để chỉ nhập mọi thứ từ một mô-đun và nó cho phép bạn rút ngắn tên của mô-đun đang được nhập.
Ngoại lệ-Xử lý Từ khóa: try
, except
, raise
, finally
, else
,assert
Một trong những khía cạnh phổ biến nhất của bất kỳ chương trình Python nào là nâng cao và bắt các ngoại lệ. Bởi vì đây là một khía cạnh cơ bản của tất cả mã Python, nên có một số từ khóa Python có sẵn để giúp làm cho phần này của mã của bạn rõ ràng và ngắn gọn.
Các phần bên dưới đề cập đến các từ khóa Python này và cách sử dụng cơ bản của chúng. Để có hướng dẫn chuyên sâu hơn về các từ khóa này, hãy xem Python Exceptions: An Introduction .
các try
từ khóa
Bất kỳ khối xử lý ngoại lệ nào đều bắt đầu bằng try
từ khóa của Python . Điều này cũng giống như trong hầu hết các ngôn ngữ lập trình khác có xử lý ngoại lệ.
Mã trong try
khối là mã có thể tạo ra một ngoại lệ. Một số từ khóa Python khác được liên kết với try
và được sử dụng để xác định những gì
nên làm nếu các ngoại lệ khác nhau được nêu ra hoặc trong các tình huống khác nhau. Đây là except
, else
và finally
:
try:
:
Một try
khối không hợp lệ trừ khi nó có ít nhất một trong các từ khóa Python khác được sử dụng để xử lý ngoại lệ như một phần của try
câu lệnh tổng thể .
Nếu bạn muốn tính toán và trả lại dặm một gallon xăng [ mpg
] trao dặm lái xe và gallon khí sử dụng, sau đó bạn có thể viết một hàm như
sau:
def mpg[miles, gallons]:
return miles / gallons
Vấn đề đầu tiên bạn có thể thấy là mã của bạn có thể tăng a ZeroDivisionError
nếu gallons
tham số được chuyển vào dưới dạng 0
. Các try
từ khóa cho phép bạn chỉnh sửa các mã trên để xử lý tình huống đó một cách thích hợp:
def mpg[miles, gallons]:
try:
mpg = miles / gallons
except ZeroDivisionError:
mpg = None
return mpg
Bây giờ nếu gallons = 0
, sau đó mpg[]
sẽ không đưa ra một ngoại lệ và None
thay vào đó sẽ trả về . Điều này có thể tốt hơn hoặc bạn có thể quyết định rằng
bạn muốn nêu ra một loại ngoại lệ khác hoặc xử lý tình huống này theo cách khác. Bạn sẽ thấy phiên bản mở rộng của ví dụ này bên dưới để minh họa các từ khóa khác được sử dụng để xử lý ngoại lệ.
các except
từ khóa
except
Từ khóa của Python được sử dụng với try
để xác định phải làm gì khi các ngoại lệ cụ thể được đưa ra. Bạn có thể có một hoặc nhiều except
khối với một khối duy nhất try
. Cách sử dụng cơ bản trông như thế
này:
try:
except :
Lấy mpg[]
ví dụ từ trước, bạn cũng có thể làm điều gì đó cụ thể trong trường hợp ai đó chuyển các loại không hoạt động với /
toán tử. Đã xác định mpg[]
trong ví dụ trước, bây giờ hãy thử gọi nó bằng chuỗi thay vì số:
>>>
>>> mpg["lots", "many"]
Traceback [most recent call last]:
File "", line 1, in
File "", line 3, in mpg
TypeError: unsupported operand type[s] for /: 'str' and 'str'
Bạn cũng có thể sửa đổi mpg[]
và sử dụng nhiều except
khối để xử lý tình huống này:
def mpg[miles, gallons]:
try:
mpg = miles / gallons
except ZeroDivisionError:
mpg = None
except TypeError as ex:
print["you need to provide numbers"]
raise ex
return mpg
Tại đây, bạn sửa đổi mpg[]
để tăng TypeError
ngoại lệ chỉ sau khi bạn đã in lời nhắc hữu ích ra màn hình.
Lưu ý rằng except
từ khóa cũng có thể được sử dụng cùng với as
từ khóa. Điều này có tác dụng tương tự như các cách sử dụng khác as
, tạo bí danh cho ngoại lệ được nêu ra để bạn có thể làm việc với nó trong except
khối.
Mặc dù nó được cho phép về
mặt cú pháp, hãy cố gắng không sử dụng các except
câu lệnh làm thông tin ngầm. Tốt hơn bạn nên luôn nắm bắt một cách rõ ràng điều gì đó , ngay cả khi nó chỉ là Exception
:
try:
1 / 0
except: # Don't do this
pass
try:
1 / 0
except Exception: # This is better
pass
try:
1 / 0
except ZeroDivisionError: # This is best
pass
Nếu bạn thực sự muốn nắm bắt một loạt các trường hợp ngoại lệ, hãy chỉ định cấp độ gốc Exception
. Đây rõ ràng hơn là một catchall và nó cũng sẽ không bắt được các trường hợp ngoại lệ mà bạn có thể không muốn bắt, như RuntimeError
hoặc KeyboardInterrupt
.
các raise
từ
khóa
Các raise
từ khóa đặt ra một ngoại lệ. Nếu bạn thấy mình cần phải nêu ra một ngoại lệ, thì bạn có thể sử dụng raise
theo sau là ngoại lệ sẽ được nêu ra:
Bạn đã sử dụng raise
trước đây, trong mpg[]
ví dụ. Khi bạn bắt được TypeError
, bạn tăng lại ngoại lệ sau khi in thông báo ra màn hình.
các finally
từ khóa
Python của finally
từ khóa là hữu ích để xác định mã mà nên chạy không có vấn đề gì xảy ra trong try
, except
hoặc else
khối. Để
sử dụng finally
, hãy sử dụng nó như một phần của try
khối và chỉ định các câu lệnh sẽ được chạy bất kể điều gì:
try:
finally:
Sử dụng ví dụ trước đó, có thể hữu ích khi chỉ định rằng, bất kể điều gì xảy ra, bạn muốn biết hàm được gọi với đối số nào. Bạn có thể sửa đổi mpg[]
để bao gồm một finally
khối thực hiện điều đó:
def mpg[miles, gallons]:
try:
mpg = miles / gallons
except ZeroDivisionError:
mpg = None
except TypeError as ex:
print["you need to provide numbers"]
raise ex
finally:
print[f"mpg[{miles}, {gallons}]"]
return mpg
Bây giờ, bất kể mpg[]
được gọi như thế nào hoặc kết quả là gì, bạn in các đối số do người dùng cung cấp:
>>>
>>> mpg[10, 1]
mpg[10, 1]
10.0
>>> mpg["lots", "many"]
you need to provide numbers
mpg[lots, many]
Traceback [most recent call last]:
File "", line 1, in
File "", line 8, in mpg
File "", line 3, in mpg
TypeError: unsupported operand type[s] for /: 'str' and 'str'
Các finally
từ khóa có thể là một phần rất hữu ích của mã ngoại lệ xử lý của bạn.
Các else
từ khóa được sử dụng với try
vàexcept
Bạn đã biết rằng else
từ khóa có thể được sử dụng với cả if
từ khóa và vòng lặp trong Python, nhưng nó có một công dụng
khác. Nó có thể được kết hợp với các từ khóa try
và except
Python. Bạn chỉ có thể sử dụng else
theo cách này nếu bạn cũng sử dụng ít nhất một except
khối:
try:
except :
else:
Trong bối cảnh này, mã trong else
khối chỉ được thực thi nếu một ngoại lệ không được đưa ra trong try
khối. Nói cách khác, nếu try
khối thực thi tất cả mã thành công, thì else
mã khối sẽ được thực thi.
Trong mpg[]
ví dụ này, hãy tưởng tượng bạn muốn đảm bảo rằng mpg
kết quả luôn được trả về float
bất kể tổ hợp số nào được chuyển vào. Một trong những cách bạn có thể làm là sử dụng một else
khối. Nếu try
tính toán khối mpg
thành công, thì bạn chuyển đổi kết quả thành a float
trong else
khối trước khi trả về:
def mpg[miles, gallons]:
try:
mpg = miles / gallons
except ZeroDivisionError:
mpg = None
except TypeError as ex:
print["you need to provide numbers"]
raise ex
else:
mpg = float[mpg] if mpg is not None else mpg
finally:
print[f"mpg[{miles}, {gallons}]"]
return mpg
Bây giờ, kết quả của một cuộc gọi tới mpg[]
, nếu thành công, sẽ luôn là a float
.
Để biết thêm về cách sử dụng else
khối như một phần của khối try
và except
, hãy xem Ngoại lệ Python: Giới thiệu .
các assert
từ khóa
Các assert
từ khóa trong Python được sử dụng để xác định một assert
tuyên bố, hoặc một sự khẳng định về một biểu thức. Một assert
câu lệnh sẽ dẫn đến kết quả là no-op nếu biểu thức [ ]
là true và nó sẽ nâng lên
AssertionError
nếu biểu thức là sai. Để xác định một khẳng định, hãy sử dụng assert
biểu thức theo sau:
Nói chung, các assert
câu lệnh sẽ được sử dụng để đảm bảo điều gì đó cần phải đúng. Tuy nhiên, bạn không nên dựa vào chúng vì chúng có thể bị bỏ qua tùy thuộc vào cách chương trình Python của bạn được thực thi.
Lập trình Từ khóa không đồng bộ: async
,await
Lập trình không đồng bộ là một chủ đề phức tạp. Có hai từ
khóa Python được xác định để giúp làm cho mã không đồng bộ dễ đọc hơn và sạch hơn: async
và await
.
Các phần bên dưới giới thiệu hai từ khóa không đồng bộ và cú pháp cơ bản của chúng, nhưng chúng sẽ không đi sâu vào lập trình không đồng bộ. Để tìm hiểu thêm về lập trình không đồng bộ, hãy xem Async IO trong Python: Hướng dẫn hoàn chỉnh và bắt đầu với các tính năng không đồng bộ trong Python .
các async
từ khóa
Các async
từ khóa được sử dụng với def
xác định một chức năng không đồng bộ, hoặc coroutine . Cú pháp cũng giống như định nghĩa một hàm, với việc thêm async
vào ở đầu:
async def []:
Bạn có thể làm cho một hàm không đồng bộ bằng cách thêm async
từ khóa vào trước định nghĩa thông thường của hàm.
các await
từ khóa
await
Từ khóa của Python được sử dụng trong các hàm không đồng bộ để chỉ định một điểm
trong hàm nơi điều khiển được đưa trở lại vòng lặp sự kiện để các hàm khác chạy. Bạn có thể sử dụng nó bằng cách đặt await
từ khóa trước lệnh gọi đến bất kỳ async
hàm nào :
await
# OR
= await
Khi sử dụng await
, bạn có thể gọi hàm không đồng bộ và bỏ qua kết quả hoặc bạn có thể lưu trữ kết quả trong một biến khi hàm cuối cùng trả về.
Biến Xử Từ khóa: del
, global
,nonlocal
Ba từ khóa Python được sử dụng để làm việc với các
biến. Các del
từ khóa được nhiều thường được sử dụng hơn global
và nonlocal
từ khóa. Nhưng vẫn hữu ích nếu biết và hiểu cả ba từ khóa để bạn có thể xác định thời điểm và cách sử dụng chúng.
các del
từ khóa
del
được sử dụng trong Python để bỏ đặt một biến hoặc tên. Bạn có thể sử dụng nó trên tên biến, nhưng cách sử dụng phổ biến hơn là xóa chỉ mục khỏi danh sách hoặc từ điển . Để bỏ đặt một biến, hãy sử dụng del
theo sau là biến bạn muốn bỏ đặt:
Giả sử bạn muốn xóa từ điển mà bạn nhận được từ phản hồi API bằng cách ném ra các khóa mà bạn biết rằng mình sẽ không sử dụng. Bạn có thể làm như vậy với del
từ khóa:
>>>
>>> del response["headers"]
>>> del response["errors"]
Thao tác này sẽ xóa các khóa "headers"
và "errors"
khỏi từ điển response
.
các global
từ khóa
Nếu bạn cần sửa đổi một biến không được xác định trong một hàm nhưng được xác định trong phạm vi toàn cục , thì bạn sẽ cần sử dụng global
từ khóa. Điều này hoạt động bằng cách chỉ định trong hàm những biến nào cần được kéo vào hàm từ phạm vi toàn cục:
Một ví dụ cơ bản là tăng một biến toàn cục bằng một lệnh
gọi hàm. Bạn có thể làm điều đó với global
từ khóa:
>>>
>>> x = 0
>>> def inc[]:
... global x
... x += 1
...
>>> inc[]
>>> x
1
>>> inc[]
>>> x
2
Điều này thường không được coi là thực hành tốt, nhưng nó có những công dụng của nó. Để tìm hiểu thêm về global
từ khóa, hãy xem Phạm vi Python & Quy tắc LEGB: Giải quyết tên trong mã của bạn .
các nonlocal
từ khóa
Các nonlocal
từ khóa
tương tự như global
ở chỗ nó cho phép bạn chỉnh sửa các biến từ một phạm vi khác nhau. Với global
, phạm vi bạn đang lấy là phạm vi toàn cầu. Với nonlocal
, phạm vi bạn đang lấy là phạm vi mẹ . Cú pháp tương tự như global
:
Từ khóa này không được sử dụng thường xuyên, nhưng đôi khi nó có thể hữu ích. Để biết thêm về phạm vi và nonlocal
từ khóa, hãy xem Phạm vi Python & Quy tắc LEGB: Giải quyết tên trong mã của bạn .
Từ khóa Python không được dùng nữa
Đôi khi một từ khóa Python trở thành một hàm dựng sẵn. Đó là trường hợp của cả hai print
và exec
. Đây từng là các từ khóa Python trong phiên bản 2.7, nhưng sau đó chúng đã được thay đổi thành các hàm tích hợp.
print
Từ khóa cũ
Khi đó print
là một từ khóa, cú pháp để in một thứ gì đó ra màn hình trông như sau:
Lưu ý rằng nó trông giống như rất nhiều câu lệnh từ khóa khác, với từ khóa theo sau là các đối số.
Giờ đây print
không còn là một từ khóa nữa và việc in ấn được thực hiện với cài đặt sẵn print[]
. Để in thứ gì đó ra màn hình, bây giờ bạn sử dụng cú pháp sau:
Để biết thêm về cách in, hãy xem Hướng dẫn của bạn về Hàm print [] trong Python .
exec
Từ khóa cũ
Trong Python 2.7, exec
từ khóa lấy mã Python làm chuỗi và thực thi nó. Điều này được thực hiện với cú pháp sau:
Bạn có thể có được hành vi tương tự trong Python 3+, chỉ với phần mềm tích hợp sẵn exec[]
. Ví dụ: nếu bạn muốn thực thi "x = 12 * 7"
trong mã Python của mình, thì bạn có thể làm như sau:
>>>
>>> exec["x = 12 * 7"]
>>> x == 84
True
Để biết thêm về exec[]
và
sử dụng nó, hãy xem Cách chạy Tập lệnh Python của bạn .
Phần kết luận
Từ khóa Python là nền tảng cơ bản của bất kỳ chương trình Python nào. Hiểu cách sử dụng hợp lý của chúng là chìa khóa để cải thiện kỹ năng và kiến thức của bạn về Python.
Trong suốt bài viết này, bạn đã thấy một số điều để củng cố sự hiểu biết của bạn về các từ khóa Python và giúp bạn viết mã hiệu quả và dễ đọc hơn.
Trong bài viết này, bạn đã học được:
- Các từ khóa Python trong phiên bản 3.8 và cách sử dụng cơ bản của chúng
- Một số tài nguyên để giúp bạn hiểu sâu hơn về nhiều từ khóa
- Cách sử dụng
keywords
mô-đun của Python để làm việc với các từ khóa theo cách lập trình
Nếu bạn hiểu hầu hết các từ khóa này và cảm thấy thoải mái khi sử dụng chúng, thì bạn có thể muốn tìm hiểu thêm về ngữ pháp Python và cách các câu lệnh sử dụng các từ khóa này được chỉ định và xây dựng.