Hàm JavaScript trong Python là gì?

A JavaScript function is defined with the function keyword, followed by a name, followed by parentheses []

Tên hàm có thể chứa các chữ cái, chữ số, dấu gạch dưới và ký hiệu đô la [quy tắc giống như biến]

The parentheses may include parameter names separated by commas
[parameter1, parameter2, . ]

The code to be executed, by the function, is placed inside curly brackets. {}

function name[parameter1, parameter2, parameter3] {
// mã sẽ được thực thi
}

Function parameters are listed inside the parentheses [] in the function definition

Function arguments are the values received by the function when it is invoked

Inside the function, the arguments [the parameters] behave as local variables

Function Invocation

The code inside the function will execute when "something" invokes [calls] the function

  • When an event occurs [when a user clicks a button]
  • When it is invoked [called] from JavaScript code
  • Automatically [self invoked]

You will learn a lot more about function invocation later in this tutorial

Function Return

When JavaScript reaches a return statement, the function will stop executing

If the function was invoked from a statement, JavaScript will "return" to execute the code after the invoking statement

Các hàm thường tính toán giá trị trả về. The return value is "returned" back to the "caller"

Example

Calculate the product of two numbers, and return the result

let x = myFunction[4, 3];   // Function is called, return value will end up in x

function myFunction[a, b] {
  return a * b;             // Function returns the product of a and b
}

Kết quả trong x sẽ là

Try it Yourself »

Why Functions?

You can reuse code. Xác định mã một lần và sử dụng nó nhiều lần

Bạn có thể sử dụng cùng một mã nhiều lần với các đối số khác nhau để tạo ra các kết quả khác nhau

Example

Đổi độ F sang độ C

hàm toC[độ F] {
return [5/9] * [fahrenheit-32];
}
tài liệu. getElementById["bản trình diễn"]. innerHTML = toCelsius[77];

Try it Yourself »

Toán tử [] gọi hàm

Using the example above, toCelsius refers to the function object, and toCelsius[] refers to the function result

Accessing a function without [] will return the function object instead of the function result

Example

hàm toC[độ F] {
return [5/9] * [fahrenheit-32];
}
document. getElementById["demo"]. innerHTML = toCelsius;

Try it Yourself »

Functions Used as Variable Values

Functions can be used the same way as you use variables, in all types of formulas, assignments, and calculations

Example

Instead of using a variable to store the return value of a function

let x = toCelsius[77];
let text = "The temperature is " + x + " Celsius";

You can use the function directly, as a variable value

let text = "The temperature is " + toCelsius[77] + " Celsius";

Try it Yourself »

You will learn a lot more about functions later in this tutorial

Local Variables

Variables declared within a JavaScript function, become LOCAL to the function

Các biến cục bộ chỉ có thể được truy cập từ bên trong hàm

Example

// code here can NOT use carName

function myFunction[] {
  let carName = "Volvo";
  // code here CAN use carName
}

// code here can NOT use carName

Try it Yourself »

Since local variables are only recognized inside their functions, variables with the same name can be used in different functions

In this article, I provide a comparison of the most commonly used features of Python and JavaScript. Lesser used features are omitted

TopicJavaScriptPythonstandardECMAScriptPython 3 documentationevaluationdynamicdynamicperformancefastslow unless libraries call C/C++ functionsstyle guidePrettierPEP 8, Blackmost common indentation2 spaces4 spaces [not tabs]type coercionimplicitexplicit except between number types

Note. PEP stands for Python Enhancement Proposal

Some oddities about Python code formatting include

  • leaving two blank lines before and after every function and class definition
  • leaving two spaces before every comment that appears on the same line as code

Pros and Cons

Pros

  • ability to run in web browsers [clients] and from command line [servers] using Node. js
  • great support for asynchronous code
  • performance
  • compact syntax for functional programming [e. g. , 
        """Return the average of a sequence of numbers."""
    1 vs. functools]
  • can use TypeScript, a superset of JavaScript, to add type checking

Cons

  • still in transition from
        """Return the average of a sequence of numbers."""
    2 to
        """Return the average of a sequence of numbers."""
    3 syntax in Node. js
  • type coercions can result in surprising results if not familiar with them

Pros

  • targeted at scripting and rapid application development
  • quantity and maturity of libraries for data analysis and machine learning
  • multiple number types, not just double-precision float
  • some syntax is easier for beginners
    • no curly braces or semicolons, and fewer parentheses
    •     """Return the average of a sequence of numbers."""
      4 instead of
          """Return the average of a sequence of numbers."""
      5,
          """Return the average of a sequence of numbers."""
      6 instead of
          """Return the average of a sequence of numbers."""
      7, and
          """Return the average of a sequence of numbers."""
      8 instead of
          """Return the average of a sequence of numbers."""
      9
    • function myFunction[p1, p2] {
        console.log['myFunction: p1 =', p1, 'p2 =', p2];
      }
       
      // Call function above after one second.
      const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
      if [tiredOfWaiting] clearTimeout[id1];
      0 vs.
      function myFunction[p1, p2] {
        console.log['myFunction: p1 =', p1, 'p2 =', p2];
      }
       
      // Call function above after one second.
      const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
      if [tiredOfWaiting] clearTimeout[id1];
      1
  • can add functions implemented in C/C++ or any language callable from C
  • can use type hints and tools like mypy to add type checking
  • oddly satisfying to type fewer characters [e. g. , comment with
    function myFunction[p1, p2] {
      console.log['myFunction: p1 =', p1, 'p2 =', p2];
    }
     
    // Call function above after one second.
    const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
    if [tiredOfWaiting] clearTimeout[id1];
    2 instead of
    function myFunction[p1, p2] {
      console.log['myFunction: p1 =', p1, 'p2 =', p2];
    }
     
    // Call function above after one second.
    const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
    if [tiredOfWaiting] clearTimeout[id1];
    3]

Cons

  • Even though Python convention is to separate words in multi-word variable, function, and method names with an underscore, there are many examples where no separation is used. This makes it difficult to guess the correct name
  • Dictionary references for retrieving and setting values are more verbose than JavaScript object references. Rather than using dot syntax such as
    function myFunction[p1, p2] {
      console.log['myFunction: p1 =', p1, 'p2 =', p2];
    }
     
    // Call function above after one second.
    const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
    if [tiredOfWaiting] clearTimeout[id1];
    4, we must use
    function myFunction[p1, p2] {
      console.log['myFunction: p1 =', p1, 'p2 =', p2];
    }
     
    // Call function above after one second.
    const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
    if [tiredOfWaiting] clearTimeout[id1];
    5 or
    function myFunction[p1, p2] {
      console.log['myFunction: p1 =', p1, 'p2 =', p2];
    }
     
    // Call function above after one second.
    const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
    if [tiredOfWaiting] clearTimeout[id1];
    6 even if the key is a single word
  • Anonymous functions are limited to a single expression
  • Lambda functions are more verbose than JavaScript arrow functions [
    function myFunction[p1, p2] {
      console.log['myFunction: p1 =', p1, 'p2 =', p2];
    }
     
    // Call function above after one second.
    const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
    if [tiredOfWaiting] clearTimeout[id1];
    7 vs.
    function myFunction[p1, p2] {
      console.log['myFunction: p1 =', p1, 'p2 =', p2];
    }
     
    // Call function above after one second.
    const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
    if [tiredOfWaiting] clearTimeout[id1];
    8]
  • The classic ternary operator using a
    function myFunction[p1, p2] {
      console.log['myFunction: p1 =', p1, 'p2 =', p2];
    }
     
    // Call function above after one second.
    const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
    if [tiredOfWaiting] clearTimeout[id1];
    9 and
    import threading
     
    def my_function[p1, p2]:
        print['my_function: p1 =', p1, 'p2 =', p2]
     
    # The Timer function takes the number of seconds to wait,
    # the function to call, and a tuple of arguments to be passed.
    t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
    t.start[]
    if tired_of_waiting:
        t.cancel[]
    0 is not supported. See the section for an example
  • There is no syntax for multi-line comments, so commenting out a block of code is tedious
  • Magic methods such as
    import threading
     
    def my_function[p1, p2]:
        print['my_function: p1 =', p1, 'p2 =', p2]
     
    # The Timer function takes the number of seconds to wait,
    # the function to call, and a tuple of arguments to be passed.
    t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
    t.start[]
    if tired_of_waiting:
        t.cancel[]
    1 use "dunder" names [for double underscore] which is an odd and verbose way to distinguish special values. Other programming languages typically use a single special character prefix. Xem danh sách trong phần
  • Use of operator overloading [supported by magic methods] can be confusing
  • These was no built-in support for asynchronous code until the
    import threading
     
    def my_function[p1, p2]:
        print['my_function: p1 =', p1, 'p2 =', p2]
     
    # The Timer function takes the number of seconds to wait,
    # the function to call, and a tuple of arguments to be passed.
    t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
    t.start[]
    if tired_of_waiting:
        t.cancel[]
    2 module was added in Python 3. 4. Some features require Python 3. 7+
  • Python programs have poor performance. For examples, see The Computer Language Benchmark Game
  • V3 contains breaking changes, so care must be taken when reading documentation and examples to verify version compatibility

Running Scripts

JavaScript source files have an extension of

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
3 or
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
4 [for ECMAScript modules]

To run a JavaScript script outside a web browser

Python source files have an extension of

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
5

Multiple words in file names should be separated by underscores rather than hyphens because the file name becomes the module name and hyphens are not valid in module names. Avoid using file names that match that of an existing module because doing so will prevent you from being able to import the existing module

To run a Python script

  • install the Python interpreter from python. org
  • enter
    import threading
     
    def my_function[p1, p2]:
        print['my_function: p1 =', p1, 'p2 =', p2]
     
    # The Timer function takes the number of seconds to wait,
    # the function to call, and a tuple of arguments to be passed.
    t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
    t.start[]
    if tired_of_waiting:
        t.cancel[]
    6 or
    import threading
     
    def my_function[p1, p2]:
        print['my_function: p1 =', p1, 'p2 =', p2]
     
    # The Timer function takes the number of seconds to wait,
    # the function to call, and a tuple of arguments to be passed.
    t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
    t.start[]
    if tired_of_waiting:
        t.cancel[]
    7

