- 简介
- 函数的定义
- 函数调用
- 参数传递
- 可更改(mutable)与不可更改(immutable)对象
- python 传不可变对象实例
- 传可变对象实例
函数在python中是能够重复利用的,组织好的,能够实现单一或者有关联功能的代码块。
它能够使程序的模块性和重复利用率大大增加,除了像是python内部函数的print(),开发者也能够自己创建函数,这样的含漱液通常被称之为自定义函数。
自定义的函数需要遵循以下的规则:
1.以def关键词开头,函数标识符名称和圆括号在后面,以冒号开始函数内容。
2.参数和自变量在圆括号内,圆括号之间定义参数。
3.第一行语句可以选择性使用字符文档用于对函数进行说明。
4.函数内容需要缩进。
5.return结束函数,返回一个值给调用者。
具体结构如下所示:
def 函数名(参数列表):
函数体
通常情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。
下面的实例是通过函数输出字符:
def hello() :
print("Hello dtcloud!")
hello()
函数调用
给函数一个名称,指定函数中的参数以及代码块结构。
函数完成后,可以通过另一个函数调用执行,业界已通过命令行执行。
下面的函数会返回输入的字符串:
def printme( dtcloud ):
# 打印任何传入的字符串
print (dtcloud)
return
# 调用函数
printme("dtcloud!")
printme("再次调用dtcloud")
参数传递
类型在python中属于对象,对象有不同类型的划分,不过变量没有类型。
可更改(mutable)与不可更改(immutable)对象string、tuples与numbers是不可更改对象,list和dict属于可以修改的对象。
不可变类型的例子是:变量a被赋值5后再被赋予10,表面上修改了啊的指,但是实际上是生成了一个新的int对象10,再用a指向它、即重新生成了a。
可变类型:变量赋值a=[1,2,3,4],再使a[2]=5,这里仅仅是修改了列表第三个元素值。本身列表没有更改。
本例的作用是使用 id() 函数用以查看内存地址的变化:
def change(dtcloud):
print(id(dtcloud)) # 指向的是同一个对象
dtcloud=10
print(id(dtcloud)) # 一个新对象
dtcloud=1
print(id(dtcloud))
change(dtcloud)
传可变对象实例
在可变对象的函数中修改参数,那么调用函数的函数中的原始参数也会随之变化,如下所示:
def changeme( dtcloud ):
"修改传入的列表"
dtcloud.append([1,2,3,4])
print ("函数内取值: ", dtcloud)
return
# 调用changeme函数
dtcloud = [10,20,30]
changeme( dtcloud )
print ("函数外取值: ", dtcloud)



