X == Y có nghĩa là gì trong Python?

Tôi là người mới bắt đầu và tôi đang làm việc với một số mã, vui lòng hướng dẫn tôi chính xác mã bên dưới đại diện cho cái gì

kết quả, dữ liệu = thư. uid['search', None, "ALL"] # thay vào đó tìm kiếm và trả về uid

Ai đó có thể giải thích dòng này?

Các câu lệnh thụt lề theo sau được gọi là một khối. Câu lệnh không thụt lề đầu tiên đánh dấu sự kết thúc của khối. Khối câu lệnh bên trong câu lệnh ghép được gọi là phần thân của câu lệnh

Mỗi câu lệnh bên trong phần thân được thực thi theo thứ tự nếu biểu thức boolean đánh giá là True . Toàn bộ khối bị bỏ qua nếu biểu thức boolean đánh giá là Sai .

Không có giới hạn về số lượng câu lệnh có thể xuất hiện trong phần nội dung của câu lệnh if , nhưng phải có ít nhất . Đôi khi, sẽ rất hữu ích nếu có một phần thân không có câu lệnh nào [thường là nơi giữ chỗ cho mã bạn chưa viết]. Trong trường hợp đó, bạn có thể sử dụng câu lệnh pass , câu lệnh này không có tác dụng gì.

if True:          # This is always true
    pass          # so this is always executed, but it does nothing

4. 5. Thực hiện thay thế¶

Dạng thứ hai của câu lệnh if là thực thi thay thế, trong đó có hai khả năng và điều kiện xác định khả năng nào được thực thi. Cú pháp trông như thế này.

if x % 2 == 0:
    print x, "is even"
else:
    print x, "is odd"

Nếu phần dư khi x chia cho 2 là 0, thì chúng ta biết rằng x< . Nếu điều kiện là sai, tập lệnh thứ hai được thực hiện. Vì điều kiện phải đúng hoặc sai nên chính xác một trong các phương án sẽ được thực hiện. Các lựa chọn thay thế được gọi là các nhánh, bởi vì chúng là các nhánh trong luồng thực thi. is even, and the program displays a message to that effect. If the condition is false, the second set of statements is executed. Since the condition must be true or false, exactly one of the alternatives will be executed. The alternatives are called branches, because they are branches in the flow of execution.

Bên cạnh đó, nếu bạn cần thường xuyên kiểm tra tính chẵn lẻ [độ chẵn hoặc lẻ] của các số, bạn có thể bọc mã này trong một hàm

def print_parity[x]:
    if x % 2 == 0:
        print x, "is even"
    else:
        print x, "is odd"

Đối với bất kỳ giá trị nào của x , print_parity sẽ hiển thị một . Khi bạn gọi nó, bạn có thể cung cấp bất kỳ biểu thức số nguyên nào làm đối số.

>>> print_parity[17]
17 is odd.
>>> y = 41
>>> print_parity[y+1]
42 is even.

4. 6. Chuỗi điều kiện¶

Đôi khi có nhiều hơn hai khả năng và chúng ta cần nhiều hơn hai nhánh. Một cách để thể hiện một tính toán như vậy là một chuỗi điều kiện

>>> type[True]

>>> type[true]
Traceback [most recent call last]:
  File "", line 1, in 
NameError: name 'true' is not defined
0

elif là viết tắt của else if. Một lần nữa, chính xác một nhánh sẽ được thực thi. Không có giới hạn về số lượng câu lệnh elif mà chỉ có một câu lệnh duy nhất [và không bắt buộc] else statement is allowed and it must be the last branch in the statement:

>>> type[True]

>>> type[true]
Traceback [most recent call last]:
  File "", line 1, in 
NameError: name 'true' is not defined
1

Mỗi điều kiện được kiểm tra theo thứ tự. Nếu cái đầu tiên là sai, cái tiếp theo sẽ được chọn, v.v. Nếu một trong số chúng là đúng, thì nhánh tương ứng sẽ thực thi và câu lệnh kết thúc. Ngay cả khi có nhiều hơn một điều kiện là đúng, thì chỉ có nhánh đúng đầu tiên được thực thi

4. 7. Điều kiện lồng nhau¶

Một điều kiện cũng có thể được lồng trong một điều kiện khác. Chúng ta có thể đã viết ví dụ trichotomy như sau

>>> type[True]

>>> type[true]
Traceback [most recent call last]:
  File "", line 1, in 
NameError: name 'true' is not defined
2

Câu điều kiện ngoài gồm 2 nhánh. Nhánh đầu tiên chứa một câu lệnh đầu ra đơn giản. Nhánh thứ hai chứa một câu lệnh if khác, có hai nhánh riêng. Hai nhánh đó đều là câu lệnh đầu ra, mặc dù chúng cũng có thể là câu lệnh điều kiện.

