Hướng dẫn bulletin function in python - chức năng bản tin trong python

Giới thiệu

Một chức năng là một khối các hướng dẫn thực hiện một hành động và, một khi được xác định, có thể được sử dụng lại. Các chức năng làm cho mã trở nên mô -đun hơn, cho phép bạn sử dụng cùng một mã nhiều lần.function is a block of instructions that performs an action and, once defined, can be reused. Functions make code more modular, allowing you to use the same code over and over again.

Python có một số chức năng tích hợp mà bạn có thể quen thuộc, bao gồm:

  • Output

    Hello, World!
    0 sẽ in một đối tượng vào thiết bị đầu cuối
  • Output

    Hello, World!
    1 sẽ chuyển đổi loại dữ liệu chuỗi hoặc số thành kiểu dữ liệu số nguyên
  • Output

    Hello, World!
    2 trả về chiều dài của một đối tượng

Tên chức năng bao gồm dấu ngoặc đơn và có thể bao gồm các tham số.

Trong hướng dẫn này, chúng tôi sẽ đi qua cách xác định các chức năng của riêng bạn để sử dụng trong các dự án mã hóa của bạn.

Điều kiện tiên quyết

Bạn nên cài đặt Python 3 và môi trường lập trình được thiết lập trên máy tính hoặc máy chủ của bạn. Nếu bạn không có môi trường lập trình được thiết lập, bạn có thể tham khảo hướng dẫn cài đặt và thiết lập cho môi trường lập trình cục bộ hoặc cho môi trường lập trình trên máy chủ của bạn phù hợp với hệ điều hành của bạn (Ubuntu, Centos, Debian, v.v.)

Xác định một chức năng

Hãy để bắt đầu với việc biến đổi cổ điển Hello Hello, thế giới! chương trình thành một chức năng.

Chúng tôi sẽ tạo một tệp văn bản mới trong trình soạn thảo văn bản của chúng tôi và gọi chương trình

Output

Hello, World!
3. Sau đó, chúng tôi sẽ xác định chức năng.

Một hàm được xác định bằng cách sử dụng từ khóa

Output

Hello, World!
4, theo sau là tên bạn chọn, theo sau là một tập hợp dấu ngoặc đơn chứa bất kỳ tham số nào mà hàm sẽ lấy (chúng có thể trống) và kết thúc bằng dấu hai chấm.

Thông tin: Để làm theo cùng với mã ví dụ trong hướng dẫn này, hãy mở một vỏ tương tác Python trên hệ thống cục bộ của bạn bằng cách chạy lệnh

Output

Hello, World!
5. Sau đó, bạn có thể sao chép, dán hoặc chỉnh sửa các ví dụ bằng cách thêm chúng sau dấu nhắc

Output

Hello, World!
6.
To follow along with the example code in this tutorial, open a Python interactive shell on your local system by running the

Output

Hello, World!
5 command. Then you can copy, paste, or edit the examples by adding them after the

Output

Hello, World!
6 prompt.

Trong trường hợp này, chúng tôi sẽ xác định một hàm có tên

Output

Hello, World!
7:

hello.py

def hello():

Điều này thiết lập câu lệnh ban đầu để tạo một hàm.

Từ đây, chúng tôi sẽ thêm một dòng thứ hai với thụt 4 không gian để cung cấp các hướng dẫn cho những gì chức năng làm. Trong trường hợp này, chúng tôi sẽ in

Output

Hello, World!
8 vào bảng điều khiển:

hello.py

def hello():
    print("Hello, World!")

Chức năng của chúng tôi hiện được xác định đầy đủ, nhưng nếu chúng tôi chạy chương trình vào thời điểm này, sẽ không có gì xảy ra vì chúng tôi đã gọi chức năng.

Vì vậy, bên ngoài khối chức năng được xác định của chúng tôi, hãy để Gọi chức năng với

Output

Hello, World!
7:

hello.py

def hello():
    print("Hello, World!")

hello()

Bây giờ, hãy để chạy chương trình:

  1. python hello.py

Bạn sẽ nhận được đầu ra sau:

Output

Hello, World!

Các chức năng có thể phức tạp hơn hàm

Output

Hello, World!
7 mà chúng tôi đã xác định ở trên. Ví dụ: chúng ta có thể sử dụng các vòng
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

1, các câu lệnh có điều kiện và nhiều hơn trong khối chức năng của chúng ta.

Ví dụ: hàm được xác định dưới đây sử dụng một câu lệnh có điều kiện để kiểm tra xem đầu vào cho biến

# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

2 có chứa nguyên âm hay không, sau đó sử dụng vòng lặp
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

