Python——函数
- 函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
- 函数的第一行可以选择性使用注释来存放函数说明
- 函数内容以冒号起始,并且缩进
- return [表达式] 结束函数。不带表达式的return相当于返回None。
参数传递
学过c语言的人都知道,函数的传参分为形参和实参。传入形参只是传入值而不是内存地址,所以相应变量的值不会被改变;而实参传递的是内存地址,函数内部对其进行改变后,相应地址的值也会被改变。
python中,将参数分为可更改(mutable)与不可更改(immutable)对象。
list, dict是可以更改的对象;string, tuples, numbers是不可更改的对象
- 传递不可变类型类似于C的值传递,如整数、字符串、元组。传递的只是值,函数内部修改的只是传入变量所复制的另一个对象,不会影响传入变量的本身。
- 传递可变类型类似于C的引用传递,如列表、字典。函数内部修改传入变量后,在外部变量也将改变。
python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。
def changeNum(a,b):
t = a
a = b
b = t
return
num1 = 1
num2 = 2
changeNum(num1,num2