美文网首页
[Python基础]-12 函数

[Python基础]-12 函数

作者: 一点想法 | 来源:发表于2019-07-18 17:23 被阅读0次

1.为什么要使用函数?

当代码有规律的重复的时候,我们就可以使用函数来封装一下规律重复出现的代码,使用时调用函数即可,不需要每次重复编写相同的代码

2.调用函数

Python中内置了很多函数,我们可以直接调用,调用一个函数,我们需要知道函数名、需要传入的参数,从哪里可以获取这些函数的说明文档

>>>help(sum)
Help on built-in function sum in module builtins:

sum(iterable, start=0, /)
    Return the sum of a 'start' value (default: 0) plus an iterable of numbers

    When the iterable is empty, return the start value.
    This function is intended specifically for use with numeric values and may
    reject non-numeric types.

3.定义函数

3.1 通过def语句定义函数

1.在Python中使用def语句定义一个函数
2.函数的参数用圆括号包括,如果含有多个参数用逗号,隔开
3.函数的结尾要用冒号:标记代码块的开始,不可省略

>>> def my_abs(num):
...     if num > 0:
...             return(num)
...     if num < 0:
...             return(-num)
3.2 空函数

如果想定义一个什么也不做的函数,使用pass语句

>>> def do_nothing():
...     pass
3.3 函数返回值
  • 使用return返回函数执行结果
>>> def my_sum(a,b):
...     return a+b
>>> my_sum(4,5)
9
  • 函数可以返回多个值,其实只是返回了一个元祖
>>> def my_sum(a,b):
...     return a+b,a,b
>>> my_sum(6,7)
(13, 6, 7)  #是一个元祖中3个元素
  • 当函数中有多个return语句,只执行第一个就不再执行后面的return语句
>>> def my_sum(a,b):
...     return a+b
...     return a,b
>>> my_sum(8,5)  
13      #只执行了第一个return语句

4.函数的参数

函数的参数有多种类型,除了正常定义的必选参数,还可以使用默认参数、可变参数和关键字参数

4.1 位置参数

位置参数即按照函数定义时参数(形参)的位置

>>> def power(x,n):
...     return x**n
>>> power(2,3)
8
说明:
定义了x和n两个参数,想要计算2的立方那么我们在调用power函数时
就要按顺序传入power(2,3)才可以得出8,不可以传入power(3,2)
4.2 默认参数
  • 1.当我们需要计算任意一个数的平方时,power函数的第二个参数可以设置默认参数值为2,这样我们在调用时,就不用每次都传值
>>> def power(x,n=3):
...     return x**n
>>> power(3)
27
  • 2.当函数的参数包含位置参数和默认参数时,我们要加位置参数放在默认参数前面,否则会报下面的错误提示
>> def power(n=3,x):
...     return x**n
  File "<stdin>", line 1
SyntaxError: non-default argument follows default argument 
#提示因为把非默认参数放在了默认参数后面导致报错
  • 3.默认参数必须指向不变对象
>>> def add_end(L=[]):
...     L.append('end')
...     return L
>>> add_end()
['end']
>>> add_end()
['end', 'end']
这里使用默认参数调用时,会看到两次的结果不一样
因为list是一种可变对象,不可用其来做默认参数,改良过后:
>>> def add_end(L=None):
...     if L == None:
...             L = []
...     L.append('end')
...     return L
>>> add_end()
['end']
>>> add_end()
['end']
4.3 可变参数 *args
  • 1.当我们不确定函数参数的个数(可以是0也可以是任意个),我们可以定义可变参数*args
>>> def calc(*nums):
...     sum = 0
...     for num in nums:
...             sum = sum+num
...     return sum

>>> calc(1,2,4,5)  #传多个参数
12
>>> calc()    #不传参数
0
  • 2.当已有了一个list或者tuple时,想调用一个可变参数,使用*args
>>> lists = [1,3,4,5]
>>> calc(*lists)
13
4.4 关键字参数 **kw
  • 1.把传入的参数在函数内部自动组装成字典
>>> def person(name,age,**kw):
...     print('name:',name,'age:',age,'other:',kw)
>>> person('Alice',34,height=169)
name: Alice age: 34 other: {'height': 169}
  • 2.调用一个已定义好的字典
>>> extra = {'hobby':'sing','sex':'femal'}
>>> person('Jack',20,**extra)
name: Jack age: 20 other: {'hobby': 'sing', 'sex': 'femal'}

相关文章

  • Python第七课

    重点:while循环,嵌套循环,函数基础 时间:2019年12月12日 课程:黑马Python基础-11章、12章...

  • 阿里云平台学习打卡第一天2020-02-17

    1、Python语言基础3 函数 课时12、递归函数 写法:先写出特例计算程序,在放到函数中改进。如求阶乘函数写法...

  • [Python基础]-12 函数

    1.为什么要使用函数? 当代码有规律的重复的时候,我们就可以使用函数来封装一下规律重复出现的代码,使用时调用函数即...

  • python基础笔记

    Python基础 函数:

  • Python入门

    Python3教程 安装Python 第一个Python程序 Python基础 函数 高级特性 函数式编程 模块 ...

  • Python第八课

    重点:函数的参数和返回值,函数的嵌套调用,模块简介,列表时间:2019年12月13日课程:黑马Python基础-1...

  • python:函数说明

    Python: 函数参数魔法 2016-12-01 函数参数 在 Python 中,定义函数和调用函数都很简单,但...

  • python入门套路

    Python基础 基础数据类型 bool string list tuple dictionary 基础函数 he...

  • python基础-07-函数

    python基础-函数 1.函数的定义 例子: 2.python中函数的参数详解 必备参数demo: 默认参数de...

  • Python基础-函数

    Python基础-函数 1.函数定义 2.参数传值 3.内置函数

网友评论

      本文标题:[Python基础]-12 函数

      本文链接:https://www.haomeiwen.com/subject/eqzllctx.html