前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >函数和参数

函数和参数

作者头像
stormwen
发布2019-08-05 10:30:24
9120
发布2019-08-05 10:30:24
举报
文章被收录于专栏:公众号:googpy公众号:googpy

Python里面有很多内置函数,使用函数可以让我们更快捷得实现要求,但函数那么多,死记硬背肯定不行,就需要我们平时多留心,遇到新的内置函数,多用help指令看看他的功能,多重复几次,肯定会记住的。

除了内置函数,我们在编写代码时,还需要根据自己需要,编写自定义函数。所以,我们就一起学习一下函数这个知识点吧!

刚才已经说过了,如果我们想查看Python内置函数的功能,可以用help(函数名字)实现这个功能。

有人说,要想学好一门编程语言,就需要接受这门语言的哲学。那么对于Python哲学的最好阐述,莫过于核心开发者Tim Peters所总结的“Python之禅”了,我们怎么查看它呢?启动Python解释器后,输入import this就可以看到全文啦。

我们怎么自定义一个函数呢?它的基本模板如下:

代码语言:javascript
复制
def funcname(paramter_list):
     pass

比如,我在这里定义一个两个数相加的函数

代码语言:javascript
复制
def add(x,y):
     result = x+y
     return result

这段代码中有return语句,如果没有它,调用函数就会返回None。那么如何调用函数呢?

代码语言:javascript
复制
a = add(1,2)
print(a)

这样就可以实现调用刚才编写的加法函数了。

Return的补充说明:

首先return后面的语句是不会执行的,其次,return可以返回任意类型的变量函数,还可以返回一个函数哦。

函数的参数

我们定义函数时出现的参数称作形式参数,比如刚才加法函数中的x、y;调用函数时的参数称作实际参数,比如1,2。需要说明一下,在调用函数时,如果没有特别说明,输入的参数会按形参顺序自动分配,也就是x=1,y=2。

如果你想y=1,那么调用函数时,就必须指出来,这里y=1就是关键字参数,它可以直观的反映实参被赋值给哪个形参,增加了代码的可读性。

关于参数,我们定义函数,还有默认参数必须参数这两个概念,比如:

代码语言:javascript
复制
def print_student_files(name,gender='男',age=18,college ='人民路小学'):
     print('我叫'+name)
     print('我今年'+str(age) + '岁')
     print('我是'+gender +'生')
     print('我在'+college+'上学')

name是必须参数,其他已经给出具体值的就是默认参数,但要注意的是,必选参数和默认参数不能混杂使用。

当有多个默认参数时,我们既可以按顺序提供默认参数,也可以不按顺序提供默认参数。

代码语言:javascript
复制
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个。在参数前面加上*就是可变参数。

代码语言:javascript
复制
def calc(*numbers):
      sum=0
      for n in numbers:
           sum= sum+n*n
      return sum


calc(1,2)

calc(1,2,3)

在函数内部,参数numbers接收到的是一个tuple,调用该函数时,可以传入任意参数。

最后,函数内部参数定义的顺序是:必须参数、默认参数、可变参数和关键字参数。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 googpy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档