1 để lặp lại các chữ cái trong chuỗi
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

2.

names.py

# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

Hàm

# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

5 mà chúng tôi đã xác định ở trên đặt ra một câu lệnh có điều kiện và vòng lặp
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

1, cho thấy cách sắp xếp mã trong một định nghĩa hàm. Tuy nhiên, tùy thuộc vào những gì chúng tôi dự định với chương trình của chúng tôi và cách chúng tôi muốn thiết lập mã của mình, chúng tôi có thể muốn xác định câu lệnh có điều kiện và vòng lặp
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

1 là hai chức năng riêng biệt.

Xác định các chức năng trong một chương trình làm cho mô -đun mã của chúng tôi và có thể tái sử dụng để chúng tôi có thể gọi các chức năng tương tự mà không cần viết lại chúng.

Làm việc với các tham số

Cho đến nay chúng tôi đã xem xét các chức năng với dấu ngoặc đơn không có đối số, nhưng chúng tôi có thể xác định các tham số trong các định nghĩa chức năng trong dấu ngoặc đơn của chúng.

Một tham số là một thực thể được đặt tên trong một định nghĩa hàm, chỉ định một đối số mà hàm có thể chấp nhận.parameter is a named entity in a function definition, specifying an argument that the function can accept.

Hãy để tạo ra một chương trình nhỏ có tham số

# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

8,
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

9 và
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

0. Chúng tôi sẽ tạo một chức năng thêm các tham số với nhau trong các cấu hình khác nhau. Các tổng của chúng sẽ được in bởi hàm. Sau đó, chúng tôi sẽ gọi hàm và chuyển số vào hàm.

add_numbers.py

def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

Chúng tôi đã vượt qua số

def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

1 trong tham số
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

8,
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

3 trong tham số
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

9 và
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

5 trong tham số
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

0. Các giá trị này tương ứng với từng tham số theo thứ tự chúng được đưa ra.

Chương trình về cơ bản đang thực hiện toán học sau dựa trên các giá trị mà chúng tôi đã truyền cho các tham số:

a = 1 + 2
b = 1 + 3
c = 2 + 3

Hàm cũng in

def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

7,
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

8 và
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

9 và dựa trên toán học trên, chúng tôi mong đợi
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

7 sẽ bằng
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

5,
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

8 là
a = 1 + 2
b = 1 + 3
c = 2 + 3
3 và
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

9 là
a = 1 + 2
b = 1 + 3
c = 2 + 3
5. Hãy để chạy chương trình:

  1. python add_numbers.py

Output

3 4 5

Khi chúng tôi vượt qua

def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

1,
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

3 và
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

5 dưới dạng tham số cho hàm
a = 1 + 2
b = 1 + 3
c = 2 + 3
9, chúng tôi sẽ nhận được đầu ra dự kiến.

Các tham số là các đối số thường được định nghĩa là các biến trong các định nghĩa hàm. Chúng có thể được gán các giá trị khi bạn chạy phương thức, chuyển các đối số vào hàm.

Từ khóa đối số

Ngoài các tham số gọi theo thứ tự, bạn có thể sử dụng các đối số từ khóa trong lệnh gọi hàm, trong đó người gọi xác định các đối số bằng tên tham số.keyword arguments in a function call, in which the caller identifies the arguments by the parameter name.

Khi bạn sử dụng các đối số từ khóa, bạn có thể sử dụng các tham số theo thứ tự vì trình thông dịch Python sẽ sử dụng các từ khóa được cung cấp để phù hợp với các giá trị với các tham số.

Hãy để tạo ra một chức năng sẽ hiển thị thông tin hồ sơ cho người dùng. Chúng tôi sẽ chuyển các tham số cho nó dưới dạng

  1. python add_numbers.py
0 (dự định dưới dạng chuỗi) và
  1. python add_numbers.py
1 (dự định là một số nguyên).

profile.py

def hello():
    print("Hello, World!")

0

Trong câu lệnh định nghĩa hàm,

  1. python add_numbers.py
0 và
  1. python add_numbers.py
1 được chứa trong các dấu ngoặc đơn của hàm
  1. python add_numbers.py
4. Khối của hàm in thông tin về người dùng dưới dạng chuỗi, sử dụng hai tham số.

Bây giờ, chúng ta có thể gọi chức năng và gán các tham số cho nó:

profile.py

def hello():
    print("Hello, World!")

1

Trong cuộc gọi chức năng đầu tiên, chúng tôi đã điền thông tin với tên người dùng là

  1. python add_numbers.py
5 và người theo dõi là
  1. python add_numbers.py
