函数和参数

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,调用该函数时,可以传入任意参数。

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

本文分享自微信公众号 - googpy(googpy),作者:叫我小包总

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python2和3的区别

    学2还是3我想这是每一个初学者都会遇到的难题,我觉得作为一名新手直接上3。Python3是未来的大势所趋,2.7现在只是在维护,不会增加新的功能。

    stormwen
  • 一份真实的Python面试题

    自学Python已有一段时间了,就想着找份面试题来检验一下自己的学习情况,今天就和大家分享一份自己从网上找到的货真价实的Python面试题,每道题目看似简单,但...

    stormwen
  • Python字符串处理的8招秘籍

    Python的字符串处理,在爬虫的数据解析、大数据的文本清洗,以及普通文件处理等方面应用非常广泛,而且Python对字符串的处理内置了很多高效的函数,功能非常强...

    stormwen
  • Python初学基础

    初入坑Python,打算跟着沫凡小哥的学习视频打个基础,此篇文章做一些简单的学习记录,加油加油加油啦 沫凡小哥的学习网站:https://morvanzhou....

    闪电gogogo
  • Python基础:Python函数eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

                            return                #可有可无,也可以在代码块任意位置使用

    用户2398817
  • Python基础笔记3

    要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档:

    用户2398817
  • pytho字典集合

    字典是在大括号里放置逗号分隔的 关键字:值对 ,{key ,value},是无序的,关键字相当于一个内存地址。dictionary是python唯一的映射关系,...

    东风冷雪
  • BizTalk database lookup funcatoid DbConnectionString 设定问题有解了

    前些日子有位提出了关于database lookup funcatoid设定数据连接字符串的问题。 默认情况 ? 第一个参数条件的值 value 第二个参...

    阿新
  • 统计符合某一条件的最大最小平均值

    If、Min、Max、Count、Sum、Average、Countif、Sumif,以上八个统计函数都熟知用法没有。重口难调,如果以上的用法不是很熟悉的话,可...

    用户1332619
  • 前端学习(27)~js学习(五): typeof和数据类型转换

    typeof()表示“获取变量的数据类型”,返回的是小写,语法为:(两种写法都可以)

    Vincent-yuan

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动