In both cases, command line arguments can be passed to the script

  • A JavaScript script running in Node. js can get command line arguments from the array
    import threading
     
    def my_function[p1, p2]:
        print['my_function: p1 =', p1, 'p2 =', p2]
     
    # The Timer function takes the number of seconds to wait,
    # the function to call, and a tuple of arguments to be passed.
    t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
    t.start[]
    if tired_of_waiting:
        t.cancel[]
    8. The first element is the path to the
    import threading
     
    def my_function[p1, p2]:
        print['my_function: p1 =', p1, 'p2 =', p2]
     
    # The Timer function takes the number of seconds to wait,
    # the function to call, and a tuple of arguments to be passed.
    t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
    t.start[]
    if tired_of_waiting:
        t.cancel[]
    9 executable, the second is the path to the script that is running, and the remaining elements are the command line arguments
  • A Python script can get command line arguments from
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    00. Phần tử đầu tiên là đường dẫn đến tập lệnh đang chạy và các phần tử còn lại là đối số dòng lệnh

Để tạo tệp nguồn Python có thể thực thi trực tiếp trong hệ thống UNIX

  • Thêm phần này làm dòng đầu tiên.
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    01
  • Làm cho tệp có thể thực thi được bằng cách nhập
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    02
  • Để chạy nó từ một thiết bị đầu cuối, hãy nhập
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    03

Để tự động khởi động lại tập lệnh khi tập lệnh hoặc tệp mà tập lệnh nhập bị sửa đổi

  1. Cài đặt nút. js
  2. from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    04
  3. Nếu chạy tập lệnh JavaScript, hãy nhập
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    05
  4. Nếu chạy tập lệnh Python, hãy nhập
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    06

Tìm sự giúp đỡ

Trong JavaScript, thực hiện các tìm kiếm trên web bắt đầu bằng "MDN" [đối với Mạng nhà phát triển Mozilla] theo sau là cụm từ tìm kiếm JavaScript. Ví dụ: "mdn regrec"

Để được trợ giúp về Python, hãy xem phần

Bạn cũng có thể nhập lệnh

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
07 để bắt đầu REPL và nhập
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
08 để bắt đầu tiện ích trợ giúp. Sau khi vào trong, hãy nhập tên của mô-đun để nhận trợ giúp về mô-đun đó. Để thoát khỏi tiện ích trợ giúp và quay lại REPL của Python, hãy nhập
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
09 hoặc chỉ
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
10

Ngoài ra, khi một mô-đun đã được nhập, bạn có thể nhận trợ giúp về mô-đun đó bằng cách chuyển mô-đun đó tới hàm

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
11. Ví dụ

import re # for regular expressions
help[re]

quy ước đặt tên

KindJavaScriptPythonconstant
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
12samevariable
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
13
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
14function
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
13
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
14class
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
17samemethod
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
13
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
14public instance properties
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
13
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
14private instance propertiesno convention
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
22

Mặc dù Python sử dụng quy ước đặt tên để xác định các hằng số [tất cả đều là chữ hoa], chúng vẫn có thể được sửa đổi. Và quy ước đặt tên cho các biến thể hiện riêng [bắt đầu bằng dấu gạch dưới] không ngăn cản truy cập từ bên ngoài lớp

Nhiều thư viện Python, bao gồm cả thư viện tiêu chuẩn, khác với quy ước đặt tên Python. Cụ thể, người ta thường tìm thấy các tên hàm và phương thức có nhiều từ nhưng tất cả đều là chữ thường và không có dấu phân cách giữa các từ. Ví dụ: thư viện chuẩn

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
23 định nghĩa các hàm
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
24 [tuân theo quy ước] và
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
25 [không]

Các loại tích hợp

TypeJavaScriptPythonBoolean
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
26,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
27
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
28,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
29numberdefault is double precision float,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
30
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
31,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
32,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
33characteruse stringssamestring
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
34 or
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
35samemulti-line string
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
36
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
37 or
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
38string interpolation
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
39
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
40array
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
41 class, literal syntax
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
42
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
43 module in standard librarylistuse
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
41 class
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
45 class with literal syntax
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
42
có thể thay đổi và điển hình là lớp tupleno thuần nhất tương đương ____29_______47 với cú pháp theo nghĩa đen
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
48
không thay đổi và thường không đồng nhấtphạm vitương đương
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
49 lớp
Lớp
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
50key/value_______29_______51 với cú pháp chữ
Lớp
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
52 và
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
53
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
54 với cú pháp chữ
Lớp
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
55bộ_______29_______56;
tạo với lớp
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
57_______29_______58 với cú pháp chữ
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
59
hoặc
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
60chức năngxem phần "Chức năng" bên dướixem phần "Chức năng" bên dướilớp
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
61
xem phần "Lớp học" bên dưới_______29_______62
xem phần "Các loại" bên dướikhông có giá trị
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
63 hoặc
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
64
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
65

Mọi thứ đều là một đối tượng trong Python, ngay cả các giá trị nguyên thủy trong JavaScript như Booleans, số và chuỗi

Python có "chuỗi", trong khi JavaScript có mảng. Các loại trình tự bao gồm chuỗi, danh sách, bộ dữ liệu, phạm vi, bộ và bộ đệm. Danh sách là một chuỗi các giá trị có thể thay đổi thường có cùng loại. Một bộ là một chuỗi các giá trị bất biến có thể có các loại khác nhau. Một phạm vi là một dãy số bất biến thường được sử dụng để lặp

Khóa đối tượng JavaScript phải là chuỗi, nhưng khóa

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
53 có thể là bất kỳ loại giá trị nào. Các khóa dict Python có thể là bất kỳ loại bất biến nào

Các giá trị được coi là sai khi được sử dụng trong ngữ cảnh Boolean được liệt kê bên dưới

LanguageFalse ValuesPython
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
29,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
68,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
69,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
70 [phức tạp], chuỗi trống, chuỗi trống và
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
65JavaScript
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
27,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
68,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
74, chuỗi trống,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
63 và
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
64

Trong JavaScript, các bộ sưu tập trống có giá trị là

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
26. Chúng bao gồm mảng, đối tượng, trường hợp
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
53 và trường hợp
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
56

Trong Python, giá trị "không phải là số"

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
80 ước tính thành
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
26

mô-đun

Trong cả JavaScript và Python, các mô-đun được xác định bởi một tệp nguồn duy nhất. Tệp nguồn có thể nhập các mô-đun khác và những tệp đó có thể nhập nhiều mô-đun hơn

Trong cả JavaScript và Python, mỗi mô-đun chỉ được nhập một lần. Nếu mã của nó bị sửa đổi, tập lệnh phải được chạy lại để giải thích các thay đổi

Các mô-đun JavaScript được nhập bằng đường dẫn tệp tương đối chỉ được tìm kiếm ở vị trí đó. Các mô-đun JavaScript được nhập chỉ với một tên được tìm kiếm trong thư mục

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
82 của dự án và thư mục toàn cầu
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
82

Python tìm kiếm các mô-đun theo thứ tự sau

  • mô-đun tích hợp
  • thư mục liên quan đến tệp nhập [sử dụng tên mô-đun chấm]
  • các thư mục được liệt kê trong biến môi trường
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    84
  • thư mục cài đặt cụ thể

Để xem các thư mục sẽ được tìm kiếm, hãy

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
85 và thực thi
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
86

Một số chủ đề liên quan đến mô-đun được mô tả trong bảng sau

Mô-đun TopicJavaScriptPythona được xác định bởi. nội dung của fileameexport
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
87mọi thứ được xuất tự động;
chỉ ra các giá trị riêng tư bằng cách bắt đầu tên bằng dấu gạch dưới.
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
92 hoặc
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
93nhập các giá trị cụ thể_______29_______94 hoặc
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
95
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
96 hoặc
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
97Nhập mặc định và được đặt tên
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
98không được hỗ trợ danh mục mã nguồn mởhttps. //www. npmjs. com/
https. //www. npmjs. com/https. //pypi. tổ chức/
https. //pypi. org/tool ​​to install
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
99 [đã cài đặt với Node. js]
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
00 [được cài đặt bằng Python] hoặc
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
01 [được cài đặt với Anaconda]

Trong bí danh Python thường được gán cho các gói thường được sử dụng. Cộng đồng đã bắt đầu sử dụng các bí danh được hiển thị trong phần nhập bên dưới

Bộ sưu tập nhập khẩu được đề xuất gói
trong thư viện tiêu chuẩn
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
02functools
trong thư viện tiêu chuẩn
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
03itertools
in standard library
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
04matplotlib
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
05NumPy
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
06pandas
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
07TensorFlow
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
08

gói

Gói JavaScript

Các "gói" JavaScript được quản lý bằng công cụ

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
99, được cài đặt khi Node. js đã được cài đặt. Để cho phép mỗi dự án sử dụng các phiên bản gói khác nhau và giúp các nhà phát triển khác dễ dàng cài đặt cùng một bộ gói, hãy tạo tệp
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
10 trong mỗi dự án bằng cách nhập
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
11 và trả lời một số câu hỏi

Gói Python

Các "gói" Python được quản lý bằng công cụ

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
00, được cài đặt khi Python được cài đặt. Tên này là từ viết tắt của "Pip Installs Packages. " Nó cài đặt các gói từ Chỉ mục gói Python [pypi]. Để nâng cấp phiên bản
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
00 đang được sử dụng, hãy nhập
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
14

Để cho phép mỗi dự án sử dụng các phiên bản gói khác nhau và giúp các nhà phát triển khác dễ dàng cài đặt cùng một bộ gói, hãy tạo một môi trường ảo. Có một số công cụ có thể được sử dụng để làm điều này. Các tùy chọn bao gồm Anaconda,

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
15 [chủ yếu dành cho Python 2] và
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
16 [một tập hợp con của
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
15 dành cho Python 3]

Để tạo một môi trường ảo bằng cách sử dụng

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
16, hãy nhập
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
19 trong thư mục gốc của dự án. Điều này tạo ra một thư mục con
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
20