6, trong chức năng thứ hai, chúng tôi đã sử dụng các đối số từ khóa, gán các giá trị cho các biến đối số.

Hãy để chạy chương trình:

def hello():
    print("Hello, World!")

2
def hello():
    print("Hello, World!")

3

Đầu ra cho chúng ta thấy tên người dùng và số lượng người theo dõi cho cả hai người dùng.

Điều này cũng cho phép chúng tôi sửa đổi thứ tự của các tham số, như trong ví dụ này của cùng một chương trình với một cuộc gọi khác:

profile.py

def hello():
    print("Hello, World!")

4

Khi chúng tôi chạy lại chương trình với lệnh

  1. python add_numbers.py
7, chúng tôi sẽ nhận được đầu ra sau:

def hello():
    print("Hello, World!")

5

Bởi vì định nghĩa hàm duy trì cùng một thứ tự của các câu lệnh

Output

Hello, World!
0, nếu chúng ta sử dụng các đối số từ khóa, không quan trọng chúng ta sẽ chuyển chúng vào lệnh gọi hàm.

Giá trị đối số mặc định

Chúng tôi cũng có thể cung cấp các giá trị mặc định cho một hoặc cả hai tham số. Hãy để tạo ra một giá trị mặc định cho tham số

  1. python add_numbers.py
1 với giá trị
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

1:

profile.py

def hello():
    print("Hello, World!")

6

Bây giờ, chúng ta có thể chạy chức năng chỉ với hàm tên người dùng được gán và số lượng người theo dõi sẽ tự động mặc định thành 1. Chúng ta vẫn có thể thay đổi số lượng người theo dõi nếu chúng ta muốn.

profile.py

def hello():
    print("Hello, World!")

7

Khi chúng tôi chạy chương trình bằng lệnh

  1. python add_numbers.py
7, chúng tôi sẽ nhận được đầu ra sau:

def hello():
    print("Hello, World!")

8

Cung cấp các tham số mặc định với các giá trị có thể cho phép chúng tôi bỏ qua các giá trị xác định cho mỗi đối số đã có mặc định.

Trả lại một giá trị

Bạn có thể chuyển một giá trị tham số vào một hàm và một hàm cũng có thể tạo ra một giá trị.

Một hàm có thể tạo ra một giá trị với câu lệnh

Output

3 4 5
2, sẽ thoát một hàm và tùy chọn chuyển một biểu thức trở lại cho người gọi. Nếu bạn sử dụng câu lệnh

Output

3 4 5
2 không có đối số, hàm sẽ trả về

Output

3 4 5
4.

Cho đến nay, chúng tôi đã sử dụng câu lệnh

Output

Hello, World!
0 thay vì câu lệnh

Output

3 4 5
2 trong các chức năng của chúng tôi. Hãy để tạo ra một chương trình mà thay vì in sẽ trả về một biến.

Trong một tệp văn bản mới có tên

Output

3 4 5
7, chúng tôi sẽ tạo một chương trình bình phương tham số
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

8 và trả về biến
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

9. Chúng tôi đưa ra một cuộc gọi để in biến
def hello():
    print("Hello, World!")

00, được hình thành bằng cách chạy hàm
def hello():
    print("Hello, World!")

01 với
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

5 được truyền vào đó.

square.py

def hello():
    print("Hello, World!")

9

Chúng tôi có thể chạy chương trình và nhận đầu ra:

def hello():
    print("Hello, World!")

hello()

0
def hello():
    print("Hello, World!")

hello()

1

Số nguyên

def hello():
    print("Hello, World!")

03 được trả về làm đầu ra, đó là những gì chúng ta mong đợi bằng cách yêu cầu Python tìm thấy bình phương 3.

Để hiểu thêm về cách thức tuyên bố

Output

3 4 5
2, chúng ta có thể nhận xét câu lệnh

Output

3 4 5
2 trong chương trình:

square.py

def hello():
    print("Hello, World!")

hello()

2

Bây giờ, hãy để Lừa điều hành chương trình một lần nữa:

def hello():
    print("Hello, World!")

hello()

0
def hello():
    print("Hello, World!")

hello()

4

Không sử dụng câu lệnh

Output

3 4 5
2 ở đây, chương trình không thể trả về giá trị để giá trị mặc định thành

Output

3 4 5
4.

Một ví dụ khác, trong chương trình

def hello():
    print("Hello, World!")

08 ở trên, chúng tôi có thể trao đổi câu lệnh

Output

Hello, World!
0 cho câu lệnh

Output

3 4 5
2.

add_numbers.py