Mặc dù việc thụt lề của các câu lệnh làm cho cấu trúc trở nên rõ ràng, các điều kiện lồng nhau trở nên khó đọc rất nhanh. Nói chung, nên tránh chúng khi bạn có thể

Các toán tử logic thường cung cấp một cách để đơn giản hóa các câu lệnh điều kiện lồng nhau. Ví dụ: chúng ta có thể viết lại đoạn mã sau bằng cách sử dụng một điều kiện duy nhất

>>> type[True]

>>> type[true]
Traceback [most recent call last]:
  File "", line 1, in 
NameError: name 'true' is not defined
3

Câu lệnh print chỉ được thực thi nếu chúng ta vượt qua cả hai điều kiện, vì vậy chúng ta có thể sử dụng and operator:

>>> type[True]

>>> type[true]
Traceback [most recent call last]:
  File "", line 1, in 
NameError: name 'true' is not defined
4

Những loại điều kiện này là phổ biến, vì vậy Python cung cấp một cú pháp thay thế tương tự như ký hiệu toán học

>>> type[True]

>>> type[true]
Traceback [most recent call last]:
  File "", line 1, in 
NameError: name 'true' is not defined
5

Điều kiện này về mặt ngữ nghĩa giống như biểu thức boolean phức hợp và điều kiện lồng nhau

4. 8. Câu lệnh return

Câu lệnh return cho phép bạn kết thúc việc thực thi một hàm trước khi bạn kết thúc. Một lý do để sử dụng nó là nếu bạn phát hiện ra tình trạng lỗi.

>>> type[True]

>>> type[true]
Traceback [most recent call last]:
  File "", line 1, in 
NameError: name 'true' is not defined
6

Hàm print_square_root có tham số tên là x . Điều đầu tiên nó làm là kiểm tra xem x có nhỏ hơn hoặc bằng 0 hay không, trong trường hợp đó, nó sẽ hiển thị thông báo lỗi và sau đó sử dụng return to exit the function. The flow of execution immediately returns to the caller, and the remaining lines of the function are not executed.

4. 9. Đầu vào bàn phím¶

Trong phần Nhập liệu, chúng ta đã được giới thiệu về các hàm tích hợp sẵn của Python để nhận đầu vào từ bàn phím. raw_inputinput . Bây giờ chúng ta hãy nhìn lại những điều này sâu hơn.

Khi một trong hai hàm này được gọi, chương trình sẽ dừng và đợi người dùng nhập nội dung nào đó. Khi người dùng nhấn phím Return hoặc phím Enter, chương trình sẽ tiếp tục và raw_input trả về chuỗi mà người dùng đã nhập dưới dạng . :

>>> type[True]

>>> type[true]
Traceback [most recent call last]:
  File "", line 1, in 
NameError: name 'true' is not defined
7

Trước khi gọi raw_input , bạn nên in một thông báo cho người dùng biết nội dung cần nhập. Thông báo này được gọi là lời nhắc. Chúng tôi có thể cung cấp lời nhắc làm đối số cho raw_input .

>>> type[True]

>>> type[true]
Traceback [most recent call last]:
  File "", line 1, in 
NameError: name 'true' is not defined
8

Chú ý dấu nhắc là chuỗi nên phải đặt trong dấu ngoặc kép

Nếu chúng tôi mong đợi phản hồi là một số nguyên, chúng tôi có thể sử dụng hàm input để đánh giá phản hồi dưới dạng biểu thức Python.

>>> type[True]

>>> type[true]
Traceback [most recent call last]:
  File "", line 1, in 
NameError: name 'true' is not defined
9

Nếu người dùng nhập một chuỗi chữ số, nó sẽ được chuyển đổi thành số nguyên và được gán cho tốc độ . Thật không may, nếu người dùng nhập các ký tự không tạo thành biểu thức Python hợp lệ, chương trình sẽ gặp sự cố.

if x % 2 == 0:
    print x, "is even"
else:
    print x, "is odd"
40

Trong ví dụ trước, nếu người dùng đã biến phản hồi thành biểu thức Python hợp lệ bằng cách đặt dấu ngoặc kép xung quanh nó, thì nó sẽ không báo lỗi

if x % 2 == 0:
    print x, "is even"
else:
    print x, "is odd"
41

Để tránh loại lỗi này, bạn nên sử dụng raw_input để lấy một chuỗi rồi sử dụng các lệnh chuyển đổi để chuyển đổi chuỗi đó .

4. 10. Loại chuyển đổi¶

