Ưu điểm của hàm trong Python là gì?

Chà, chúng ta đã học về cách chúng ta có thể tạo các chức năng của riêng mình. Nhưng một câu hỏi có thể nảy ra trong đầu một số người ngẫu nhiên, tại sao chúng ta lại tạo ra chức năng của riêng mình?

Ưu điểm của hàm trong Python

Vì vậy, ở đây, chúng ta sẽ xem xét những ưu điểm khác nhau của việc viết các hàm của riêng mình

  • Giảm sự trùng lặp của mã

Chà, chúng ta có thể sử dụng chức năng in bao nhiêu lần tùy thích trong chương trình của mình. Nhưng chức năng được viết một lần. Theo cách tương tự, chúng ta cũng chỉ cần viết hàm một lần và chúng ta có thể gọi hàm bao nhiêu lần tùy ý trong chương trình của mình. Vì vậy, chúng ta không cần phải viết cùng một mã mỗi lần. Chúng ta chỉ viết một lần vào hàm, sau đó gọi hàm bao nhiêu lần tùy thích

Chỉ cần nhớ rằng mỗi khi bạn muốn sử dụng chức năng này, bạn cần gọi nó

  • Cải thiện khả năng sử dụng lại mã

Chà, chúng ta chỉ viết hàm một lần và chúng ta có thể sử dụng hàm đó bao nhiêu lần tùy thích. Vì vậy, điều này dẫn đến khả năng tái sử dụng tốt mã trong chương trình

  • mã rõ ràng hơn

Khi chúng ta viết các hàm, mã của chúng ta trông rõ ràng và có tổ chức hơn. Nếu trong trường hợp có sự cố xảy ra trong mã, bạn cũng sẽ dễ dàng tìm ra điều gì sai và ở đâu.

  • Các vấn đề lớn hơn được chia thành các vấn đề nhỏ hơn

Nếu chúng tôi đang làm việc để tạo phần mềm, chúng tôi có thể làm việc riêng trên các thành phần và tiện ích khác nhau của phần mềm. Vì vậy, nếu chúng ta tạo một máy tính, chúng ta có nhiều phép toán, như cộng, trừ, nhân, chia, v.v. Chúng ta có thể giải nó thành toàn bộ, nhưng chúng ta cũng có thể chia nó thành các bài toán nhỏ hơn, chẳng hạn như một hàm khác cho phép cộng, phép nhân, phép chia, phép trừ, v.v.

Vì vậy, đây là một số lợi thế của việc sử dụng các chức năng trong các chương trình của chúng tôi. Chà, chúng ta cũng sẽ tạo các hàm bất cứ nơi nào được yêu cầu trong chương trình và một lần nữa chúng ta sẽ khám phá thêm khái niệm về hàm, vì vậy bạn sẽ biết thêm một số điều mới về các hàm. Vì vậy, chúng ta hãy bắt đầu ngay bây giờ

Hàm là một khái niệm quan trọng trong thế giới lập trình. Trong bài viết này, chúng ta sẽ khám phá các hàm Python. Bạn sẽ tìm hiểu lý do tại sao chúng lại quan trọng như vậy, cách xác định hàm bằng từ khóa def của Python, cách gọi hàm và chúng ta sẽ tìm hiểu về một chủ đề phát sinh khi sử dụng hàm. phạm vi biến đổi

Mục lục

Hàm trong Python là gì?

Hãy xác định chính xác chức năng là gì

Chức năngHàm Python là một phần được đặt tên của chương trình thực hiện một tác vụ cụ thể và trả về một giá trị tùy chọn

Các hàm là các khối xây dựng thực sự của bất kỳ ngôn ngữ lập trình nào. Chúng tôi định nghĩa một hàm Python với từ khóa

>>> result = print['Hello']
Hello
>>> print[result]
None
2. Nhưng trước khi chúng ta bắt đầu làm như vậy, trước tiên chúng ta hãy điểm qua những ưu điểm của các hàm và hãy xem xét một số hàm tích hợp sẵn mà bạn có thể đã biết