Để kích hoạt môi trường ảo này, hãy chạy tập lệnh

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
21 trong thư mục
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
22. Trong Windows, nhập
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
23. Trong môi trường UNIX, nhập
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
24. [Khi sử dụng Fish shell, hãy thêm phần mở rộng
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
25. ]

Kích hoạt môi trường ảo sẽ thay đổi môi trường để sử dụng các phiên bản công cụ và thư viện có trong thư mục

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
20 của dự án thay vì phiên bản toàn cầu. Lưu ý rằng thay vì bao gồm một bản sao của một phiên bản cụ thể của trình thông dịch Python, một liên kết tượng trưng đến nó sẽ được tạo. Điều này cũng thay đổi dấu nhắc trình bao để cho biết thư mục môi trường đang được sử dụng, trong trường hợp này là
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
20

Để hủy kích hoạt môi trường ảo và quay lại sử dụng các phiên bản toàn cầu của công cụ và thư viện, hãy nhập

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
28

Lưu ý rằng môi trường ảo Python phải được kích hoạt để có hiệu lực. Điều này khác với Nút. js khi chỉ cần thay đổi thư mục của dự án sẽ khiến các phiên bản phụ thuộc của nó được sử dụng dựa trên nội dung của thư mục con

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
82

Để biết chi tiết về cách sử dụng Anaconda để quản lý môi trường ảo, xem tại đây

Sử dụng gói

OperationJavaScriptPythonprepare a project
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
30
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
19
trong đó
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
20 là tên thư mục được sử dụng theo quy ước, cài đặt một gói trên toàn cầu
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
33không kích hoạt môi trường,
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
34cài đặt gói cục bộ_______130_______35với môi trường được kích hoạt,
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
34cài đặt một phiên bản cụ thể của một gói
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
37
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
38cập nhật lên phiên bản mới nhất của một gói cụ thể
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
39
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
40xem vị trí các gói toàn cầu được cài đặt
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
41không kích hoạt môi trường,
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
42xem nơi các gói cục bộ được cài đặt
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
43với môi trường được kích hoạt,
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
42vị trí của các gói cục bộ
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
45
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
46xem danh sách các gói được cài đặt cục bộ
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
47 hoặc
mở
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
10 và xem
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
49 và
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
50với môi trường được kích hoạt,
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
51tạo danh sách các phiên bản gói dự án được duy trì tự động trong
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
10
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
53cài đặt các phiên bản gói dự án
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
54
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
55

Gói dự án Python

Gói Project Python cho phép nhập mô-đun từ thư mục con. Đây là những thư mục con có tên là tên gói. Các thư mục con phải chứa tệp

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
56 có thể để trống hoặc chứa mã khởi tạo cho gói

Thêm các tệp

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
5 trong thư mục gói xác định mô-đun. Sau đó, trong các tệp
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
5 muốn sử dụng một mô-đun trong một gói [nằm trong các thư mục tổ tiên], hãy sử dụng
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
59. Để nhập những thứ cụ thể từ mô-đun gói, hãy sử dụng
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
60

Cấu trúc thư mục có thể sâu tùy thích với mỗi thư mục con chứa một tệp

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
56. Khi có các gói lồng nhau, quá trình nhập trông giống như
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
62 hoặc
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
63

Để biết thêm thông tin về các gói Python, hãy xem trong Hướng dẫn Python

In/Ghi nhật ký

OperationJavaScriptPythonghi các giá trị được phân tách bằng dấu cách thành thiết bị xuất chuẩn_______130_______64
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
65ghi các giá trị được phân tách bằng dấu cách thành thiết bị xuất chuẩn_______130_______66
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
85
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
68ghi vào thiết bị xuất chuẩn với phép nội suy
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
69];
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
70ghi vào thiết bị xuất chuẩn mà không có dòng mới trong Node. js
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
71
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
72_______130_______73

Biến và phép gán

Các biến JavaScript phải được khai báo bằng cách sử dụng từ khóa

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
74 hoặc
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
75. Các biến Python không được khai báo và được tạo khi một giá trị được gán cho chúng

Các phép gán biến JavaScript có thể xuất hiện bên trong các biểu thức, chẳng hạn như điều kiện vòng lặp hoặc

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
76, điều mà nhiều nhà phát triển cảm thấy khó hiểu. Điều này không được phép trong Python cho đến phiên bản 3. 8, bổ sung "toán tử hải mã" để gán giá trị cho các biến bên trong các biểu thức lớn hơn. Ví dụ

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday

Công cụ linting pylint Python coi các biến cấp mô-đun là hằng số. Nó sẽ đưa ra các cảnh báo nếu các chức năng sửa đổi giá trị của chúng. Để tránh điều này, hãy liệt kê tất cả các biến như vậy sẽ được sửa đổi sau từ khóa

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
77 bên trong các hàm sửa đổi chúng. Từ khóa liên quan
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
78 cho phép các hàm truy cập các biến trong phạm vi tổ tiên không phải là toàn cục

TopicJavaScriptPythonconstant declaration
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
79
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
80variable declaration
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
81
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
82get type of value in variable
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
83 and
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
84
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
85multiple assignment
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
86
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
87destructure sequence
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
88
# biến có thể khác với # phần tử____130_______89
# of variables must match # of elementsdestructure object
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
90not supportedun-declare variable
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
91 - just removes value
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
92addition
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
93samesubtraction
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
94samemultiplication
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
95samedivision
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
96sameexponentiation
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
97samemod [remainder]
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
98samelogical and
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
99not supportedlogical or
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
00not supportedlogical xor
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
01not supportedbitwise and
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
02samebitwise or
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
03samebitwise xor
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
01samesigned bit shift
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
05 [left],
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
06 [right]sameunsigned bit shift
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
07 [left],
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
08 [right

Phá hủy JavaScript có thể nắm bắt nhiều giá trị trong một biến mảng. Ví dụ

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]

Biến

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
09 ở trên được đặt thành một mảng. "Toán tử còn lại"
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
10 phải xuất hiện trước biến cuối cùng

Python gọi thao tác này là "giải nén" và nó thậm chí còn có nhiều khả năng hơn

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]

Biến

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
09 ở trên được đặt thành danh sách

so sánh

TopicJavaScriptPythonequal
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
12 [with coercion] or
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
13 [without]
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
12 [without coercion]not equal
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
15 [with coercion] or
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
16 [without]
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
15 [without coercion]same object
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
13
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
19different object
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
16
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
21less than
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
22sameless than or equal
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
23samegreater than
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
24samegreater than or equal
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
25same

So sánh Python có thể được xâu chuỗi, nhưng so sánh JavaScript thì không thể. Ví dụ: để xác định xem giá trị của một biến có nằm trong khoảng từ 10 đến 20 hay không

  • trong JavaScript,
    seq = [1, 2, 3, 4] # using a tuple, but could also be a list
    a, b, *rest = seq # a=1, b=2, rest=[3, 4]
    a, *rest, b = seq # a=1, rest=[2, 3], b=4
    a, b, *rest = seq # a=1, b=2, rest=[3, 4]
    26
  • bằng Python,
    seq = [1, 2, 3, 4] # using a tuple, but could also be a list
    a, b, *rest = seq # a=1, b=2, rest=[3, 4]
    a, *rest, b = seq # a=1, rest=[2, 3], b=4
    a, b, *rest = seq # a=1, b=2, rest=[3, 4]
    27

khối mã

Khối mã JavaScript được bao quanh bởi dấu ngoặc nhọn [

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
28]. Các câu lệnh dài có thể được chia thành nhiều dòng mà không bao gồm bất kỳ ký tự đặc biệt nào ở cuối các dòng ban đầu

Python sử dụng khoảng trắng ở đầu [thụt đầu dòng] để xác định dòng nào là một phần của cùng một khối. Tất cả các dòng liên tiếp có cùng thụt lề, bỏ qua các dòng trống, được coi là trong cùng một khối

Với mục đích xác định này, các ký tự tab được thay thế bằng khoảng trắng sao cho số lượng khoảng trắng là bội số của tám. Điều này rất quan trọng khi sử dụng hỗn hợp các tab và dấu cách, điều này không được khuyến nghị

Hướng dẫn kiểu Python khuyên bạn nên sử dụng bội số của bốn khoảng trắng để thụt đầu dòng và không sử dụng các ký tự tab. Câu lệnh dài có thể được chia thành nhiều dòng bằng cách thêm dấu gạch chéo ngược [

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
29] vào cuối tất cả trừ dòng cuối cùng khi không rõ câu lệnh đang tiếp tục

Logic có điều kiện

Trong cú pháp JavaScript dưới đây,

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
30 là viết tắt của "câu lệnh hoặc khối. " Nó có thể là một câu lệnh đơn hoặc một tập hợp các câu lệnh được bao quanh bởi dấu ngoặc nhọn

Một câu lệnh JavaScript

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
76 có thể chứa bất kỳ số lượng
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
32 phần nào

Một câu lệnh

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
76 của Python có thể chứa bất kỳ số lượng
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
34 phần nào. Các khối Python phải bắt đầu trên một dòng mới và được thụt vào

TopicJavaScriptPythonif
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
35
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
36if/else
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
37
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
38if/else if/else
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
39
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
40switch
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
41not supportedternary
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
42
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
43

Đây là một ví dụ về việc sử dụng câu lệnh ternary Python

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'

lặp lại

Như chúng ta sẽ thấy trong phần sau, JavaScript có thể lưu trữ các cặp khóa/giá trị trong các đối tượng đơn giản hoặc trong các thể hiện của lớp

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
53. Python sử dụng "từ điển" [hoặc dicts] để lưu trữ các cặp khóa/giá trị

TopicJavaScriptPythonclassic for loop
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
45
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
46over collection
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
47
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
48over object/dict keys
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
49
or
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
50
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
51over object/dict values
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
52
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
53over object/dict keys and values
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
54
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
55top-tested
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
56
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
57bottom-tested
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
58
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
59break out of closest loop
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
60samecontinue to next iteration
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
61same

Chức năng

Trong JavaScript, các hàm có thể được định nghĩa theo hai cách

// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};

Nếu một hàm ẩn danh có chính xác một đối số được đặt tên, thì dấu ngoặc đơn xung quanh nó là tùy chọn. Nếu một hàm ẩn danh chỉ trả về giá trị của một biểu thức, thì các dấu ngoặc nhọn quanh phần thân và từ khóa

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
62 là tùy chọn

