定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具。定义函数需要用
def 关键字实现,具体的语法格式如下:
def 函数名(形参列表):
//由零条到多条可执行语句组成的代码块
[return [返回值]]
其中,用 [] 括起来的为可选择部分,即可以使用,也可以省略。
此格式中,各部分参数的含义如下:
函数名:从语法角度来看,函数名只要是一个合法的标识符即可;从程序的可读性角度来看,
函数名应该由一个或多个有意义的单词连缀而成,每个单词的字母全部小写,
单词与单词之间使用下画线分隔。
形参列表:用于定义该函数可以接收的参数。形参列表由多个形参名组成,
多个形参名之间以英文逗号(,)隔开。
一旦在定义函数时指定了形参列表,调用该函数时就必须传入相应的参数值,
也就是说,谁调用函数谁负责为形参赋值
def my_max(x, y) :
# 定义一个变量z,该变量等于x、y中较大的值
z = x if x > y else y
# 返回变量z的值
print(z)
return z
定义一个函数,声明一个形参
def say_hi(name) :
print("===正在执行say_hi()函数===")
return name + ",您好!"
Python 中,根据实际参数的类型不同,函数参数的传递方式可分为 2 种,
分别为值传递和引用(地址)传递:
值传递:适用于实参类型为不可变类型(字符串、数字、元组);
引用(地址)传递:适用于实参类型为可变类型(列表,字典);
值传递和引用传递的区别是,函数参数进行值传递后,若形参的值发生改变,不会影响实参的值;
而函数参数继续引用传递后,改变形参的值,实参的值也会一同改变。
def demo(obj) :
obj += obj
print(“形参值为:”,obj)
print("-------值传递-----") #字符串、数值、元组
a = “C语言中文网”
print(“a的值为:”,a)
demo(a)
print(“实参值为:”,a)
print("-----引用传递-----") #列表、字典
a = [1,2,3]
print(“a的值为:”,a)
demo(a)
print(“实参值为:”,a)
None
print(None)
print(type(None)) #可以看到,它属于 NoneType 类型。