Ưu điểm của việc sử dụng chức năng

tái sử dụng mã

Hàm Python có thể được định nghĩa một lần và được sử dụng nhiều lần. Vì vậy, nó hỗ trợ tái sử dụng mã. bạn không muốn viết cùng một đoạn mã nhiều lần

Các hàm là một cách tuyệt vời để giữ cho mã của bạn ngắn gọn, súc tích và dễ đọc. Bằng cách đặt cho một hàm một cái tên được lựa chọn tốt, mã của bạn sẽ trở nên dễ đọc hơn vì tên hàm giải thích trực tiếp điều gì sẽ xảy ra. Bằng cách này, những người khác [hoặc bạn trong tương lai] có thể đọc mã của bạn và không cần nhìn vào tất cả mã, vẫn hiểu mã đó đang làm gì nhờ các tên hàm được chọn tốt

Các hình thức sử dụng lại mã khác sẽ được giải thích sau. e. g. , bạn cũng có thể nhóm mã thành các mô-đun và gói

Thông số

Các hàm chấp nhận một tham số và bạn sẽ thấy nó hoạt động như thế nào trong giây lát. Ưu điểm lớn ở đây là bạn có thể thay đổi hành vi của hàm bằng cách thay đổi tham số

Giá trị trả về

Một hàm có thể trả về một giá trị. Giá trị này thường là kết quả của một số tính toán hoặc hoạt động. Trên thực tế, một hàm Python thậm chí có thể trả về nhiều giá trị

Các hàm Python tích hợp

Trước khi bắt đầu tự định nghĩa các hàm, chúng ta sẽ xem xét một số hàm có sẵn của Python. Hãy bắt đầu với chức năng tích hợp nổi tiếng nhất, được gọi là

>>> result = print['Hello']
Hello
>>> print[result]
None
3

>>> print['Hello, readers!']
Hello, readers!
>>> print[15]
15

Print lấy một đối số và in nó ra màn hình

Như đã nêu trong định nghĩa của chúng tôi, các chức năng có thể tùy ý trả về một giá trị. Tuy nhiên,

>>> result = print['Hello']
Hello
>>> print[result]
None
3 không trả lại bất cứ thứ gì. Bởi vì nó in một cái gì đó lên màn hình, nó có thể trông giống như vậy, nhưng không phải vậy. Chúng ta có thể kiểm tra điều này bằng cách gán kết quả của câu lệnh in cho một biến Python

>>> result = print['Hello']
Hello
>>> print[result]
None

>>> result = print['Hello']
Hello
>>> print[result]
None
5 là một loại giá trị đặc biệt trong Python, về cơ bản có nghĩa là 'không có gì'. ’

Một hàm tích hợp khác trả về giá trị là 

>>> result = print['Hello']
Hello
>>> print[result]
None
6. Nó trả về độ dài của bất cứ thứ gì bạn cho nó ăn

>>> mylength = len['Hello']
>>> print[mylength]
5

Tạo một hàm Python

Bây giờ chúng ta đã biết cách sử dụng một hàm, hãy tự tạo một hàm đơn giản. Để làm như vậy, chúng tôi sử dụng từ khóa

>>> result = print['Hello']
Hello
>>> print[result]
None
2 của Python

>>> def say_hi[]:
..     print['Hi!']
...
>>> say_hi[]
Hi!

