zoukankan      html  css  js  c++  java
  • 05.Python基础--函数

    定义函数:

    一个无功能的函数:

    def function():

      pass     # 这个函数是干什么的?

    function()  # 调用这个函数

    一个简单的函数:

    def function(a,b):

      sum = a+b

      return sum    #函数的返回值,return不必须,没有return则返回一个None值

    data = function(1,2)     #将函数赋给data 最终意味着该函数return的sum值也赋给了data

    tips:当程序执行到return的时候,程序将停止执行函数内余下的语句 

    函数中参数传递:

      位置传递--数值

    def function(a,b):

      pass

    function(1,2)     #位置1对应a  位置2对应b 进行传递

      位置传递--列表

    list = ['1','2','3']

    def function(a):

      pass

    function(list)     #将list传递给了a

      关键字传递(关键字并不用遵守位置的对应关系,但位置参数要出现在关键字参数之前)

    def function(a,b,c):

      pass

    function(1,c=2,b=1)     #构成的传递关系为a=1 b=1 c=2

      参数默认值

    def function(a,b,c=1):  # 这里c=1就是默认值default,如果在参数传递没有涉及c则使用默认值1,如果涉及则使用涉及的新值

      pass

    function(1,b=1)        #构成的传递关系为a=1 b=1 c=1

    function(1,4,c=5)     #构成的传递关系为a=1 b=1 c=5

     

      包裹传递  (我们不清楚要传递多少个参数时,我们就将所有的参数包裹起来,整体传递)

    def function(*data):  #  一个*为了提醒python,这是一个元祖包裹传递   两个*则为字典包裹传递

      pass

    function(1,2,3,4,5,6,7,8,9)        #构成的传递关系为将9个参数包裹至data里,并且根据位置合并成一个tuple

    def function(**data):  #  **为了提醒python,这是一个字典包裹传递

      pass

    function(a=1,b=2,c=3)        #构成的传递关系为将3个参数包裹至data里,并且根据a,b,c为key 1 2 3为value合并成一个dict

      解包裹  (传入* 或者 ** 的tuple和dict,在函数内容中解开)

    data = (1,2,3)

    def function(a,b,c):  

      pass

    function(*data)        #构成的传递关系为将3个参数解开分配给a,b,c

    tips:字典的解包裹原理一致

      函数作为参数传递

    def test(x,y):

      sum = x+y

      retutn sum

    def function(t,b,c):

      t(b,c)

    function(test,1,2)  #构成的参数传递将test函数传入function函数中,在function函数中就具有了test函数的功能

  • 相关阅读:
    Mac安装Homebrew的那些事儿
    SpringBoot:如何优雅地处理全局异常?
    JDK8日常开发系列:Consumer详解
    Docker 快速安装Jenkins完美教程 (亲测采坑后详细步骤)
    Linux安装Git-两种方式详细教程)
    Linux安装maven(详细教程)
    Linux安装jdk(详细教程)
    Docker基础概念与安装
    JVM参数及调优
    JDK内置工具命令
  • 原文地址:https://www.cnblogs.com/zhouA/p/14480879.html
Copyright © 2011-2022 走看看