Python里面有很多内置函数,使用函数可以让我们更快捷得实现要求,但函数那么多,死记硬背肯定不行,就需要我们平时多留心,遇到新的内置函数,多用help指令看看他的功能,多重复几次,肯定会记住的。
除了内置函数,我们在编写代码时,还需要根据自己需要,编写自定义函数。所以,我们就一起学习一下函数这个知识点吧!
刚才已经说过了,如果我们想查看Python内置函数的功能,可以用help(函数名字)实现这个功能。
有人说,要想学好一门编程语言,就需要接受这门语言的哲学。那么对于Python哲学的最好阐述,莫过于核心开发者Tim Peters所总结的“Python之禅”了,我们怎么查看它呢?启动Python解释器后,输入import this就可以看到全文啦。
我们怎么自定义一个函数呢?它的基本模板如下:
def funcname(paramter_list):
pass
比如,我在这里定义一个两个数相加的函数
def add(x,y):
result = x+y
return result
这段代码中有return语句,如果没有它,调用函数就会返回None。那么如何调用函数呢?
a = add(1,2)
print(a)
这样就可以实现调用刚才编写的加法函数了。
Return的补充说明:
首先return后面的语句是不会执行的,其次,return可以返回任意类型的变量函数,还可以返回一个函数哦。
函数的参数
我们定义函数时出现的参数称作形式参数,比如刚才加法函数中的x、y;调用函数时的参数称作实际参数,比如1,2。需要说明一下,在调用函数时,如果没有特别说明,输入的参数会按形参顺序自动分配,也就是x=1,y=2。
如果你想y=1,那么调用函数时,就必须指出来,这里y=1就是关键字参数,它可以直观的反映实参被赋值给哪个形参,增加了代码的可读性。
关于参数,我们定义函数,还有默认参数和必须参数这两个概念,比如:
def print_student_files(name,gender='男',age=18,college ='人民路小学'):
print('我叫'+name)
print('我今年'+str(age) + '岁')
print('我是'+gender +'生')
print('我在'+college+'上学')
name是必须参数,其他已经给出具体值的就是默认参数,但要注意的是,必选参数和默认参数不能混杂使用。
当有多个默认参数时,我们既可以按顺序提供默认参数,也可以不按顺序提供默认参数。
print_student_files('小明','男',18,'人民路小学')
print('~~~~~~~~~~~~~~~~~~~~~~~')
print_student_files('猪小萌')
print('~~~~~~~~~~~~~~~~~~~~~~~')
print_student_files('果果',age=17)
print('~~~~~~~~~~~~~~~~~~~~~~~')
print_student_files('喜小乐','女',16)
print('~~~~~~~~~~~~~~~~~~~~~~~')
print_student_files('果果',age=17,college='光明小学',gender='女')
最后还有一个可变参数,就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。在参数前面加上*就是可变参数。
def calc(*numbers):
sum=0
for n in numbers:
sum= sum+n*n
return sum
calc(1,2)
calc(1,2,3)
在函数内部,参数numbers接收到的是一个tuple,调用该函数时,可以传入任意参数。
最后,函数内部参数定义的顺序是:必须参数、默认参数、可变参数和关键字参数。