Nó chỉ là một vài dòng, nhưng rất nhiều đang xảy ra. Hãy mổ xẻ điều này

  • Đầu tiên chúng ta xem từ khóa
    >>> result = print['Hello']
    Hello
    >>> print[result]
    None
    2, đây là từ khóa của Python để định nghĩa một hàm
  • Tiếp đến là tên hàm của chúng ta, say_hi
  • Sau đó, chúng tôi bắt gặp hai dấu ngoặc đơn, [], cho biết rằng chức năng này không chấp nhận bất kỳ tham số nào [không giống như
    >>> result = print['Hello']
    Hello
    >>> print[result]
    None
    3 và
    >>> mylength = len['Hello']
    >>> print[mylength]
    5
    0]
  • Chúng tôi kết thúc dòng bằng dấu hai chấm [. ]
  • Và cuối cùng, chúng tôi bắt gặp một tính năng khiến Python khác biệt với nhiều ngôn ngữ lập trình khác. vết lõm

thụt đầu dòng

Python sử dụng thụt đầu dòng để phân biệt các khối mã thuộc về nhau. Các dòng liên tiếp có thụt đầu dòng bằng nhau là một phần của cùng một khối mã

Để nói với Python rằng các dòng sau là phần thân của hàm của chúng ta, chúng ta cần thụt lề chúng. Bạn thụt lề các dòng bằng phím TAB trên bàn phím. Trong Python, bạn nên sử dụng bốn khoảng trắng để thụt đầu dòng. Toàn bộ cộng đồng Python làm như vậy. Nếu bạn nhấn phím TAB, trình bao tương tác Python [REPL] và tất cả các trình soạn thảo phù hợp sẽ tự động thụt vào bốn dấu cách

Quay lại chức năng của chúng tôi. nó chỉ có một dòng mã trong phần thân của nó. lệnh in. Sau đó, chúng tôi nhấn enter thêm một lần nữa để cho Python REPL biết rằng đây là phần cuối của chức năng. Cái này quan trọng. Một chức năng phải luôn được theo sau bởi một dòng trống để báo hiệu kết thúc chức năng. Cuối cùng, chúng ta có thể gọi hàm của mình bằng 

>>> mylength = len['Hello']
>>> print[mylength]
5
1

Các tham số và đối số của hàm Python

Chúng ta có thể làm cho điều này trở nên thú vị hơn bằng cách cho phép một đối số được chuyển đến hàm của chúng ta. Một lần nữa, chúng tôi định nghĩa một hàm với def, nhưng chúng tôi thêm một tên biến vào giữa các dấu ngoặc đơn

>>> def say_hi[name]:
..     print['Hi', name]
...
>>> say_hi['Erik']
Hi Erik

Hàm của chúng tôi hiện chấp nhận một giá trị, giá trị này được gán cho tên biến. Chúng tôi gọi các biến như vậy là tham số, trong khi giá trị thực mà chúng tôi cung cấp [‘Erik’] được gọi là đối số

Tham số và đối số Một hàm Python có thể có tham số. Các giá trị chúng ta chuyển qua các tham số này được gọi là đối số

Như bạn có thể thấy,

>>> mylength = len['Hello']
>>> print[mylength]
5
2 chấp nhận nhiều đối số, được phân tách bằng dấu phẩy. Điều này cho phép chúng tôi in cả 'hi' và tên được cung cấp. Để thuận tiện cho chúng ta,
>>> mylength = len['Hello']
>>> print[mylength]
5
2 tự động đặt khoảng cách giữa hai chuỗi

Hàm Python có nhiều đối số

Hãy làm cho điều này thậm chí còn hoang dã hơn và xác định một hàm có nhiều đối số

>>> def welcome[name, location]:
..     print["Hi", name, "welcome to", location]
...
>>> welcome['Erik', 'this tutorial']
Hi Erik welcome to this tutorial

Nó không khó lắm đâu;

Trở về từ một chức năng

Một hàm chạy cho đến khi kết thúc hàm đó, sau đó Python quay trở lại nơi hàm được gọi từ đó. Trong ví dụ sau, tôi muốn bạn dự đoán đầu ra trước khi chạy nó

Dự đoán đầu ra của chương trình này

Kỳ vọng của bạn có phù hợp với thực tế không? . Một số người tại thời điểm này mong đợi được nhìn thấy dòng chữ “Hãy chào cả thế giới” hai lần. Nếu bạn là một trong số họ, đừng lo lắng và hãy tiếp tục đọc

