python調用帶參函數
There are following types of function calls in python:
python中有以下類型的函數調用:
Call by value
按價值致電
Call by reference
通過參考電話
1)按價值致電 (1) Call by value )
When, we call a function with the values i.e. pass the variables (not their references), the values of the passing arguments cannot be changes inside the function.
當我們調用帶有值的函數時,即傳遞變量(而不是它們的引用)時,傳遞的參數的值不能在函數內部更改。
# call by value
def change(data):
data=45
print("Inside Function :",data)
def main():
data=20
print("Before Calling :",data)
change(data)
print("After Calling :", data)
if __name__=="__main__":main()
Output
輸出量
Before Calling : 20
Inside Function : 45
After Calling : 20
2)致電查詢 (2) Call by reference)
When, we call a function with the reference/object, the values of the passing arguments can be changes inside the function.
當我們調用帶有引用/對象的函數時,可以在函數內部更改傳遞參數的值。
Example 1: Calling function by passing the object to the class
示例1:通過將對象傳遞給類來調用函數
class mydata:
def __init__(self):
self.__data=0
def setdata(self,value):
self.__data=value
def getdata(self):
return self.__data
def change(data):
data.setdata(45)
print("Inside Function :",data.getdata())
def main():
data=mydata()
data.setdata(20)
print("Before Calling :",data.getdata())
change(data)
print("After Calling :", data.getdata())
if __name__=="__main__":main()
Output
輸出量
Before Calling : 20
Inside Function : 45
After Calling : 45
Example 2: Calling function by passing the reference to the list
示例2:通過將引用傳遞給列表來調用函數
def change(data):
data[1]=25
print("Inside Function :",data)
def main():
data=[10,20,30,40,50]
print("Before Calling :",data)
change(data)
print("After Calling :", data)
if __name__=="__main__":main()
Output
輸出量
Before Calling : [10, 20, 30, 40, 50]
Inside Function : [10, 25, 30, 40, 50]
After Calling : [10, 25, 30, 40, 50]
翻譯自: https://www.includehelp.com/python/types-of-function-calling-with-examples.aspx
python調用帶參函數