Hướng dẫn Python

TRANG CHỦ Python Giới thiệu Python Python Bắt đầu Cú pháp Python Nhận xét Python Biến Python Các kiểu dữ liệu Python Số Python Đúc Python Chuỗi Python Python Booleans Toán tử Python Danh sách Python Python Tuples Bộ Python Từ điển Python Python Nếu ... Khác Python While Loops Python cho các vòng lặp Các hàm Python Python Lambda Mảng Python Các lớp / đối tượng Python Kế thừa Python Trình lặp lại Python Phạm vi Python Mô-đun Python Ngày trong Python Toán Python JSON Python Python RegEx Python PIP Python Thử ... Ngoại trừ Đầu vào của người dùng Python Định dạng chuỗi Python

Xử lý tập tin

Xử lý tệp Python Tệp đọc Python Viết / tạo tệp trong Python Xóa tệp trong Python

Mô-đun Python

Hướng dẫn NumPy Panda Walkthrough Hướng dẫn Scipy

Python Matplotlib

Giới thiệu Matplotlib Matplotlib Bắt đầu Matplotlib Pyplot Matplotlib Plotting Điểm đánh dấu Matplotlib Dòng Matplotlib Nhãn Matplotlib Matplotlib Grid Matplotlib Subplots Matplotlib Scatter Matplotlib Bars Biểu đồ Matplotlib Biểu đồ bánh Matplotlib

Học máy

Bắt đầu Chế độ trung bình trung bình Độ lệch chuẩn Phân vị Phân phối dữ liệu Phân phối dữ liệu bình thường Lô phân tán Hồi quy tuyến tính Hồi quy đa thức Nhiều hồi quy Tỉ lệ Huấn luyện / Kiểm tra Cây quyết định

Python MySQL

MySQL Bắt đầu MySQL Tạo cơ sở dữ liệu MySQL Tạo bảng Chèn MySQL Lựa chọn MySQL MySQL ở đâu MySQL Đặt hàng bởi MySQL Delete Bảng thả MySQL Cập nhật MySQL Giới hạn MySQL Tham gia MySQL

Python MongoDB

MongoDB Bắt đầu MongoDB Tạo cơ sở dữ liệu MongoDB Tạo Bộ sưu tập Chèn MongoDB MongoDB Tìm Truy vấn MongoDB MongoDB sắp xếp MongoDB Xóa MongoDB Drop Collection Cập nhật MongoDB Giới hạn MongoDB

Tham khảo Python

Tổng quan về Python Các hàm tích hợp trong Python Phương thức chuỗi Python Phương thức danh sách Python Phương thức từ điển Python Phương thức Tuple trong Python Phương thức tập hợp Python Phương thức tệp Python Từ khóa Python Ngoại lệ Python Bảng chú giải thuật ngữ Python

Tham chiếu mô-đun

Mô-đun ngẫu nhiên Mô-đun yêu cầu Mô-đun thống kê Mô-đun Toán học Mô-đun cMath

Python Làm thế nào để

Xóa danh sách trùng lặp Đảo ngược một chuỗi Thêm hai số

Ví dụ Python

Ví dụ Python Trình biên dịch Python Bài tập Python Python Quiz Chứng chỉ Python

Các hàm Python


Hàm là một khối mã chỉ chạy khi nó được gọi.

Bạn có thể truyền dữ liệu, được gọi là tham số, vào một hàm.

Kết quả là một hàm có thể trả về dữ liệu.


Tạo một chức năng

Trong Python, một hàm được định nghĩa bằng từ khóa def :

Thí dụ

def my_function():
  print("Hello from a function")

Gọi một hàm

Để gọi một hàm, hãy sử dụng tên hàm theo sau bởi dấu ngoặc đơn:

Thí dụ

def my_function():
  print("Hello from a function")

my_function()

Tranh luận

Thông tin có thể được chuyển vào các hàm dưới dạng đối số.

Các đối số được chỉ định sau tên hàm, bên trong dấu ngoặc đơn. Bạn có thể thêm bao nhiêu đối số tùy thích, chỉ cần phân tách chúng bằng dấu phẩy.

Ví dụ sau có một hàm với một đối số (fname). Khi hàm được gọi, chúng ta truyền một tên đầu tiên, tên này được sử dụng bên trong hàm để in tên đầy đủ:

Thí dụ

def my_function(fname):
  print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus")

Đối số thường được rút ngắn thành args trong tài liệu Python.



Tham số hoặc Đối số?

Tham số điều khoản đối số có thể được sử dụng cho cùng một thứ: thông tin được truyền vào một hàm.

Từ quan điểm của một chức năng:

Tham số là biến được liệt kê bên trong dấu ngoặc đơn trong định nghĩa hàm.

Đối số là giá trị được gửi đến hàm khi nó được gọi.


Số đối số

Theo mặc định, một hàm phải được gọi với số lượng đối số chính xác. Có nghĩa là nếu hàm của bạn mong đợi 2 đối số, bạn phải gọi hàm với 2 đối số, không nhiều hơn và không ít hơn.

