一、函数的定义
语法:
def 函数名(参数列表): 函数体
例:
def hello(): print('Hello World!')
二、函数的调用
语法:
函数名(参数列表)
例:
#定义函数 def hello(): print('Hello World!') #调用函数 hello()
输出结果如下:
Hello World!
三、参数的传递
在 python 中,类型属于对象,变量是没有类型的,string, tuple, 和 number 是不可更改的对象,而 list,dict 等则是可以修改的对象
python 中一切都是对象,严格意义上不能说值传递还是引用传递,应该说传不可变对象和传可变对象
python 函数的参数传递:
不可变类型:如整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型:如列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
传不可变对象的例子:
#定义函数 def demo(b): b = 100 print(b) b = 1 #调用函数 demo(b) print(b)
输出结果如下:
100 1
从结果可以看出函数外部b的值并没有发生变化
传可变对象的例子:
#定义函数 def demo( list ): list[0] = 100 print(list) list = [1,2,3,4] #调用函数 demo(list) print(list)
输出结果如下:
[100, 2, 3, 4] [100, 2, 3, 4]从结果可以看出,在调用过函数之后,函数外部的list中的值也发生了改变