Python theo dõi điểm mà hàm được gọi. Trong trường hợp của chúng tôi, nó ở dòng 5. Sau khi được gọi, Python chạy khối mã bên trong từng dòng chức năng cho đến khi nó kết thúc chức năng đó. Và khi kết thúc hàm, Python sẽ nhảy trở lại dòng ngay sau khi hàm được gọi từ đó. dòng 6

Nói ngắn gọn. một lệnh gọi hàm không phải là một bước nhảy hoặc 'đi tới', mà là một lệnh gọi đến một đoạn mã có thể tái sử dụng, mã này sẽ quay trở lại nơi nó được gọi từ đó. Lời gọi hàm cũng là một biểu thức. hầu hết các chức năng trả về một giá trị

Trả về giá trị

Cho đến nay, chức năng của chúng tôi chỉ in một cái gì đó và không trả lại gì. Điều làm cho các chức năng trở nên hữu ích hơn rất nhiều là khả năng trả về một giá trị. Hãy xem một ví dụ về cách một hàm Python có thể trả về một giá trị

Đây là cách bạn trả về một giá trị từ hàm Python

Như bạn có thể thấy, chúng tôi sử dụng từ khóa

>>> mylength = len['Hello']
>>> print[mylength]
5
4 để trả về một giá trị từ hàm của chúng tôi. Các hàm trả về một giá trị có thể được sử dụng ở mọi nơi chúng ta có thể sử dụng một biểu thức. Trong ví dụ trên, chúng ta có thể gán giá trị trả về cho biến
>>> mylength = len['Hello']
>>> print[mylength]
5
5

Chúng ta cũng có thể sử dụng hàm trong câu lệnh if. Ví dụ

if add[1, 1] == 2:
    print["That's what you'd expect!"]

Tuyên bố trả lại trống

Nếu hàm của bạn không trả về bất cứ thứ gì, nhưng bạn vẫn muốn trả về từ hàm, bạn có thể sử dụng câu lệnh trả về rỗng. Đây là một ví dụ ngớ ngẩn

def optional_greeter[name]:
    if name.startswith['X']:
        # We don't greet people with weird names :p
        return
    
    print['Hi there, ', name]

optional_greeter['Xander']

Đây là một mô hình thú vị; . Tôi muốn quay lại sớm vì giải pháp thay thế là sử dụng khối câu lệnh if…else

def optional_greeter[name]:
    if name.startswith['X']:
        # We don't greet people with weird names :p
        pass
    else:
        print['Hi there, ', name]

optional_greeter['Xander']

Cái nào bạn cảm thấy trông sạch hơn? . Và mặc dù sự khác biệt là nhỏ với một ví dụ nhỏ như vậy, nhưng điều này bắt đầu tăng lên khi bạn có khối mã lớn hơn

Phạm vi biến đổi

Biến 

>>> mylength = len['Hello']
>>> print[mylength]
5
6 chỉ tồn tại bên trong hàm của chúng ta. Chúng ta nói rằng phạm vi của biến
>>> mylength = len['Hello']
>>> print[mylength]
5
6 được giới hạn trong hàm 
>>> mylength = len['Hello']
>>> print[mylength]
5
8, nghĩa là nó không tồn tại bên ngoài hàm này

Phạm viKhả năng hiển thị của một biến được gọi là phạm vi. Phạm vi xác định những phần nào trong chương trình của bạn có thể nhìn thấy và sử dụng một biến

Nếu chúng ta định nghĩa một biến ở cái gọi là cấp cao nhất của chương trình, nó sẽ hiển thị ở mọi nơi

Hãy chứng minh điều này

>>> def say_hi[]:
..    print["Hi", name]
..    answer = "Hi"
...
>>> name = 'Erik'
>>> say_hi[]
Hi Erik
>>> print[answer]
Traceback [most recent call last]:
  File "", line 1, in 
