函数的定义以及基本操作
一、函数的定义及返回值
函数是可重复使用的代码段,能提高程序的复用性
def hello():
print("Hello World!")
hello()
1、函数的返回值
return 语句用于退出函数并返回一个值,没有return 语句则返回 None。
def hello():
print("Hello World!")
return "Hello World!"
print(type(hello()))
#运行结果:
#Hello World!
#<class 'str'>
二、函数的参数
1、不可变参数(Number、str、Tuple)
def change(a):
print(id(a)) # 还是外部的a
a = 10
print(id(a)) # 一个新地址
a = 100
print(id(a))
change(a)
2、可变参数(list、set、dictionary)
def change(mylist):
mylist.append([1, 2, 3, 4])
print("函数内取值: ", mylist)
return
list1 = [10, 20, 30]
change(list1)
print("函数外取值: ", list1)
3、其他参数
-
形参:就是形式参数
-
实参:实际参数
-
关键字参数:关键字参数是指使用键值对的形式key=values来确定输入的参数值
-
默认参数:简单来说就是形参赋了值
-
变参*:
- 1、变参在参数列表中有且只有一个,且只能写在最后(变参**除外);
- 2、变参以元组(Tuple进行封装传递)
-
变参**:
- 1、变参**在参数列表中有且只有一个,且只能写在最后;
- 2、变参以字典(dictionary进行封装传递)
-
参数列表的中级形态:
def test(*i, **j):
pass
三、其他函数
1、匿名函数(lambda函数)
x = lambda a, b: a ** b
print(x(2, 8))
讲解:
- a,b为形参列表
- a ** b 为lambda函数的返回值,有且只有一行
- x 为变量,赋值lambda函数后,就能以函数的形式被调用,x的类型为<class ‘function’>
2、魔法函数
以双下划线__函数名__开始和结束的函数,不能自定义。
__new__、__init__、__del__
__str__
__call__
__len__
__getitem__
__abs__、__bool__、__int__、__float_