def hello():
    print("Hello, World!")

hello()

5

Bên ngoài hàm, chúng tôi đặt biến

def hello():
    print("Hello, World!")

11 bằng kết quả của hàm lấy trong
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

1,
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

3 và
def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

5 như chúng tôi đã làm ở trên. Sau đó, chúng tôi gọi một bản in của biến
def hello():
    print("Hello, World!")

11.

Bây giờ, hãy để chạy lại chương trình mà nó có câu lệnh

Output

3 4 5
2:

  1. python add_numbers.py
def hello():
    print("Hello, World!")

hello()

7

Chúng tôi nhận được cùng một số

def add_numbers(x, y, z):
    a = x + y
    b = x + z
    c = y + z
    print(a, b, c)

add_numbers(1, 2, 3)

5,
a = 1 + 2
b = 1 + 3
c = 2 + 3
3 và
a = 1 + 2
b = 1 + 3
c = 2 + 3
5 dưới dạng đầu ra mà chúng tôi nhận được trước đây bằng cách sử dụng câu lệnh

Output

Hello, World!
0 trong hàm. Lần này, nó được phân phối dưới dạng một bộ xử lý vì danh sách biểu thức câu lệnh

Output

3 4 5
2 có ít nhất một dấu phẩy.

Các chức năng thoát ngay lập tức khi họ đạt được câu lệnh

Output

3 4 5
2, cho dù họ có trả lại giá trị hay không.

return_loop.py

def hello():
    print("Hello, World!")

hello()

8

Sử dụng câu lệnh

Output

3 4 5
2 trong vòng
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

1 kết thúc hàm, do đó, dòng nằm ngoài vòng lặp sẽ không chạy. Nếu, thay vào đó, chúng tôi đã sử dụng một câu lệnh
def hello():
    print("Hello, World!")

25, chỉ có vòng lặp sẽ thoát ra vào thời điểm đó và dòng

Output

Hello, World!
0 cuối cùng sẽ chạy.

Câu lệnh

Output

3 4 5
2 thoát ra một hàm và có thể trả về một giá trị khi được cấp với một tham số.

Sử dụng def hello(): print("Hello, World!") 28 làm hàm

Mặc dù trong Python, bạn có thể gọi hàm ở cuối chương trình của mình và nó sẽ chạy (như chúng tôi đã thực hiện trong các ví dụ trên), nhiều ngôn ngữ lập trình (như C ++ và Java) yêu cầu chức năng

def hello():
    print("Hello, World!")

29 để thực thi. Bao gồm hàm
def hello():
    print("Hello, World!")

28, mặc dù không bắt buộc, có thể cấu trúc các chương trình Python của chúng tôi một cách hợp lý đặt các thành phần quan trọng nhất của chương trình vào một hàm. Nó cũng có thể làm cho các chương trình của chúng tôi dễ dàng hơn cho các lập trình viên không phải là Python để đọc.

Chúng tôi sẽ bắt đầu với việc thêm chức năng

def hello():
    print("Hello, World!")

28 vào chương trình

Output

Hello, World!
3 ở trên. Chúng tôi sẽ giữ chức năng

Output

Hello, World!
7 của mình và sau đó xác định hàm
def hello():
    print("Hello, World!")

28:

hello.py

def hello():
    print("Hello, World!")

hello()

9

Trong hàm

def hello():
    print("Hello, World!")

28, hãy để Lôi bao gồm một câu lệnh

Output

Hello, World!
0 để cho chúng tôi biết rằng chúng tôi đã làm trong hàm
def hello():
    print("Hello, World!")

28. Ngoài ra, hãy để Lừa gọi hàm

Output

Hello, World!
7 trong hàm
def hello():
    print("Hello, World!")

28:

hello.py

  1. python hello.py
0

Cuối cùng, ở cuối chương trình, chúng tôi sẽ gọi hàm

def hello():
    print("Hello, World!")

28:

hello.py

  1. python hello.py
1

Tại thời điểm này, chúng tôi có thể chạy chương trình của mình:

  1. python hello.py

Chúng tôi sẽ nhận được đầu ra sau:

  1. python hello.py
3

Bởi vì chúng tôi đã gọi hàm

Output

Hello, World!
7 trong
def hello():
    print("Hello, World!")

28 và sau đó chỉ gọi
def hello():
    print("Hello, World!")

28 để chạy, văn bản

Output

Hello, World!
8 chỉ được in một lần, sau khi chuỗi nói với chúng tôi rằng chúng tôi đang ở trong hàm chính.

