Mẹo Python đọc kiểu trả về
Thủ Thuật về Python đọc kiểu trả về 2022
Bùi Lam Khê đang tìm kiếm từ khóa Python đọc kiểu trả về được Cập Nhật vào lúc : 2022-12-19 12:32:05 . Với phương châm chia sẻ Bí quyết về trong nội dung bài viết một cách Chi Tiết Mới Nhất. Nếu sau khi tham khảo nội dung bài viết vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Admin lý giải và hướng dẫn lại nha.Khi một hàm được gọi và luồng thực thi tìm thấy một từ khóa năng suất trong hàm, thì việc thực thi hàm dừng tại chính dòng đó và nó trả về một đối tượng trình tạo cho những người dân gọi
Nội dung chính Show- Ví dụ. phương pháp năng suấtTrình tạo trong Python là gì?Sử dụng hiệu suất cao GeneratorSự khác lạ giữa hiệu suất cao Bình thường và hiệu suất cao Trình tạoLàm cách nào để đọc những giá trị từ trình tạo?sử dụng. list()sử dụng. tạiSử dụng tiếp theo()Máy phát điện sử dụng một lầnVí dụ. Trình tạo và năng suất cho Chuỗi FibonacciVí dụ. Gọi hàm với YieldKhi nào nên sử dụng Yield thay vì Return trong Python
Trong hướng dẫn Python này, bạn sẽ học
cú pháp
yield expressionSự miêu tảNăng suất Python trả về một đối tượng trình tạo. Trình tạo là những hàm đặc biệt phải được lặp lại để nhận những giá trị
Từ khóa năng suất quy đổi biểu thức đã cho thành hàm trình tạo trả về đối tượng trình tạo. Để đã có được những giá trị của đối tượng, nó phải được lặp lại để đọc những giá trị được đáp ứng cho năng suất
Ví dụ. phương pháp năng suất
Đây là một ví dụ đơn giản về năng suất. Hàm testyield() có từ khóa lợi nhuận với chuỗi “Chào mừng bạn đến với Hướng dẫn Python của Guru99”. Khi hàm được gọi, đầu ra được in và nó đáp ứng một đối tượng trình tạo thay vì giá trị thực
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() print(output)đầu ra
Đầu ra đã cho là một đối tượng trình tạo, có mức giá trị mà tất cả chúng ta đã đáp ứng để tạo ra
Nhưng chúng tôi không sở hữu và nhận được tin báo mà chúng tôi phải đưa ra để mang lại kết quả đầu ra
Để in thông báo được đáp ứng cho năng suất sẽ phải lặp lại đối tượng trình tạo như trong ví dụ phía dưới
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() for i in output: print(i)đầu ra
Welcome to Guru99 Python TutorialsTrình tạo trong Python là gì?
Trình tạo là những hàm trả về một đối tượng trình tạo hoàn toàn có thể lặp lại. Các giá trị từ đối tượng trình tạo được tìm nạp từng cái một thay vì list đầy đủ cùng nhau và do đó để lấy những giá trị thực, bạn hoàn toàn có thể sử dụng vòng lặp for, sử dụng phương thức next() hoặc list()
Sử dụng hiệu suất cao Generator
Bạn hoàn toàn có thể tạo trình tạo bằng hiệu suất cao trình tạo và sử dụng biểu thức trình tạo
Hàm tạo in như một hàm thông thường, thay vì có mức giá trị trả về, nó sẽ có từ khóa suất
Để tạo hàm tạo, bạn sẽ phải thêm từ khóa năng suất. Các ví dụ sau đây đã cho tất cả chúng ta biết cách tạo hàm tạo
def generator(): yield "H" yield "E" yield "L" yield "L" yield "O" test = generator() for i in test: print(i)đầu ra
H E L L OSự khác lạ giữa hiệu suất cao Bình thường và hiệu suất cao Trình tạo
Hãy cho chúng tôi hiểu hiệu suất cao tạo khác với hiệu suất cao thông thường ra làm sao
Có 2 hàm normal_test() và generator_test()
Cả hai hàm đều giả sử trả về chuỗi “Xin chào thế giới”. normal_test() đang sử dụng return và generator_test() đang sử dụng yield
# Normal function def normal_test(): return "Hello World" #Generator function def generator_test(): yield "Hello World" print(normal_test()) #call to normal function print(generator_test()) # call to generator functionđầu ra
________số 8The output shows that when you call the normal function normal_test() it returns Hello World string. For a generator function with yield keyword it returns and not the string.
Đây là sự việc khác lạ ở chính giữa hiệu suất cao tạo và hiệu suất cao thông thường. Bây giờ để lấy giá trị từ đối tượng trình tạo, tất cả chúng ta cần sử dụng đối tượng bên trong vòng lặp for hoặc sử dụng phương thức next() hoặc sử dụng list()
print(next(generator_test())) # will output Hello WorldMột điểm khác lạ nữa để thêm vào hàm thông thường v/s hàm tạo là lúc bạn gọi một hàm thông thường, quá trình thực thi sẽ khởi đầu và dừng khi nó được trả về và giá trị được trả về cho những người dân gọi. Vì vậy, khi quá trình thực thi khởi đầu, bạn không thể dừng hiệu suất cao thông thường ở giữa và nó sẽ chỉ dừng khi gặp từ khóa trả về
Nhưng trong trường hợp hiệu suất cao trình tạo khi quá trình thực thi khởi đầu khi nó nhận được năng suất đầu tiên, nó sẽ dừng thực thi và trả lại đối tượng trình tạo. Bạn hoàn toàn có thể sử dụng đối tượng trình tạo để nhận những giá trị, đồng thời, tạm dừng và tiếp tục quay lại theo yêu cầu của bạn
Làm cách nào để đọc những giá trị từ trình tạo?
Bạn hoàn toàn có thể đọc những giá trị từ một đối tượng trình tạo bằng phương pháp sử dụng list(), vòng lặp for và sử dụng phương thức next()
sử dụng. list()
Danh sách là một đối tượng hoàn toàn có thể lặp lại sở hữu những phần tử bên trong dấu ngoặc. Sử dụng list() trên một đối tượng trình tạo sẽ đáp ứng tất cả những giá trị mà trình tạo nắm giữ
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() print(output)0đầu ra
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() print(output)1sử dụng. tại
Trong ví dụ này, có một hàm được định nghĩa là even_numbers() sẽ đáp ứng cho bạn tất cả những số chẵn cho n được xác định. Lời gọi hàm even_numbers() sẽ trả về một đối tượng trình tạo, được sử dụng bên trong vòng lặp for
Ví dụ
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() print(output)2đầu ra
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() print(output)3Sử dụng tiếp theo()
Phương thức next() sẽ đáp ứng cho bạn mục tiếp theo trong list, mảng hoặc đối tượng. Khi list trống và nếu next() được gọi, nó sẽ báo lỗi với tín hiệu stopIteration. Lỗi này, từ next() chỉ ra rằng không hề mục nào trong list
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() print(output)4đầu ra
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() print(output)5Máy phát điện sử dụng một lần
Trong trường hợp máy phát điện, chúng chỉ có sẵn để sử dụng một lần. Nếu bạn nỗ lực sử dụng lại chúng, nó sẽ trống
Ví dụ
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() print(output)6đầu ra
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() print(output)7Trong trường hợp bạn muốn sử dụng lại đầu ra, bạn sẽ phải thực hiện lại lệnh gọi hàm
Ví dụ. Trình tạo và năng suất cho Chuỗi Fibonacci
Ví dụ sau đây đã cho tất cả chúng ta biết cách sử dụng trình tạo và năng suất trong Python. Ví dụ sẽ tạo ra chuỗi Fibonacci
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() print(output)8đầu ra
def testyield(): yield "Welcome to Guru99 Python Tutorials" output = testyield() print(output)9Ví dụ. Gọi hàm với Yield
Trong ví dụ này sẽ xem cách gọi một hàm có năng suất
Ví dụ dưới đây có một hàm gọi là test() trả về bình phương của một số trong những đã cho. Có một hiệu suất cao khác gọi là getSquare() sử dụng test() với từ khóa suất. Đầu ra đưa ra giá trị bình phương cho phạm vi số đã cho
đầu ra
Khi nào nên sử dụng Yield thay vì Return trong Python
Từ khóa Yield của Python3 trả về một trình tạo cho những người dân gọi và việc thực thi mã chỉ khởi đầu khi trình tạo được lặp lại
Trả về trong một hàm là phần cuối của quá trình thực thi hàm và một giá trị duy nhất được trả lại cho những người dân gọi
Tải thêm tài liệu liên quan đến nội dung bài viết Python đọc kiểu trả về programming python
Post a Comment