函数:
def 函数名(变量名1,变量2.。。):
函数体
在 python 中,类型属于对象,变量是没有类型的:
a=[1,2,3] a="Runoob"
[1,2,3]是列表类型,
"Runoob"是字符串string类型。a是变量,没有类型,它只是一个对象的引用,可以指向list类型,也可以指向string类型
---------------------------------------------函数的注意点--------------------------
a=1 #a指向1
a=2#当a再次赋值2时,a指向2所在的内存。
python中,函数的参数传递性:
1、不可变类型:整型、字符串、元组;当这类参数作为函数的参数传值时,是将变量的指向传递给参数,不会影响变量本身,如下例,当b=1传给fuzhi(b)时,并不会改变b的值
def fuzhi(a):
a=2
b=1
fuzhi(b);print(b)#还是打印1
2、可变类型:类似 c++ 的引用传递,如 列表,字典。如myappend(l),则是将 l指向的值真正的传过去,修改后myappend外部的l也会受影响
def myappend(List):
List.append([3,4])
print("函数内改变List值:",List)
l = [1,2]
myappend(l) #函数内改变List值: [1, 2, [3, 4]]
print("函数外改变l值:",l) #函数外改变l值: [1, 2, [3, 4]]