NameError: name 'answer' is not defined

>>> mylength = len['Hello']
>>> print[mylength]
5
8 đã có thể sử dụng biến
>>> mylength = len['Hello']
>>> print[mylength]
5
6, như mong đợi, vì đây là biến cấp cao nhất. nó có thể nhìn thấy ở khắp mọi nơi. Tuy nhiên,
>>> def say_hi[]:
..     print['Hi!']
...
>>> say_hi[]
Hi!
1, được xác định bên trong say_hi, không được biết bên ngoài hàm và gây ra một 
>>> def say_hi[]:
..     print['Hi!']
...
>>> say_hi[]
Hi!
2. Python cung cấp cho chúng tôi một lỗi thông tin và chi tiết. “tên 'câu trả lời' không được xác định. ”

Giá trị mặc định và tham số được đặt tên

Một tính năng hấp dẫn của Python là khả năng cung cấp các giá trị mặc định cho các tham số

>>> result = print['Hello']
Hello
>>> print[result]
None
0

Hoặc, nếu bạn thích, hãy sử dụng ví dụ tương tác bên dưới

Trình diễn các giá trị mặc định và các tham số được đặt tên

Vì các thông số của chúng tôi có giá trị mặc định nên bạn không cần phải điền vào. Nếu không, mặc định được sử dụng. Nếu bạn làm như vậy, bạn ghi đè giá trị mặc định bằng giá trị của riêng bạn

Gọi các hàm Python trong khi đặt tên rõ ràng các tham số khác với những gì chúng ta đã làm cho đến bây giờ. Các tham số này được gọi là tham số được đặt tên vì chúng tôi chỉ định cả tên và giá trị thay vì chỉ giá trị. Nhờ các tham số được đặt tên này, thứ tự chúng tôi cung cấp chúng không thành vấn đề. Nếu bạn nghĩ về nó, đó là cách tự nhiên và duy nhất để làm cho các giá trị mặc định trở nên hữu ích

Nếu bạn không muốn sử dụng các tham số được đặt tên, bạn có thể. Khi bạn dựa vào vị trí thay vì tên, bạn cung cấp cái mà chúng tôi gọi là tham số vị trí. Vị trí quan trọng, như có thể được nhìn thấy dưới đây

>>> result = print['Hello']
Hello
>>> print[result]
None
1

Hiện tại, bạn đã học đủ về các hàm để tiếp tục với phần hướng dẫn. Nếu bạn muốn tìm hiểu thêm, hãy đọc phần tìm hiểu sâu về các hàm Python của tôi

Chức năng và ưu điểm của nó là gì?

Hàm là một nhóm các câu lệnh được thực thi bất cứ khi nào hàm được gọi để thực hiện một tác vụ được chỉ định cụ thể . Lập trình C sử dụng tính mô đun để loại bỏ sự phức tạp của chương trình. Lập trình viên chia chương trình thành các mô-đun hoặc chức năng khác nhau và truy cập các chức năng nhất định khi cần.

Các chức năng hữu ích nhất trong Python là gì?

Q1. Các chức năng hữu ích nhất trong Python là gì? . print[], abs[], round[], min[], max[], sorted[], sum[], and len[].

Các chức năng của Python là gì?

Hàm Python .
Tranh luận. Thông tin có thể được truyền vào các hàm dưới dạng đối số. .
Số đối số. Theo mặc định, một hàm phải được gọi với số đối số chính xác. .
Đối số tùy ý, *args. .
Đối số từ khóa. .
Đối số từ khóa tùy ý, **kwargs

Tại sao các chức năng hữu ích?

Các chức năng cho phép lập trình viên chia nhỏ hoặc phân tách vấn đề thành các phần nhỏ hơn, mỗi phần thực hiện một nhiệm vụ cụ thể . Khi một chức năng được tạo, các chi tiết về cách thức hoạt động của nó hầu như có thể bị lãng quên.

Chủ Đề