Trong Python, hàm cũng có thể được định nghĩa theo hai cách

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression

Các hàm lambda trong Python chỉ có thể trả về giá trị của một biểu thức duy nhất. Chúng không thể chứa các câu lệnh bổ sung

Các hàm có tên Python có thể có một chuỗi tài liệu làm dòng đầu tiên của chúng. Điều này được sử dụng bởi các công cụ tạo tài liệu từ mã. Nó thường được phân định bằng ba dấu ngoặc kép

Để biết hướng dẫn về nội dung của chuỗi tài liệu, hãy xem trong Hướng dẫn Python và

Một chuỗi tài liệu tốt cho một chức năng trông giống như

    """Return the average of a sequence of numbers."""

JavaScript không hỗ trợ nạp chồng hàm khi cùng một tên hàm có thể được xác định nhiều lần với các số và/hoặc loại đối số khác nhau

Python hỗ trợ điều này theo nghĩa hạn chế bằng cách sử dụng trình trang trí

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
63 được xác định trong thư viện chuẩn

Chủ đềJavaScriptPythondefine tên_______231_______65
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
66xác định ẩn danh
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
67
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
68xác định ẩn danh với tham số duy nhất
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
69giống như trênxác định ẩn danh với biểu thức duy nhất
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
70giống như trênchỉ định giá trị tham số mặc định
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
71
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
72thu thập số biến của đối số_______73231
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
09 được đặt thành
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
41
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
76
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
09 được đặt thành đối số tập hợp bộ dữ liệu dưới dạng các cặp khóa/giá trị không được hỗ trợ
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
78
gọi với
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
79
hoặc
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
80sử dụng các đối số có tên/từ khóa
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
81
vượt qua một đối tượng "tùy chọn" giống như trên;
bất kỳ tham số nào có thể được chỉ định theo tên;
tính năng quan trọng
call with
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
79return a value
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
83
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
84default return value when no
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
62
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
63
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
65call
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
88sameget required argument count
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
89
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
90
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
91chuyển ít đối số hơn
các tham số vị trí còn lại được gán
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
63 dẫn đến lỗi truyền nhiều đối số hơn
các tham số vị trí không có tập hợp tất cả các đối số đều có sẵn trong đối tượng giống như mảng
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
93 kết quả trong một lỗi lấy tên_______231_______94
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
95lấy mã triển khai_______231_______96
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
97
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
98create partial
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
99
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
00 có thể là
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
64
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
02
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
03cuộc gọi
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
04
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
00 can be
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
64
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
07apply
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
08
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
00 có thể là
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
64
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
11mảng trải rộng cho đối số vị trí
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
12
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
13đối tượng trải rộng cho đối số từ khóakhông được hỗ trợ
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
14

trong Python

  • Các tham số hàm có giá trị mặc định phải tuân theo các tham số không có giá trị mặc định
  • Các tham số chức năng được liệt kê sau một tham số bắt đầu bằng
    import sys
     
    name = sys.argv[1] if len[sys.argv] > 1 else 'World'
     
    # This is a nice alternative.
    name = sys.argv[1] or 'World'
     
    # This syntax is NOT supported.
    name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
    15 phải được chỉ định theo tên
  • Đối số từ khóa thường được viết tắt là "kwargs" trong tài liệu
  • Chỉ có thể sử dụng hàm
    import sys
     
    name = sys.argv[1] if len[sys.argv] > 1 else 'World'
     
    # This is a nice alternative.
    name = sys.argv[1] or 'World'
     
    # This syntax is NOT supported.
    name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
    16 [hiển thị trong bảng trên] trên các hàm. Đối với các phương thức của một lớp, hãy sử dụng
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    24
  • Độ sâu đệ quy tối đa mặc định là 1000. Để thay đổi điều này, hãy gọi
    import sys
     
    name = sys.argv[1] if len[sys.argv] > 1 else 'World'
     
    # This is a nice alternative.
    name = sys.argv[1] or 'World'
     
    # This syntax is NOT supported.
    name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
    18

Thực hiện sau hoặc trong khoảng thời gian

Trong JavaScript, hàm

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
19 đăng ký một hàm sẽ được gọi sau một số mili giây trong tương lai. Ví dụ

function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];

Trong Python, điều tương tự có thể được thực hiện như sau

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]

Trong JavaScript, hàm

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
20 đăng ký một hàm được gọi lặp lại sau mỗi vài mili giây. Ví dụ

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
0

Trong Python không có tương đương đơn giản. Nhưng điều tương tự cũng có thể được thực hiện nếu chúng ta định nghĩa và sử dụng một lớp như sau

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
1

Chức năng không đồng bộ

Trong Trăn 3. 4+, các chức năng không đồng bộ được hỗ trợ bởi thư viện

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
2

Chủ đềJavaScriptPythondefine hàm có tên không đồng bộ
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
22
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
23xác định hàm ẩn danh không đồng bộ
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
24không được hỗ trợ cuộc gọi đồng bộ với
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
25
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
26
thường được bao bọc trong một khối
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
27
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
28cuộc gọi không đồng bộ với
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
29 và
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
30
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
31
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
32
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
33n/a

Trong JavaScript, các hàm async trả về một đối tượng

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
34

Dưới đây là một ví dụ về các tác vụ đang chạy cần một lượng thời gian mô phỏng để hoàn thành. Cái đầu tiên mất 3 giây, cái thứ hai mất 2 giây và cái thứ ba mất 1. Mỗi tác vụ xuất thông báo "bắt đầu" ngay lập tức. Các thông báo "kết thúc" xuất hiện theo thứ tự ngược lại do thời lượng ngủ khác nhau của chúng

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
2

đầu ra là

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
3

Trong Trăn 3. 4, thư viện asyncio đã được thêm vào. Nó có thể được sử dụng để tạo các coroutine tương tự như JavaScript Promises. Ngôn ngữ Python không cung cấp tương đương với lời hứa JavaScript, nhưng các thư viện thì có

Đây là một triển khai của ví dụ JavaScript trước đó trong Python tạo ra cùng một đầu ra

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
4

Các lớp học

TopicJavaScriptPythondefine
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
35
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
36inheritance
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
37
chỉ thừa kế duy nhất được hỗ trợ
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
38
đa thừa kế được hỗ trợconstructor
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
39
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
40khởi tạo [tạo cá thể]
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
41
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
42khai báo tài sản cá thểkhông được khai báo;
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
56cuộc gọi phương thức tĩnh/lớp
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
57
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
57 hoặc
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
59

Ngoài trình trang trí

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
55, Python cũng hỗ trợ trình trang trí
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
61. Sự khác biệt là các phương thức được định nghĩa với cái sau được truyền vào lớp làm đối số đầu tiên

Đây là một ví dụ về một lớp JavaScript

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
5

đầu ra là

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
6

Đây là cùng một lớp được triển khai trong Python

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
7

Đầu ra giống như trên

Lưu ý cách trong Python, tham số đầu tiên trong tất cả các phương thức cá thể phải là

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
44

Đây là một hàm JavaScript nhận một lớp và in hệ thống phân cấp thừa kế của nó

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
8

Đây là một hàm Python để làm điều tương tự

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
9

Chức năng tích hợp sẵn

JavaScript cung cấp một số lượng nhỏ [9] hàm dựng sẵn. Python cung cấp nhiều hơn nữa [68]. Các bảng dưới đây tóm tắt những

Thường thì một trong các ngôn ngữ không có chức năng tương đương với ngôn ngữ kia, vì vậy ngôn ngữ thay thế gần nhất được hiển thị thay thế

Mô tả bên dưới bắt đầu bằng "xác định nếu" có nghĩa là giá trị Boolean được trả về