Mỗi loại Python đi kèm với một lệnh tích hợp cố gắng chuyển đổi giá trị của loại khác thành loại đó. Ví dụ: lệnh int[ARGUMENT] lấy bất kỳ giá trị nào và chuyển đổi thành số nguyên, nếu có thể hoặc khiếu nại nếu không.

if x % 2 == 0:
    print x, "is even"
else:
    print x, "is odd"
42

int cũng có thể chuyển đổi giá trị dấu phẩy động thành số nguyên, nhưng hãy nhớ rằng nó cắt bớt phần phân số.

if x % 2 == 0:
    print x, "is even"
else:
    print x, "is odd"
43

Lệnh float[ARGUMENT] chuyển đổi số nguyên và chuỗi thành số dấu phẩy động.

if x % 2 == 0:
    print x, "is even"
else:
    print x, "is odd"
44

Có vẻ lạ khi Python phân biệt giá trị số nguyên 1 với giá trị dấu phẩy động 1. 0 . Chúng có thể đại diện cho cùng một số, nhưng chúng thuộc các loại khác nhau. Lý do là chúng được thể hiện khác nhau bên trong máy tính.

Lệnh str[ARGUMENT] chuyển đổi bất kỳ đối số nào được cung cấp cho nó thành loại chuỗi:

if x % 2 == 0:
    print x, "is even"
else:
    print x, "is odd"
45

str[ARGUMENT] sẽ hoạt động với bất kỳ giá trị nào và chuyển đổi giá trị đó thành chuỗi. Như đã đề cập trước đó, True là giá trị boolean; . true is not.

Đối với các giá trị boolean, tình hình đặc biệt thú vị

if x % 2 == 0:
    print x, "is even"
else:
    print x, "is odd"
46

Python gán giá trị boolean cho giá trị của các loại khác. Đối với các loại số như số nguyên và dấu phẩy động, giá trị 0 là sai và giá trị khác 0 là đúng. Đối với chuỗi, chuỗi rỗng là sai và chuỗi không rỗng là đúng

4. 11. KHÓC¶

GASP [API đồ họa dành cho sinh viên Python] sẽ cho phép chúng tôi viết các chương trình liên quan đến đồ họa. Trước khi bạn có thể sử dụng GASP, nó cần được cài đặt trên máy của bạn. Nếu bạn đang chạy Ubuntu GNU/Linux, hãy xem GASP trong Phụ lục A. Có thể tìm thấy hướng dẫn hiện tại để cài đặt GASP trên các nền tảng khác tại http. // nhà phát triển. máy tính xách tay. org/pub/gasp/tải xuống

Sau khi cài đặt gasp, hãy thử tập lệnh python sau

if x % 2 == 0:
    print x, "is even"
else:
    print x, "is odd"
47

Lệnh thứ hai đến lệnh cuối cùng tạm dừng và đợi cho đến khi một phím được nhấn. Không có nó, màn hình sẽ nhấp nháy nhanh đến mức bạn sẽ không nhìn thấy nó

Chạy tập lệnh này, bạn sẽ thấy một cửa sổ đồ họa trông như thế này

Từ giờ trở đi, chúng ta sẽ sử dụng gasp để minh họa [ý định chơi chữ] các khái niệm lập trình máy tính và để tăng thêm niềm vui khi học. Bạn có thể tìm hiểu thêm về mô-đun GASP bằng cách đọc Phụ lục B

4. 12. Bảng chú giải¶