Tiếp theo, chúng tôi sẽ làm việc với nhiều chức năng, vì vậy nó đáng để xem xét phạm vi biến của các biến toàn cầu và địa phương. Nếu bạn xác định một biến trong một khối hàm, bạn sẽ chỉ có thể sử dụng biến đó trong hàm đó. Nếu bạn muốn sử dụng các biến trên các chức năng, có thể tốt hơn là khai báo một biến toàn cầu.

Trong Python,

def hello():
    print("Hello, World!")

45 là tên của phạm vi nơi mã cấp cao sẽ thực thi. Khi một chương trình được chạy từ đầu vào tiêu chuẩn, tập lệnh hoặc từ một lời nhắc tương tác,
def hello():
    print("Hello, World!")

46 của nó được đặt bằng
def hello():
    print("Hello, World!")

45.

Bởi vì điều này, có một quy ước để sử dụng công trình sau:

  1. python hello.py
4

Điều này cho phép các tệp chương trình được sử dụng:

  • Là chương trình chính và chạy những gì sau tuyên bố
    def hello():
        print("Hello, World!")
    
    
    48
  • Là một mô -đun và không chạy những gì tiếp theo câu lệnh
    def hello():
        print("Hello, World!")
    
    
    48.

Bất kỳ mã nào không có trong câu lệnh này sẽ được thực thi khi chạy. Nếu bạn sử dụng tệp chương trình của mình làm mô -đun, mã không có trong câu lệnh này cũng sẽ thực thi khi nhập trong khi chạy tệp thứ cấp.

Hãy để mở rộng trên chương trình

def hello():
    print("Hello, World!")

50 của chúng tôi ở trên và tạo một tệp mới có tên là
def hello():
    print("Hello, World!")

51. Trong chương trình này, chúng tôi sẽ khai báo một biến toàn cầu và sửa đổi chức năng
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

5 ban đầu của chúng tôi để các hướng dẫn nằm trong hai chức năng riêng biệt.

Hàm đầu tiên,

def hello():
    print("Hello, World!")

53 sẽ kiểm tra xem chuỗi
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

2 có chứa nguyên âm không.

Hàm thứ hai

def hello():
    print("Hello, World!")

55 sẽ in từng chữ cái của chuỗi
# Define function names()
def names():
    # Set up name variable with input
    name = str(input('Enter your name: '))
    # Check whether name has a vowel
    if set('aeiou').intersection(name.lower()):
        print('Your name contains a vowel.')
    else:
        print('Your name does not contain a vowel.')

    # Iterate over name
    for letter in name:
        print(letter)

# Call the function
names()

2.

more_names.py

  1. python hello.py
5

Với thiết lập này, hãy để xác định chức năng

def hello():
    print("Hello, World!")

28 sẽ chứa một cuộc gọi đến cả hai hàm
def hello():
    print("Hello, World!")

53 và
def hello():
    print("Hello, World!")

55.

more_names.py

  1. python hello.py
6

Cuối cùng, chúng tôi sẽ thêm cấu trúc

def hello():
    print("Hello, World!")

60 ở cuối tệp. Đối với các mục đích của chúng tôi, vì chúng tôi đã đặt tất cả các chức năng mà chúng tôi muốn thực hiện trong hàm
def hello():
    print("Hello, World!")

28, chúng tôi sẽ gọi hàm
def hello():
    print("Hello, World!")

28 theo câu lệnh
def hello():
    print("Hello, World!")

48 này.

more_names.py

  1. python hello.py
7

Bây giờ chúng ta có thể chạy chương trình:

  1. python hello.py
8

Chương trình sẽ hiển thị đầu ra giống như chương trình

def hello():
    print("Hello, World!")

50, nhưng ở đây mã được tổ chức nhiều hơn và có thể được sử dụng theo cách mô -đun mà không cần sửa đổi.

Nếu bạn không muốn khai báo chức năng

def hello():
    print("Hello, World!")

28, bạn có thể kết thúc chương trình như thế này:

more_names.py

  1. python hello.py
9

Sử dụng

def hello():
    print("Hello, World!")

28 làm hàm và câu lệnh
def hello():
    print("Hello, World!")

60 có thể sắp xếp mã của bạn một cách hợp lý, làm cho nó dễ đọc và mô -đun hơn.

Sự kết luận

Các chức năng là các khối mã của các hướng dẫn thực hiện các hành động trong một chương trình, giúp làm cho mã của chúng tôi có thể tái sử dụng và mô -đun.

Để tìm hiểu thêm về cách làm cho mã của bạn trở nên mô -đun hơn, bạn có thể đọc hướng dẫn của chúng tôi về cách viết các mô -đun trong Python 3.