Python yield
語句
生成器是使用 Python 中的 yield
語句定義的。一般來說,它會將一個普通的 Python 函數轉換成一個生成器。
yield
語句提取函數,並將值返回給函數調用方,然後從停止的地方重新啟動。yield
語句可以多次調用。而 return 語句結束函數的執行並將值返回給調用者。沒有它,函數什麼也不返回。在 Python 生成器中,yield 函數用於替換將值發送回用戶而不破壞局部變量的返回函數。
什麼是生成器?
Python 生成器被用作生成迭代器的方法。生成器已經自動處理了任務。生成器可以被定義為向調用者返回生成器對象的特殊函數。
簡單地說,生成器指的是返回迭代器的函數,我們可以對迭代器進行迭代。在 Python 中,創建生成器非常容易,它使用 yield
語句而不是 return 語句。
例 1:
# Python Code for using yield statement
def myfunction(a, b):
add = a + b
yield add
sub = a - b
yield sub
mul = a * b
yield mul
div = a % b
yield div
# generator runs with for loop for getting all values
for value in myfunction(49,45):
print(value)
輸出:
94
4
2205
1.08
例 2:
# Python code for using the yield statement
def printoutput(String) :
for i in String:
if i == "a":
yield i
# string initialization
String = "Tutorial and examples"
ans = 0
print ("The number of 'a' in the string is : ", end = "" )
String = String.strip()
for j in printoutput(String):
ans = ans + 1
print (ans)
輸出:
The number of 'a' in the string is : 3
Python return
語句
return 語句通常用於結束執行,並將值返回給調用者。return 語句可以返回所有類型的值,當沒有表達式傳遞給 return 語句時,它什麼也不返回。一個函數中可以有多個return
語句,但是對於該函數的任何指定調用,只調用一個語句。
我們可以看到一個 return 語句放在函數塊的末尾,用於返回函數內部所有語句執行的最終輸出。此外,可以在前面的函數塊中看到,該函數用於停止塊中所有後續語句的執行。調用者處的程序執行通過return
語句快速重啟。當未指定值時,它不返回任何值。
例 1:
# Python code for
#demonstrating use of return statement
def myfunc(a, b):
add = a + b
sub = a - b
mul = a * b
div = a % b
return(add, sub, mul, div)
# Getting return value and printing the output
output = myfunc(49,45)
print("Addition: ", output[0])
print("Subtraction: ", output[0])
print("Multiplication: ", output[0])
print("Division: ", output[0])
輸出:
Addition: 94
Subtraction: 4
Multiplication: 2205
Division: 1.08
例 2:
# Python code for
#demonstrating use of return statement
class check:
def __init__(self):
self.str = "Tutorial and examples"
self.x = "Kaushal"
# Object of test will be returned by this function
def fun():
return check()
# Driver code for checking the above method
t = fun()
print(t.str)
print(t.x)
輸出:
Tutorial and examples
Kaushal
收益率和收益率之間的差異報表
| 收益率報表 | return
語句 |
| Yield 返回生成器對象。 | 將結果返回給調用方。 |
| 它可以運行多次。 | 它只運行一次。 |
| 代碼可以在 yield
語句之後的下一個函數調用中執行。 | 代碼不會在 return 語句後執行。 |
| 該語句可以從停止或暫停的地方繼續。 | 此語句中的函數調用只從頭開始運行函數。 |
| yield
語句提取函數並將值返回給函數調用方。 | return 語句退出執行,並將值返回給調用方。 |
結論
在上面的文章中,我們已經看到了回報和收益報表的差異。此外,我們已經理解了這兩種語句的概念,並知道如何在 Python 程序中使用它們。
原創文章,作者:CTCM4,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/128665.html