Hàm tích hợp Python Mô tả Tương đương với JavaScript gần nhất
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
63trả về giá trị tuyệt đối
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
64
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
65xác định xem tất cả các phần tử có phải là
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
28
trong ngữ cảnh Boolean
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
67
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
68xác định xem có phần tử nào là
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
28
trong ngữ cảnh Boolean
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
70
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
71giống như
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
72, nhưng thoát khỏi các ký tự không phải ASCIIkhông được hỗ trợ
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
73chuyển đổi số nguyên thành chuỗi nhị phânkhông được hỗ trợ
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
74chuyển đổi giá trị thành Boolean
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
75
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
76phá vỡ thực thi và
rơi vào trình gỡ lỗi
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
77
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
78trả về một mảng mới bytesuse
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
79 với các lớp mảng đã nhập
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
80trả về một đối tượng
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
81
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
79 với các lớp mảng đã nhập
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
83xác định xem x có thể gọi được không [một hàm]
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
84
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
85trả về biểu diễn chuỗi
của một điểm mã Unicode_______277_______86
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
87biên dịch nguồn thành mã/đối tượng AST
mà có thể được chuyển đến
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
88 hoặc
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
89không được hỗ trợ
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
90tạo một số phức
từ các phần thực và ảokhông được hỗ trợ
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
91xóa một thuộc tính khỏi một đối tượng
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
92
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
93tạo một từ điển
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
94 hoặc
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
95
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
96trả về một danh sách các tên đã xác định
trong phạm vi hiện tại hoặc một đối tượng
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
97
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
98return tuple của thương và phần còn lại
của
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
99 chia cho
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
00
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
01 và
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
02
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
03trả về danh sách các bộ chứa mỗi bộ chứa
một chỉ mục và giá trị từ một iterable
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
04
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
05đánh giá một biểu thức mã duy nhất
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
05
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
07thực hiện bất kỳ số dòng mã nào
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
05
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
09trả về iterator trên các giá trị trong iterable
trong đó hàm vị ngữ trả về true_______296_______10
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
11trả về số dấu phẩy động
được tạo từ một số hoặc chuỗi
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
12____296_______13trả về chuỗi được tạo bằng cách định dạng một giá trị
sử dụng một chuỗi định dạng sử dụng mẫu văn bản ____296_______14 trả về đối tượng
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
15 [bộ bất biến]
created from iterable
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
16
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
17returns attribute value
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
18
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
19returns dictionary containing the
bảng biểu tượng toàn cầu hiện tại không được hỗ trợ
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
20xác định xem đối tượng có thuộc tính đã cho
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
21
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
22trả về giá trị băm của đối tượngkhông được hỗ trợ
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
23gọi hệ thống trợ giúp Python tích hợp,
thông thường trong REPLkhông được hỗ trợ
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
24chuyển đổi số nguyên thành hex
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
25
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
26trả về danh tính của một đối tượngkhông được hỗ trợ
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
27đọc từ thiết bị xuất chuẩn với dấu nhắc tùy chọn sử dụng mô-đun Node
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
28
Phương thức
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
29
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
30trả về một số nguyên được tạo từ
một số hoặc chuỗi_______296_______31
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
32xác định xem một đối tượng có
một thể hiện của một lớp nhất định
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
33
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
34xác định xem
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
35 có phải là
một lớp con của
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
36
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
37
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
38 trả về một trình vòng lặp trên các phần tử
của một bộ sưu tập [xem
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
39]
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
40
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
41trả về số mục trong một bộ sưu tập
hoặc các ký tự trong một chuỗi
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
42
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
43xây dựng một danh sách từ một iterable
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
44
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
45trả về từ điển có chứa
bảng ký hiệu cục bộ hiện tạikhông được hỗ trợ
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
46trả về trình vòng lặp trên các giá trị được trả về bởi
chức năng gọi trên mỗi phần tử có thể lặp lại_______296_______47
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
48 hoặc
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
49trả về giá trị lớn nhất của đối số
hoặc trong một iterable
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
50 hoặc
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
51
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
52 trả về một
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
53 cho một đối tượng
hỗ trợ giao thức bộ đệmkhông được hỗ trợ
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
54 hoặc
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
55trả về giá trị lớn nhất của các đối số
hoặc trong một iterable
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
56 hoặc
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
57
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
58lấy mục tiếp theo từ một trình vòng lặp
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
59
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
60tạo một đối tượng trống, không có gì đặc biệt;
không thể thêm thuộc tính;
đọc, viết hoặc nối thêmxem mô-đun Node fs
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
65trả về điểm mã Unicode
đối với ký tự Unicode
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
66
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
67 hoặc
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
68cơ số trả về được nâng lên thành lũy thừa kinh nghiệm
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
67 hoặc
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
70_______296_______71in các giá trị biểu thức được phân tách bằng dấu cách
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
72
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
73trả về một thuộc tính thuộc tính đóng gói
nhận, thiết lập và xóa các chức năngkhông được hỗ trợ_______296_______74 hoặc
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
50trả về một đối tượng
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
49
đó là một chuỗi bất biếnkhông được hỗ trợ
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
77trả về một chuỗi đại diện
của một đối tượng dành cho nhà phát triển
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
78
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
79trả về một trình vòng lặp để lặp lại
qua một chuỗi theo thứ tự đảo ngượckhông được hỗ trợ____296_______80
trả về
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
32 hoặc
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
31 trả về một số được làm tròn thành
một số điểm thập phân
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
83
trả về chuỗi
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
84tạo đối tượng
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
58
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
57
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
87đặt thuộc tính của đối tượng
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
88
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
89 hoặc
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
90trả về một đối tượng
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
91 mà
mô tả một tập hợp các chỉ số;
được sử dụng để truy xuất dữ liệu tại các chỉ mục không được hỗ trợ
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
92trả về một phiên bản đã sắp xếp
của một iterable dưới dạng
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
45_______296_______94
sắp xếp tại chỗ
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
95trả về một chuỗi mà con người có thể đọc được
đại diện của một đối tượng
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
78
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
97trả về tổng của
số trong một iterable
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
98
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
99trả về một đối tượng proxy cho
gọi các phương thức siêu lớp
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
00 từ khóa
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
01tạo một tuple, tùy chọn
được điền từ một iterablekhông được hỗ trợ
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
02 trả về đối tượng lớp trả về loại giá trị
const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
83 trả về chuỗi
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
04 là hàm tạo_______298_______05trả về chế độ xem
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
54 của
các thuộc tính trong một đối tượng không được hỗ trợ_______298_______07trả về một trình vòng lặp tổng hợp
các phần tử từ nhiều lần lặp không được tích hợp sẵn;
có thể sử dụng chức năng Lodash
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
08 Chức năng tích hợp JavaScript Mô tả Tương đương với Python gần nhất
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
09giải mã một URL [ngược lại với
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
10]
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
11
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
12giải mã một thành phần của URI
[đối diện với
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
13]
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
11
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
15 mã hóa một URI, thay thế các ký tự nhất định
[không phải /, #, ?, =, và những thứ khác]
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
16
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
17mã hóa một thành phần của URI,
thay thế các ký tự nhất định
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
18
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
05thực hiện bất kỳ số dòng mã nào
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
07
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
21xác định nếu x là một số hữu hạn
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
22
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
23xác định x trong giá trị "không phải là số"
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
24
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
12trả về số dấu phẩy động
được tạo từ một số hoặc chuỗi
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
11
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
31trả về một số nguyên được tạo từ
một số hoặc chuỗi______296_______30

Các hàm JavaScript

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
29 và
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
30 có thể xử lý các chuỗi chứa các ký tự bổ sung sau các ký tự trong số. Ví dụ,
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
31 trả về số
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
32. Các hàm
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
32 và
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
31 của Python không hỗ trợ điều này

Hoạt động Boolean

OperationJavaScriptPythonand
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
35
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
36or
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
37
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
38not
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
39
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
40bitwise and
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
41samebitwise or
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
42samebitwise not
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
43samebitwise xor
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
44same

Phép toán số

OperationJavaScriptPythonbasic
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
45,
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
46,
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
15,
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
48sameexponentiation
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
49sameincrement
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
50 [pre] or
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
51 [post]
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
52decrement
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
53 [pre] or
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
54 [post]
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
55mod [remainder]
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
56sameconvert to string
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
57
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
58convert from string to integer
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
59 or
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
60
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
61convert from string to float
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
59 or
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
63
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
64convert to string with fixed decimals [ex. 2]
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
65_______298_______66chuyển đổi sang hex
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
25
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
24chuyển đổi từ hex
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
69
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
70constantssee
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
71 và
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
72 global objectsee
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
73 modulefunctionssee
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
71 và
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
71 and
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
72 global objectsee
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
73 modulefunctionssee
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
71 và
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
72 global objectsee
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
73

phép toán

Các hằng số và hàm ít được sử dụng hơn được bỏ qua trong bảng bên dưới

Để sử dụng các hàm Python,

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
77

Hoạt độngJavaScriptPythonagiá trị tuyệt đối
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
64
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
79arc cos
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
80
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
81arc sin
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
82
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
83arc tangent
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
84
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
85ceiling
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
86
# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
87closenot98 của các mục k__87 tích hợp sẵn;

JavaScript có thể sử dụng các hàm sau để tính toán một số giá trị được đánh dấu là "không tích hợp sẵn" trong bảng trên

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
0

Mô-đun Python

    """Return the average of a sequence of numbers."""
53 cũng cung cấp

  •     """Return the average of a sequence of numbers."""
    54 trả về một phần tử ngẫu nhiên từ một chuỗi
  •     """Return the average of a sequence of numbers."""
    55 xáo trộn một trình tự tại chỗ
  • và nhiều hơn nữa

Hoạt động chuỗi

OperationJavaScriptPythonliteral single line
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
34 or
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
35sameliteral multi-line
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
36
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
37 or
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
38length
    """Return the average of a sequence of numbers."""
61
    """Return the average of a sequence of numbers."""
62concatenate
    """Return the average of a sequence of numbers."""
63
    """Return the average of a sequence of numbers."""
64 or
    """Return the average of a sequence of numbers."""
65 with only a space between themlowercase
    """Return the average of a sequence of numbers."""
66
    """Return the average of a sequence of numbers."""
67uppercase
    """Return the average of a sequence of numbers."""
68
    """Return the average of a sequence of numbers."""
69substring
    """Return the average of a sequence of numbers."""
70
    """Return the average of a sequence of numbers."""
71 or
    """Return the average of a sequence of numbers."""
72 or
    """Return the average of a sequence of numbers."""
73slicelike
    """Return the average of a sequence of numbers."""
74, but supports negative indexessame as abovesplit
    """Return the average of a sequence of numbers."""
75 returns array
    """Return the average of a sequence of numbers."""
75 returns liststarts with
    """Return the average of a sequence of numbers."""
77 returns Boolean
    """Return the average of a sequence of numbers."""
78 returns Booleanends with
    """Return the average of a sequence of numbers."""
79 returns Boolean
    """Return the average of a sequence of numbers."""
80 returns Booleancontains
    """Return the average of a sequence of numbers."""
81 returns Boolean
    """Return the average of a sequence of numbers."""
82 returns Booleanindex of
    """Return the average of a sequence of numbers."""
83 returns number
    """Return the average of a sequence of numbers."""
84 returns intlast index of
    """Return the average of a sequence of numbers."""
85 returns number
    """Return the average of a sequence of numbers."""
86 returns intcompare
    """Return the average of a sequence of numbers."""
87 returns -
    """Return the average of a sequence of numbers."""
89
returns negative, zero, or positiveremove prefixnot supported
    """Return the average of a sequence of numbers."""
90remove suffixnot supported
    """Return the average of a sequence of numbers."""
91replace first
    """Return the average of a sequence of numbers."""
92
    """Return the average of a sequence of numbers."""
93replace all
    """Return the average of a sequence of numbers."""
94
    """Return the average of a sequence of numbers."""
95trim start
    """Return the average of a sequence of numbers."""
96
    """Return the average of a sequence of numbers."""
97trim end
    """Return the average of a sequence of numbers."""
98
    """Return the average of a sequence of numbers."""
99trim both ends
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
00
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
01repeat n times
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
02
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
03 or
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
04

trình tự

JavaScript lưu trữ các chuỗi giá trị trong mảng

Python chủ yếu sử dụng bốn loại trình tự, 

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
45,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
47,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
49 và
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
58, cho mục đích này

  • Danh sách Python có thể thay đổi và thường đồng nhất [các phần tử có cùng loại]
  • Các bộ dữ liệu Python là bất biến và thường không đồng nhất [các phần tử có thể có các loại khác nhau]
  • Phạm vi Python là dãy số bất biến và thường được sử dụng trong vòng lặp
    function myFunction[p1, p2] {
      console.log['myFunction: p1 =', p1, 'p2 =', p2];
    }
     
    // Call function above after one second.
    const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
    if [tiredOfWaiting] clearTimeout[id1];
    09
  • Các bộ Python là các chuỗi có thể thay đổi không cho phép các giá trị trùng lặp và thường đồng nhất

Để tạo một mảng JavaScript

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
1

Để tạo một Python

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
45

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
2

Để tạo một Python

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
47

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
3

Để tạo một Python

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
49

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
4

Để tạo một Python

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
58

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
5

Tất cả các loại này có thể được lồng vào nhau. Ví dụ: các phần tử của danh sách có thể là các bộ và các phần tử của một bộ có thể là các phạm vi. Một ngoại lệ là các phần tử của một phạm vi chỉ có thể là số nguyên

Một bộ dữ liệu được đặt tên cung cấp tên cho một loại bộ dữ liệu và hỗ trợ truy cập các phần tử trong các phiên bản theo tên và chỉ mục. Ví dụ

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
6

OperationJavaScriptPythonis array/sequence

function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
14
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
15
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
16
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
17
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
18
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
19thêm vào cuối
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
20
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
21 để thêm một và
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
22 to add more than oneremove from end
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
23
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
24add to start
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
25
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
26remove from start
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
27
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
28insert
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
29
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
30remove item at index
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
31
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
32 - only for listsremove items at index range
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
33
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
34 - only for listsremove value
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
35
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
36 - error if not foundremove all
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
37
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
38change
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
39combine
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
40 and
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
41 abovelength
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
42
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
43lookup
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
44
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
45subset
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
46
có thể bỏ qua kết thúc và bắt đầu và
có thể sử dụng chỉ số âm để đếm từ cuối
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
47
có thể bỏ qua bắt đầu và/hoặc kết thúc và
có thể sử dụng các chỉ mục phủ định để đếm từ endconcatenate_______9_______48
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
49bản sao [nông]_______9_______50 hoặc
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
51
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
52 - chỉ dành cho danh sáchtìm_______9_______53
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
54 - xem ghi chú bên dưới chỉ mục tìm bảng này_______9_______55
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
56 - xem ghi chú bên dưới bảng này lặp lại trên
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
57 hoặc
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
58_______9_______59 hoặc
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
60lặp qua đảo ngượclặp lại trên
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
61
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
62lặp lại theo thứ tự đã sắp xếptạo một bản sao được sắp xếp và lặp lại trên nó
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
63bao gồm [Boolean]
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
64
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
65không bao gồm [Boolean]
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
66
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
67chỉ mục của
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
68
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
69chỉ mục cuối cùng của_______9_______70không được tích hợp sẵn;
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
81một số/bất kỳ [Boolean]
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
70 - đoản mạch
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
83 - không đoản mạchmọi/tất cả [Boolean]
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
67 - đoản mạch
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
85 - phân loại không đoản mạch
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
86
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
87 là hàm so sánh hai phần tử
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
88
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
89 là tên thuộc tính hoặc chức năng nhận
một phần tử và trả về một giá trị để sắp xếp ngược lại_______9_______61
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
91 - chỉ dành cho cấu trúc danh sách/giải nén
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
92
# biến bên trái có thể khác với # phần tử mảng
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
93
# biến bên trái phải khớp với # phần tử dãy
giới hạn tính hữu ích

Python không có cách đơn giản, tích hợp sẵn để tìm mục đầu tiên trong danh sách phù hợp với một số tiêu chí. Cách tiếp cận ngây thơ này có lẽ là hiệu quả nhất

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
7

Các hàm

function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
94 và
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
95 của Python lười biếng, có nghĩa là chúng không được thực thi cho đến khi cần kết quả của chúng. Để nhận các giá trị từ chúng, hãy lặp lại chuyển kết quả cho
// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
39 hoặc chuyển kết quả cho một hàm như
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
45 hoặc
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
58 để nhận tất cả các giá trị

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
8

Phương thức chuỗi

function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
99 có thể lặp lại trên các chuỗi. Để nối các giá trị không phải chuỗi, hãy sử dụng hàm
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
95 và hàm
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
01 để chuyển đổi giá trị thành chuỗi. Ví dụ

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
9

JavaScript có thể triển khai các hàm lười biếng bằng cách sử dụng các hàm tạo [xem phần này], nhưng không có hàm tạo tích hợp nào được cung cấp

Sắp xếp

Giả sử chúng ta có một chuỗi các đối tượng đại diện cho mọi người và chúng ta muốn sắp xếp chuỗi theo họ theo sau tên

Đây là cách điều này có thể được thực hiện trong JavaScript

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
0

Đây là cách điều này có thể được thực hiện trong Python

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
1

Liệt kê các hiểu biết

Python hỗ trợ khả năng hiểu danh sách để tạo danh sách, nhưng JavaScript thì không. Dưới đây là một số ví dụ

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
2

Các hàm tạo JavaScript có thể được sử dụng để làm điều tương tự, nhưng một số hàm tạo tiện ích phải được viết

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
3

Python cũng hỗ trợ các hàm tạo và từ khóa

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
02. Ví dụ JavaScript ở trên có thể được triển khai như sau trong Python

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
4

bộ

Bộ là bộ sưu tập không có thứ tự không có giá trị trùng lặp

OperationJavaScriptPythonis set
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
03
function myFunction[p1, p2] {
  console.log['myFunction: p1 =', p1, 'p2 =', p2];
}
 
// Call function above after one second.
const id1 = setTimeout[[] => myFunction['arg1', 'arg2'], 1000];
if [tiredOfWaiting] clearTimeout[id1];
19create
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
05 - cannot specify elements
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
06 or
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
07add
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
08sameremove
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
09
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
10remove all
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
11samelength
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
12
    """Return the average of a sequence of numbers."""
62includes
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
14
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
15iterate over
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
16
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
17convert to array/list
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
18
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
19

Đặt mức độ hiểu

Python hỗ trợ khả năng hiểu tập hợp để tạo tập hợp, nhưng JavaScript thì không. Đây là một ví dụ

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
5

Bộ sưu tập khóa/giá trị

JavaScript sử dụng các đối tượng đơn giản hoặc các phiên bản của lớp

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
53 để lưu trữ các liên kết giữa khóa và giá trị. Khóa trong đối tượng JavaScript phải là chuỗi, số nguyên hoặc ký hiệu, nhưng khóa trong phiên bản
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
53 có thể là bất kỳ loại nào

OperationJavaScript ObjectJavaScript Mapis object/dict
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
22
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
23create
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
24
có thể bao gồm các cặp khóa/giá trị ban đầu_______19_______25
không thể chỉ định cặp khóa/giá trị ban đầu, độ dài_______19_______26
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
27đặt giá trị của khóa
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
28 hoặc
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
29
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
30lấy giá trị của khóa
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
31 hoặc
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
32
sử dụng biểu mẫu thứ 2 nếu khóa chứa các ký tự đặc biệt_______19_______33lấy tất cả các khóa
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
97
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
35lấy tất cả các giá trị
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
36
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
37lấy tất cả các cặp
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
38
trả về mảng gồm các mảng chứa khóa và giá trị____19_______39
trả về cùng một bài kiểm tra nếu có khóa_______19_______40 hoặc
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
41
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
42xóa cặp
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
43 hoặc
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
44
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
45xóa tất cả các cặp
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
46
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
47lặp lại các khóa
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
50 hoặc
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
49_______19_______50

Python sử dụng từ điển để lưu trữ các liên kết giữa khóa và giá trị. Các khóa phải là các loại bất biến như chuỗi, số và bộ dữ liệu chứa các khóa này

OperationPythonis dict
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
51create
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
52
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
53
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
54độ dài
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
55đặt giá trị của khóa
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
56lấy giá trị của khóa
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
57 hoặc
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
58
lỗi nếu khóa không tồn tạinhận tất cả các khóa
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
59 hoặc
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
60 hoặc
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
61 để lấy khóa theo thứ tự đã sắp xếplấy tất cả các giá trị
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
62lấy tất cả các cặp
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
63
trả về một chế độ xem trực tiếp cung cấp một
chuỗi các bộ chứa khóa và giá trịkiểm tra nếu có khóa
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
64kiểm tra nếu không có khóa
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
65xóa cặp
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
66xóa tất cả các cặp
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
67lặp lại
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
68

Trăn 3. 9 đã thêm các toán tử

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
69 và
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
70 để hợp nhất các đối tượng dict

Tạo một đối tượng từ điển

Có bốn cách để tạo từ điển Python

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
6

Biểu thức chính quy

Trong JavaScript, biểu thức chính quy là một loại tích hợp sẵn. Một thể hiện có thể được tạo theo hai cách

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
7

Trong Python, nhập mô-đun

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
71 để sử dụng các biểu thức chính quy. Những cái sẽ được sử dụng nhiều lần nên được biên dịch. Nếu không, chúng có thể được sử dụng nội tuyến

Ví dụ sau minh họa hai cách mà mọi phương thức biểu thức chính quy có thể được sử dụng, gọi nó trên mô-đun

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
71 hoặc trên một biểu thức chính quy được biên dịch

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
8

OperationJavaScriptPythoncreate

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
73 or
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
74_______19_______75
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
76kiểm tra xem một chuỗi có khớp với
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
77
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
78
trả về một đối tượng khớp hoặc
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
65 nếu không khớplấy kết quả khớp đầu tiên
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
80giống như trên nhận tất cả kết quả khớp
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
81 hoặc
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
82
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
83
trả về một chuỗi đối sánh có thể lặp lại đối sánh trên re
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
84
trả về một mảng các chuỗi
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
85
trả về một danh sách các chuỗi

Các đối tượng đối sánh Python hỗ trợ các phương thức sau

  • import threading
     
    def my_function[p1, p2]:
        print['my_function: p1 =', p1, 'p2 =', p2]
     
    # The Timer function takes the number of seconds to wait,
    # the function to call, and a tuple of arguments to be passed.
    t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
    t.start[]
    if tired_of_waiting:
        t.cancel[]
    86 – trả về chuỗi phù hợp
  • import threading
     
    def my_function[p1, p2]:
        print['my_function: p1 =', p1, 'p2 =', p2]
     
    # The Timer function takes the number of seconds to wait,
    # the function to call, and a tuple of arguments to be passed.
    t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
    t.start[]
    if tired_of_waiting:
        t.cancel[]
    87 – trả về chỉ số bắt đầu của trận đấu [bao gồm]
  • import threading
     
    def my_function[p1, p2]:
        print['my_function: p1 =', p1, 'p2 =', p2]
     
    # The Timer function takes the number of seconds to wait,
    # the function to call, and a tuple of arguments to be passed.
    t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
    t.start[]
    if tired_of_waiting:
        t.cancel[]
    88 – trả về chỉ số kết thúc của trận đấu [độc quyền]
  • import threading
     
    def my_function[p1, p2]:
        print['my_function: p1 =', p1, 'p2 =', p2]
     
    # The Timer function takes the number of seconds to wait,
    # the function to call, and a tuple of arguments to be passed.
    t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
    t.start[]
    if tired_of_waiting:
        t.cancel[]
    89 – trả về một bộ chứa chỉ mục bắt đầu và kết thúc

Để biết thêm thông tin về hỗ trợ biểu thức chính quy trong Python, hãy xem Tài liệu thư viện chuẩn Python

Xử lý lỗi

Python coi lỗi là ngoại lệ

OperationJavaScriptPythonthrow
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
90
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
91catch
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
92
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
93rethrow
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
94
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
95

trong JavaScript

seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
9

trong Python

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
0

Để bỏ qua một ngoại lệ trong Python, hãy bao gồm câu lệnh

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
96 trong khối
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
97

Có nhiều lớp ngoại lệ Python tích hợp. Lớp cơ sở của tất cả chúng là

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
98. Tên của các lớp ngoại lệ tích hợp kết thúc bằng "Lỗi. " Để biết danh sách chúng, hãy xem Ngoại lệ tích hợp

Tên của các lớp ngoại lệ tùy chỉnh cũng phải kết thúc bằng "Lỗi. " Đây là một ví dụ về cách xác định một

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
1

Thoát với trạng thái

Cả hai chương trình JavaScript chạy trong Node. js và các chương trình Python có thể thoát và đặt mã trạng thái một cách rõ ràng

trong nút. js, phương thức

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
99 của đối tượng toàn cầu
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
000 được sử dụng

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
2

Trong Python, phương thức

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
99 của mô-đun
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
002 được sử dụng

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
3

Trong cả hai trường hợp, nếu không có mã trạng thái nào được cung cấp, nó sẽ mặc định bằng 0

JSON

Trong Python, để sử dụng các phương thức JSON bao gồm

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
003

OperationJavaScriptPythoncreate
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
004
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
005parse
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
006
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
007

Viết và đọc tệp

Nút. js và Python đều có thể đọc và ghi các tệp chứa dữ liệu văn bản hoặc nhị phân

Một trường hợp cần xem xét là khi tệp có thể dễ dàng nằm gọn trong bộ nhớ. Chúng ta sẽ xem một ví dụ sử dụng JSON thể hiện điều này. Một trường hợp khác là khi nó không thể và do đó phải được xử lý bằng các luồng, có thể là một dòng tại một thời điểm. Chúng ta sẽ xem một ví dụ sử dụng CSV thể hiện điều này

Viết và đọc các tệp nhỏ

Hãy viết một tệp JSON và sau đó đọc lại để xác minh rằng nó đã hoạt động

Đây là một phiên bản JavaScript. Lưu ý rằng nó sử dụng các trạng thái chờ cấp cao nhất, yêu cầu mã phải nằm trong mô-đun ES. Một cách để đáp ứng điều này là cung cấp cho tệp một phần mở rộng tệp

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
4

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
4

And here is a Python version

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
5

Writing and Reading Large Files

Let's write a CSV file and then read it back in to verify that it worked. Rather than write the entire file at once, we will write one line at a time. Likewise we will read the file one line at a time

Here is a JavaScript version

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
6

And here is a Python version

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
7

Shell Commands

JavaScript code running in Node. js can execute shell commands, provide input to them, and capture output written to stdout and stderr

In the example code below we execute the

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
009 command to get the status of all currently running processes and then output the process id [pid] and running time of all "node" processes

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
8

Here is a Python version that does the same

import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
9

Decorators

Python supports decorators, which are annotations placed before functions and classes to alter their behavior. The TC39 committee that controls the ECMAScript standard for JavaScript has been discussing adding decorators for many years, but they have not yet been added

Here is a simple example of a decorator that logs the arguments and return value of every invocation value of functions to which it is applied

// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
0

The built-in Python decorators include

  • import sys
     
    name = sys.argv[1] if len[sys.argv] > 1 else 'World'
     
    # This is a nice alternative.
    name = sys.argv[1] or 'World'
     
    # This syntax is NOT supported.
    name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
    61 This transforms a method into a class method which receives a class object as its first parameter and can use it to access class state
  • from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    011 This defines getter, setter, and deleter methods for a class instance property
  • import sys
     
    name = sys.argv[1] if len[sys.argv] > 1 else 'World'
     
    # This is a nice alternative.
    name = sys.argv[1] or 'World'
     
    # This syntax is NOT supported.
    name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
    55 This transforms a method into a static method which does not receive a class object as its first parameter and cannot access class state. It is useful for utility functions

For more information, see

Check for Running as Main

Some source files can be used as both the starting point of a script and a module imported by others. To include code that is run only when the file is executed as a script, wrap it in one of the following

const arr = [1, 2, 3, 4];
[a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
76 statements

In Node. js, use

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
014

In Python, use

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
015

HTTP Servers

HTTP servers can be implemented in both Node. js và Python

  • In Node. js, a popular option is to use the Express package
  • In Python, popular options include Flask and FastAPI

To demonstrate these options, we will implement HTTP servers that

  • serve static files in a "public" directory
  • implement REST services that provide CRUD operations on a collection of dogs

The collection of dogs could be persisted to a database, but we will just hold them in memory in a key/value collection where the keys are dog ids and the values are dog objects that have id, breed, and name properties

We want the servers to

  • provide request logging
  • support cross-origin resource sharing [CORS], so web apps that are served from a different domain can invoke them
  • handle
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    016 requests by returning all the dogs as JSON
  • handle
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    017 requests by adding the dog described in the request body
  • handle
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    018 requests by updating the dog with the given id using the data in the request body
  • handle
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    019 requests by deleting the dog with the given id

JavaScript Express REST Server

  1. Create a directory for the project and cd to it

  2. Create a

    const arr = [1, 2, 3, 4];
    [a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
    10 file for the project by entering
    const arr = [1, 2, 3, 4];
    [a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
    11 and answering the questions it asks

  3. Install the required dependencies by entering

    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    022 and
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    023

  4. Replace the "test" script in

    const arr = [1, 2, 3, 4];
    [a, b, ...rest] = arr; // a=1, b=2, rest=[3, 4]
    10 with
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    025. The
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    026 command provides automatic file watch and server restart

  5. Create the file

    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    027 containing the following

// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
1

  1. Run the server by entering
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    028

Python Flask REST Server

Key benefits of Flask are

  • ability to implement REST APIs
  • server-side HTML generation
  • provided request logging
  • provided file watch and server restart
  1. Install the required dependencies by entering
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    029. Flask-CORS supports enabling CORS in Flask servers
  2. If running in a UNIX environment, create the script file
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    030 shown below and make it executable by entering
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    031

// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
2

  1. Setting
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    032 to
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    033 provides automatic file watch and server restart
  2. If running in Windows, create a similar
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    034 file
  1. Create the file
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    035 containing the following

// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
3

  1. Run the server by entering
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    036

Python FastAPI REST Server

Key benefits of FastAPI are

  • type validation of request/response bodies and path/query parameters
  • automatic generation of Open API documentation
  • provided request logging
  • provided CORS middleware
  • provided file watch and server restart
  1. Install the required dependencies by entering
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    037
  2. Create the file
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    035 containing the following

// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
4

  1. Run the server by entering
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    039. Including the
    from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    040 option provides automatic file watch and server restart
  2. Check out the Open API docs that are provided for free. Browse localhost. 1919/docs to see API documentation and try each API from the browser

HTTP Clients

JavaScript applications often use the Fetch API to send HTTP requests. This is built into modern web browsers and can be used in Node applications by installing the

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
041 package with
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
042

Here is an example were we fetch an image of a given dog breed

// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
5

Python applications often use the

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
043 package to send HTTP requests. Nó có thể được cài đặt bằng cách nhập
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
044

Here is the same example using Python

// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
6

Python Magic Methods

Python magic methods support many operations on classes and class instances. These include operator overloading

The following table provides a categorized, partial list of the magic methods that a Python class can implement

MethodParametersPurposeObject Lifecycle
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
045cls, . creates a new object
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
046self, . initializes a new object
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
047selfdestroys an object
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
048self, namecan be used to implement the "method missing" pattern
[see example below]String Representation
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
049selfreturns a string representations useful to developers
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
050selfreturns a string representation useful to usersComparisons
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
051self, otherdetermines if this object is equal to another
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
052self, otherdetermines if this object is not equal to another
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
053self, otherdetermines if this object is < another
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
054self, otherdetermines if this object is another
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
056self, otherdetermines if this object is >= to anotheralso see
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
057List-like Operations
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
058self, keygets an item from a list by index
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
059self, key, valuesets an item in a list by index
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
060self, keydeletes an item from a list by index
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
061selfreturns an iterator
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
062self, itemdetermines if a given item is containedDict Operations
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
063self, keyreturns value to use when key is not present
class must inherit from
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
54Math Operations
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
065self, otheradds an object to another
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
066self, othersubtracts an object from another
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
067self, othermultiplies an object by another
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
068self, otherdivides an object by another
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
069self, othermods an object by anotherPickling [serialization]
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
070selfpickles an object
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
071selfunpickles an objectOther
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
072self, . treats an object as a function; can change state

The "method missing" pattern supports calling non-existent methods on an object and inferring meaning at runtime. This is frequently used in the "Ruby on Rails" framework in the implementation of "Active Record. "

Ví dụ: giả sử chúng ta muốn triển khai một lớp có các đối tượng hỗ trợ các phương thức có tên bắt đầu bằng "add" và kết thúc bằng một số. These methods accept another number as an argument and return the sum of the numbers. This could be implemented as follows

// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
7

In most cases, using normal methods and parameters instead of the

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
073 method results in code that is easier to understand and maintain

JavaScript có thể làm điều gì đó tương tự bằng cách sử dụng "proxy. "

// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
8

các loại

Để kiểm tra kiểu cho JavaScript, hãy sử dụng trình biên dịch TypeScript. TypeScript is a superset of JavaScript that adds types

Two popular tools that provide type checking on Python source files are mypy and Pyright

The remainder of this section focuses on Python type checking

Python type specifications are referred to as "type hints. " The

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
07 interpreter ignores type hints, but they make startup time take slightly longer. They are useful as documentation, even without using a type checker. IDEs can use them to flag type issues

The primitive types supported are

Type NameMeaning
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
075Boolean
import sys
 
name = sys.argv[1] if len[sys.argv] > 1 else 'World'
 
# This is a nice alternative.
name = sys.argv[1] or 'World'
 
# This syntax is NOT supported.
name = len[sys.argv] > 1 ? sys.argv[1] : 'World'
81immutable sequence of integers from 0 to 255
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
33complex number with
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
32 real and imaginary parts
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
32double precision floating point number
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
31unlimited precision integer
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
01string

The collection types supported are

Type NameMeaning
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
082dict with keys of type KT and values of type VT
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
083list with elements of type T
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
084any kind of sequence whose elements are all of type T
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
085set with elements of type T
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
086tuple whose elements have specified types

Other types supported are

Type NameMeaning
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
087any valueany class nameinstance of the class or instance of a subclass
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
088function that takes parameters of types P1, P2, . and returns type RT
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
089function that takes any parameters and returns type RT
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
090generator function;
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
091 and
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
092 can be
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
65
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
094named tuple where elements have types T1, T2, .
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
095matches
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
65 or the type T
same as
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
097
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
098matches a class object for class C or a subclass
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
099matches any of the specified types

All types above whose names begin with a capital letter must be imported from the "typing" module. For example,

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
100. Python 3. 9 is supposed to make this unnecessary, but perhaps mypy does not yet support the new type syntax

The

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
101 type can be used in collection types to allow elements to have a set of types

Aliases can be defined for long type descriptions. This is useful when the same type description is used in many places. For example,

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
102

To add a "type hint" to a variable or function parameter, follow its name with a colon, a space, and the type

To add a return type hint to a function, follow the argument list right parenthesis with

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
103 and the type

For example, if

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
104 is a class we have defined

// Named function
function myFn[p1, p2, ...] {
  body
}
 
// Anonymous function [a.k.a. arrow function]
const myFn = [p1, p2, ...] => {
  body
};
9

The

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
105 module also defines a
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
106 function. Here's an example of using it

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
0

mypy

mypy is a Python type checking tool that is implemented in Python. Development began in 2014

To install mypy, enter

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
107. On a Mac, add the following directory to the
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
108 environment variable.
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
109

To run mypy on a source file and all the files it imports, enter

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
110

mypy cannot perform type checking on function arguments that correspond to parameters with default values or parameters that collect variadic arguments in a tuple or dict

Pyright

Pyright is a Python type checking tool that is implemented in TypeScript. Development began in 2019. It is used by the VS Code extension Pylance and can also be run from the command line

To install Pyright, install Node. js and enter

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
111

To run Pyright on a source file and all the files it imports, enter

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
112. To run in watch mode, enter
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
113. See this issue

To configure options for Pyright, create a

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
114 file in the project root directory. For example, the following content configures strict type checking for all files in the current directory

Để trả lời cho câu hỏi "Kế hoạch dài hạn cho Pyright là gì?"

"Pyright is a side project with no dedicated team. There is no guarantee of continued development on the project. If you find it useful, feel free to use it and contribute to the code base. "

Stub files

Types can be specified in "stub files" with a

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
115 extension instead of directly in
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
5 files

Stub files for popular Python libraries can be downloaded from typeshed. These are included as a submodule of mypy. See the typeshed link for instructions on installing them

Note that the number of libraries represented here is currently small, and it does not contain stub files for many popular libraries, including mathplotlib, numpy, and pandas. Type stub files for matplotlib, numpy, and pandas can be found at data-science-types

When creating your own stub files, create

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
115 files with the same names as the
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
5 files whose types they describe. Stub files can be placed in the same directory as the module definition or in a separate directory with a name like "stubs. " If they are in a separate directory, define the
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
119 environment variable to point to the directory

If a stub file for a module is present, its type definitions override any found in the corresponding

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
5 file

To define the type of a variable in a stub file, use the syntax

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
121

To define types for a function in a stub file, use the syntax

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
122. Note that the
seq = [1, 2, 3, 4] # using a tuple, but could also be a list
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
a, *rest, b = seq # a=1, rest=[2, 3], b=4
a, b, *rest = seq # a=1, b=2, rest=[3, 4]
10 is actual syntax

A stub file can be automatically generated from

import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
5 files using the
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
125 command that is installed with mypy. By default it places generated stub files in a subdirectory named
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
126, but this can be changes using the
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
127 option. For example,
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
128 generates
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
129 in the current directory. Many of the types will be
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
087, so manual editing of the generated files is desirable to make the types more strict

Here is a example module in

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
131 that omits type hints

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
1

Here is a stub file in

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
129 that provides type hints

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
2

Here is code that uses this module

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
3

Running the

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
133 command reports

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
4

Popular Tools/Libraries/Frameworks

TopicJavaScriptPythoncommand lineNode. js
import threading
 
def my_function[p1, p2]:
    print['my_function: p1 =', p1, 'p2 =', p2]
 
# The Timer function takes the number of seconds to wait,
# the function to call, and a tuple of arguments to be passed.
t = threading.Timer[1.0, my_function, ['arg1', 'arg2']]
t.start[]
if tired_of_waiting:
    t.cancel[]
9 command
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
07 commandutilitiesLodash, Ramdapydashweb serverExpressFlask, FastAPIweb frameworkReact, Svelte, VueFlaskdates and timesdate. fns, Moment. js, Temporaldatetime [in standard library]lintingESLintpylint, flake8unit testsJest, Mocha, Chai, @testing-librarypytest, unittest [in standard library], nose2end-to-end testsCypresssamemathmathjsmath [in standard library]popular editorsVS CodeVS Code, PyCharm [JetBrains]

Linting

To lint JavaScript using ESLint

  • from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    136
  • from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    137

To configure the rules used by ESLint, create the file

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
138 in project directories or in a user home directory

For example

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
5

To lint Python code using pylint

  • from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    139
  • from calendar import day_name
    from datetime import date
     
    def get_day[]:
        index = date.today[].weekday[]
        return day_name[index]
     
    if [day := get_day[]] == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
     
    print['day =', day] # Tuesday
     
    # Typically the code is easier to read when
    # the walrus operator is not used.  For example:
    day = get_day[]
    if day == 'Tuesday':
        print['Tacos!'] # Tacos! if it's a Tuesday
    140

To configure the rules used by pylint, create the project file

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
141 or a file in a user home directory [
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
142 or
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
143]. To generate a commented version of this file in order learn about the format and available options, enter
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
144. This file can then be modified or just used for reference. For example

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
6

In addition, rules can be disabled in source files by adding special comments. For example

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
7

To lint Python code using flake8

To configure the rules used by flake8, create the project file

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
145 or a file in a user home directory [
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
146 for Windows and
from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
147 for macOS and Linux]. For example

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
8

Formatting

To format JavaScript code, use Prettier

To format Python code, use autopep8 or Black

Để cài đặt và chạy autopep8

# Named function
def myFn:
  body
 
# Lambda function
lambda args: expression
9

Một số thay đổi được thực hiện bởi autopep8 bao gồm

  • enforce having two blank lines before each function definition
  • wrap lines that are longer than 79 characters

The maximum line length can be changed by adding the

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
148 option

To install and run Black

    """Return the average of a sequence of numbers."""
0

Some of the changes made by Black include

  • enforce having two blank lines before each function definition
  • change all string literals to be delimited with double quotes instead of single quotes
  • add a comma after last list items when list does not fit on one line
  • wrap lines that are longer than 88 characters

The maximum line length can be changed by adding the

from calendar import day_name
from datetime import date
 
def get_day[]:
    index = date.today[].weekday[]
    return day_name[index]
 
if [day := get_day[]] == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
 
print['day =', day] # Tuesday
 
# Typically the code is easier to read when
# the walrus operator is not used.  For example:
day = get_day[]
if day == 'Tuesday':
    print['Tacos!'] # Tacos! if it's a Tuesday
149 option

VS Code

The VS Code extension "Python" from Microsoft adds "IntelliSense, linting, debugging, code navigation, code formatting, Jupyter notebook support, refactoring, variable explorer, test explorer, snippets, and more. "

How to use JavaScript function in Python?

To use the module it has to be imported. Now to convert javascript to python, the javascript command is stored as a string in some variable. We'll now use the eval_js[] function of the module js2py, and pass the javascript code to it .

What is JavaScript function?

A function in JavaScript is similar to a procedure— a set of statements that performs a task or calculates a value , but for a procedure to qualify as a function, it should take some input and return an output where there is some obvious relationship between the input and the output.

Chức năng JavaScript giải thích với ví dụ là gì?

In Javascript, functions can also be defined as expressions . For example, // program to find the square of a number // function is declared inside the variable let x = function [num] { return num * num }; console. log[x[4]]; // can be used as variable value for other variables let y = x[3]; console. log[y]; Run Code.

Làm cách nào để gọi hàm JavaScript từ mã Python?

Calling JavaScript from Python The key is to import the module js and call JavaScript functions using the js namespace . Đây là một ví dụ hoàn chỉnh mà bạn có thể sao chép và dán vào tệp cục bộ và tải vào trình duyệt. I prefer to start a simple Python webserver to run examples. trăn -m http. server 9000 .

Chủ Đề