Thí dụ

Hàm này yêu cầu 2 đối số và nhận 2 đối số:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil", "Refsnes")
Nếu bạn cố gắng gọi hàm với 1 hoặc 3 đối số, bạn sẽ gặp lỗi:

Thí dụ

Hàm này yêu cầu 2 đối số, nhưng chỉ nhận được 1:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil")

Lập luận tùy tiện, * args

Nếu bạn không biết có bao nhiêu đối số sẽ được truyền vào hàm của mình, hãy thêm a *vào trước tên tham số trong định nghĩa hàm.

Bằng cách này, hàm sẽ nhận được nhiều đối số và có thể truy cập các mục tương ứng:

Thí dụ

Nếu số lượng đối số không xác định, hãy thêm a *vào trước tên tham số:

def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Emil", "Tobias", "Linus")

Các đối số tùy ý thường được rút ngắn thành * args trong tài liệu Python.


Đối số từ khóa

Bạn cũng có thể gửi các đối số bằng cú pháp key = value .

Bằng cách này, thứ tự của các đối số không quan trọng.

Thí dụ

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)

my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")

Cụm từ Lập luận từ khóa thường được rút ngắn thành kwargs trong tài liệu Python.


Đối số từ khóa tùy ý, ** kwargs

Nếu bạn không biết có bao nhiêu đối số từ khóa sẽ được truyền vào hàm của mình, hãy thêm hai dấu sao: **trước tên tham số trong định nghĩa hàm.

Bằng cách này, hàm sẽ nhận từ điển các đối số và có thể truy cập các mục tương ứng:

Thí dụ

Nếu số lượng đối số của từ khóa là không xác định, hãy thêm một dấu đôi **vào trước tên tham số:

def my_function(**kid):
  print("His last name is " + kid["lname"])

my_function(fname = "Tobias", lname = "Refsnes")

Đối số Kword tùy ý thường được rút ngắn thành ** kwargs trong tài liệu Python.


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

Ví dụ sau đây cho thấy cách sử dụng giá trị tham số mặc định.

Nếu chúng ta gọi hàm mà không có đối số, nó sử dụng giá trị mặc định:

Thí dụ

def my_function(country = "Norway"):
  print("I am from " + country)

my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Chuyển danh sách dưới dạng đối số

Bạn có thể gửi bất kỳ kiểu dữ liệu nào của đối số tới một hàm (chuỗi, số, danh sách, từ điển, v.v.) và nó sẽ được coi là cùng một kiểu dữ liệu bên trong hàm.

Ví dụ: nếu bạn gửi một Danh sách dưới dạng một đối số, nó sẽ vẫn là một Danh sách khi nó đến hàm:

Thí dụ

def my_function(food):
  for x in food:
    print(x)

fruits = ["apple", "banana", "cherry"]

my_function(fruits)

Giá trị trả lại

Để cho phép một hàm trả về một giá trị, hãy sử dụng return câu lệnh:

Thí dụ

def my_function(x):
  return 5 * x

print(my_function(3))
print(my_function(5))
print(my_function(9))

Tuyên bố vượt qua

functionĐịnh nghĩa không được để trống, nhưng nếu bạn vì lý do nào đó mà functionđịnh nghĩa không có nội dung, hãy đưa vào passcâu lệnh để tránh mắc lỗi.

Thí dụ

def myfunction():
  pass

Đệ quy

Python cũng chấp nhận đệ quy hàm, có nghĩa là một hàm được xác định có thể gọi chính nó.

Đệ quy là một khái niệm lập trình và toán học phổ biến. Nó có nghĩa là một hàm gọi chính nó. Điều này có lợi ích là bạn có thể lặp lại dữ liệu để đạt được kết quả.

Nhà phát triển nên rất cẩn thận với đệ quy vì có thể khá dễ dàng để viết một hàm không bao giờ kết thúc hoặc một hàm sử dụng quá nhiều bộ nhớ hoặc sức mạnh của bộ xử lý. Tuy nhiên, khi được viết chính xác thì đệ quy có thể là một cách tiếp cận lập trình rất hiệu quả và thanh lịch về mặt toán học.

Trong ví dụ này, tri_recursion () là một hàm mà chúng ta đã định nghĩa để gọi chính nó ("recurse"). Chúng tôi sử dụng biến k làm dữ liệu, biến này giảm ( -1 ) mỗi khi chúng tôi đệ quy. Đệ quy kết thúc khi điều kiện không lớn hơn 0 (tức là khi nó bằng 0).

Đối với một nhà phát triển mới, có thể mất một khoảng thời gian để tìm ra cách hoạt động chính xác của điều này, cách tốt nhất để tìm hiểu là thử nghiệm và sửa đổi nó.

Thí dụ

Ví dụ đệ quy

def tri_recursion(k):
  if(k > 0):
    result = k + tri_recursion(k - 1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
tri_recursion(6)

Kiểm tra bản thân với các bài tập

Bài tập:

Tạo một chức năng có tên my_function.

:
  print("Hello from a function")