函数定义:
def 函数名(参数):
函数体
单独打印函数名时会显示函数地址
调用函数:函数名+(参数)
def func(a):
print(a)
print(func)
func('value')
# 输出结果:
<function func at 0x000001F4391D1E18>
value
查看数据类型和判断数据类型的函数:
type() 查看数据的数据类型
isinstanse() 判断数据是否是指定的数据类型,返回值为bool值
l1 = [1, 2, 3, 4]
print(type(l1))
print(isinstance(l1, list))
# 输出结果:
<class 'list'>
True
关键字参数:可以在命名函数是定义参数的值,调用时如果传参则按调用时的值计算,不传则按定义时的值计算
def func(a='default'):
print(a)
func()
func(a='value')
# 输出结果:
default # 不传参时输出的默认值
value
return 返回值
1.return后面可以是一个参数,接收时 a= add(1,2)
2.return后面是多个参数,如果是多个参数则底层会将多个参数先放在一个元组中,
将元组作为整体返回, a= add(1,2) a------>(1,2,3)
3.接受的时候也可以是多个参数 return a,b ------> a,b=add(1,2) -------> a = a b = b
def add(a, b):
result = a + b
print(result)
return result, a, b
result = add(3, 5)
print(result)
# 输出结果:
8 # 8为调用函数add的打印
(8, 3, 5) # 元组为result的打印
函数中的全局变量:将函数外层的变量声明为全局变量,所有函数都可以访问
全局变量如果是不可变,在函数中进行修改需要添加global关键字,如果全局变量是可变的,在函数中修改的时候就不需要加global关键字
s = 5
l = [1, 2, 3]
def func():
global s # s为整型,是不可变数据类型,需要添加global才可以修改
s += 1
l.append(s) # l为列表,是可变数据类型,不需要添加关键字,可以直接修改
return s, l
result = func()
print(result)
# 输出结果:
(6, [1, 2, 3, 6])