python课程第10天《函数》

Posted wanghanyao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python课程第10天《函数》相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

一 基本语句:

  def 函数名字():        # 定义函数名称

    函数内的语句        # 调用函数时,执行的命令

    return            # 返回一个值,可选,不填的话返回None

  函数名字()          # 调用函数

 

二 特点:

  可以在多出调用同一组代码!

 

三 返回值:

  如果没有返回值的话:可能是因为每写return语句,或者是return后面没有跟变量。

  同时,如果使用了return语句,就不会继续执行之后的语句。同样可以结束该函数。

  如果有多个return语句的话,只执行第一个执行的return

  1,返回1个值:

    可以返回字符串,列表,字典等等单个的任何数据类型。

    只要返回了数据类型,就可以被接收到。

  2,返回两个以上的值:

    return 返回结果1,返回结果2        #就可以去返回多个返回值了

    同样,返回n个值的时候,需要用n个变量去接受。如果接受变量和返回值数量不符的时候,会报错!

    但是可以使用一个变量去接受多个返回值,但是这个变量最后会变成一个元组。

  3,1个变量可以接受多个返回值的原因:

    元组、列表是可以解包的,3个元素的元组、列表可以批量赋值给3个变量。

    字典也是可以解包的,但是由于解包出来是无序的,所以不常用!

 

四 传入参数:

def 函数名(形参):

  语句(其中可以调用传入的参数进行处理!

函数名称(传入的实参)

 

  在调用函数的过程中可以传入参数!

  参数包括形参和实参:形参类似于占位符,在设置函数的时候进行定义,在调用函数的时候将导入实参,即包含实际数据的参数!

  注意:在最近做的ATM程序中,想要继承上一级函数的参数的时候可以使用传参功能,而可以不使用global语句!这里应该是之前学的知识没有用到

实处导致的!

  

五  参数的类型:

    位置参数:按照位置进行传入的参数 :

    函数名称(1,2)

    关键字传参:按照形参名字进行传参:

    函数名(a = 1,b =1)

      注意:可以两种传参一起用,但是必须先使用关键传参,之后再使用位置传参。否则可能导致一个形参得到两个实参,而报错!

    位置参数必须传入参数,否则报错。

    关键字传参是可以定义默认值的。

    在形参中,默认值一定要放在位置参数之后!  

    动态参数:*args:可以接受任意数量的参数。后面的args意思是很多arguments的意思!(接受按照位置传参的值,组织成一个元组)

      *可以把后面的参数编程一个动态参数,可以无限多地接受参数!

      动态参数如果不传参数,就返回一个空的元组!

    动态参数应该放在所有位置参数之后!但是应该放在默认参数之前!

    动态参数是不能接受按照关键字传参的功能。

    动态参数2:**kwargs:可以接受用key = value进行传入。这时候,得到的就是一个字典的数据类型了。(接受的是按照关键字传参的值,组成一个字典!)

    注意:以上两种接受方式是可以同时使用的! 

 

    参数的顺序总结:位置参数、动态元组参数、默认参数、动态字典参数。

     


六 一些常见的问题:

 

想把列表里的所有元素传到一个动态参数中?

传列表里的元素为参数!

def func(*args):

  print(args)

l = [1,2,3,4,5]

func(*l)

>>>(1,2,3,4,5)

 

传字典中的键值对为参数!

def func(**kwargs):

  print(kwargs)

d = {‘a‘ : 1,‘b‘ : 2,‘c‘ : 3}

func(**d)

>>>{‘a‘ : 1,‘b‘ : 2,‘c‘ : 3}

 

七 给函数增加备注:

在函数的开头直接写一个长字符串,就可以对函数进行注释

格式:

  对函数进行大体说明

  再对参数进行具体说明

  再说return返回的是什么东西

 

按照这个顺序进行说明,才是标准的格式!

    

  

  

 

---恢复内容结束---


以上是关于python课程第10天《函数》的主要内容,如果未能解决你的问题,请参考以下文章

python课程第一天笔记-la

python第九天课程:已经延误了4天 生命不该如此

Python自动化运维课程学习--Day3

第75天python学习 JavaScript自学

大数据实战课程第一季Python基础和网络爬虫数据分析

大数据实战课程第一季Python基础和网络爬虫数据分析