blockMột nhóm các câu lệnh liên tiếp có cùng cách thụt đầu dòng. bodyKhối các câu lệnh trong một câu lệnh ghép theo sau tiêu đề. biểu thức boolean Một biểu thức đúng hoặc sai. giá trị booleanCó chính xác hai giá trị boolean. ĐúngSai . Giá trị boolean là kết quả khi một biểu thức boolean được đánh giá bởi trình thông dịch Python. Chúng có loại bool . nhánhMột trong những đường dẫn có thể có của luồng thực thi được xác định bởi thực thi có điều kiện. chuỗi điều kiện Một nhánh có điều kiện với nhiều hơn hai luồng thực thi có thể. Trong Python, chuỗi điều kiện được viết bằng if . elif . else câu lệnh. toán tử so sánhMột trong những toán tử so sánh hai giá trị. == , . = , > , =, and >> 5 % 2
  • >>> 9 % 5
  • >>> 15 % 12
  • >>> 12 % 15
  • >>> 6 % 6
  • >>> 0 % 7
  • >>> 7 % 0
  • Điều gì đã xảy ra với ví dụ cuối cùng? . Nếu không, hãy dành thời gian ngay bây giờ để tạo ra các ví dụ của riêng bạn. Khám phá toán tử mô-đun cho đến khi bạn tự tin rằng mình hiểu cách thức hoạt động của nó

  • >>> type[True]
    
    >>> type[true]
    Traceback [most recent call last]:
      File "", line 1, in 
    NameError: name 'true' is not defined
    
    0

    Gói mã này trong một hàm có tên là so sánh[x, y] . Gọi so sánh ba lần. mỗi cái trong đó đối số thứ nhất nhỏ hơn, lớn hơn và bằng đối số thứ hai.

  • Để hiểu rõ hơn về các biểu thức boolean, sẽ rất hữu ích khi xây dựng các bảng chân trị. Hai biểu thức boolean tương đương logic khi và chỉ khi chúng có cùng bảng chân lý

    Tập lệnh Python sau in ra bảng chân lý cho bất kỳ biểu thức boolean nào trong hai biến. p và q

    if x % 2 == 0:
        print x, "is even"
    else:
        print x, "is odd"
    
    49

    Bạn sẽ tìm hiểu cách tập lệnh này hoạt động trong các chương sau. Bây giờ, bạn sẽ sử dụng nó để tìm hiểu về các biểu thức boolean. Sao chép chương trình này vào tệp có tên p_and_q. py , sau đó chạy nó từ dòng lệnh và đưa nó. p or q , khi được nhắc nhập biểu thức boolean. Bạn sẽ nhận được đầu ra sau.

    def print_parity[x]:
        if x % 2 == 0:
            print x, "is even"
        else:
            print x, "is odd"
    
    40

    Bây giờ chúng ta đã thấy nó hoạt động như thế nào, hãy bọc nó trong một chức năng để dễ sử dụng hơn

    def print_parity[x]:
        if x % 2 == 0:
            print x, "is even"
        else:
            print x, "is odd"
    
    41

    Chúng ta có thể nhập nó vào trình bao Python và gọi truth_table với một chuỗi chứa biểu thức boolean của chúng ta trong p và q làm đối số.

    def print_parity[x]:
        if x % 2 == 0:
            print x, "is even"
        else:
            print x, "is odd"
    
    42

    Sử dụng các hàm truth_table với các biểu thức boolean sau, ghi lại bảng chân lý được tạo ra mỗi lần.

    1. không [p hoặc q]
    2. p và q
    3. không [p và q]
    4. không [p] hay không [q]
    5. không [p] và không [q]

    Cái nào trong số này tương đương về mặt logic?

  • Nhập các biểu thức sau vào trình bao Python

    def print_parity[x]:
        if x % 2 == 0:
            print x, "is even"
        else:
            print x, "is odd"
    
    43

    Phân tích những kết quả này. Bạn có thể thực hiện những quan sát nào về các giá trị của các loại và toán tử logic khác nhau? and and or expressions?

  • >>> type[True]
    
    >>> type[true]
    Traceback [most recent call last]:
      File "", line 1, in 
    NameError: name 'true' is not defined
    
    1

    Gói mã này trong một hàm có tên là dispatch[choice] . Sau đó xác định hàm_a , hàm_bfunction_c so that they print out a message saying they were called. For example:

    def print_parity[x]:
        if x % 2 == 0:
            print x, "is even"
        else:
            print x, "is odd"
    
    45

    Đặt bốn hàm [ công văn , function_a , . p function_b, and function_c into a script named ch04e05.py . Ở dưới cùng của tập lệnh này, hãy thêm lệnh gọi tới dispatch['b'] . đầu ra của bạn phải là.

    def print_parity[x]:
        if x % 2 == 0:
            print x, "is even"
        else:
            print x, "is odd"
    
    46

    Cuối cùng, sửa đổi tập lệnh để người dùng có thể nhập 'a', 'b' hoặc 'c'. Kiểm tra nó bằng cách nhập tập lệnh của bạn vào trình bao Python

    x += y có giống với X x Y không?

    x += y trong Java cũng giống như x = x + y . Nó là toán tử gán ghép. Được sử dụng phổ biến nhất để tăng giá trị của một biến vì x++ chỉ tăng giá trị lên một.

    X [. ] có nghĩa là con trăn?

    x[. ] có nghĩa là toàn bộ chuỗi . Về cơ bản nó là x[từ. đến]. Bỏ từ có nghĩa là từ đầu cho đến khi.

    X và Y được gọi là gì trong lập trình?

    Tọa độ X và y tương ứng là địa chỉ ngang và dọc của một điểm trong bất kỳ không gian hai chiều [2D] nào , chẳng hạn .

    \\ nghĩa là gì trong Python?

    Trong các chuỗi Python, dấu gạch chéo ngược "\" là một ký tự đặc biệt, còn được gọi là ký tự "thoát" . Nó được sử dụng để đại diện cho các ký tự khoảng trắng nhất định. "\t" là một tab, "\n" là một dòng mới và "\r" là một xuống dòng.
  • Chủ Đề