zoukankan      html  css  js  c++  java
  • Py修行路 python基础 (八)函数(随时更改)

    为何要用函数:

    1、解决代码重用的问题

    2、提高代码的可维护性,统一维护

    3、程序的组织结构清晰,可读性强

    定义函数

        先定义后使用!!!

    def funcname(arg1,arg2,.....)  #funcname = 函数体

     “描述信息”

       函数体

    return value

    定义无参函数   无返回值

    def foo()

        print("foo")

    定义有参函数   接受外部传入的值,有return 返回一个值

    def my_sum(x,y)

        return x+y

    定义空函数    pass

    调用函数

    语句形式:foo()

    表达式形式:res=10*my_sum(1,2)

    函数调用作为另外一个函数的参数:print(my_sum(1,2))

    函数返回值

    不写return ----->None

    return 一个值---->这个值

    return 多个值 -----> 由这多个值组成的元组

    函数的参数

    形参:定义函数时候用的参数(命名)

    实参:调用函数时候用的参数(实数) 也可以定义变量值再调用函数

    my_sum(1,2)   

    a=1,b=2

    my_sum(a,b)

    实参在函数调用的过程中有效,过了就无效!

    从实参的角度:

      按位置传值 my_sum(1,2)

      按关键字传值 my_sum(y=1,x=2)

      混合传值 my_sum(1,y=2)

    从形参角度:

      位置参数: def foo(x,y,z) (函数变化比较多)

      默认参数: def foo(x,y=1)(函数变化不多,调用次数不多)

    什么时候用?

    二者的位置排列?

    二者的特性?

    *args  def foo(x,*args)

    按位置传值,多余的值被*接收,组成元组的形式

    **kwargs  def  foo(x,**kwargs)

    按关键字传值,多余的值被**接收,组成字典的形式

    *args 接收元组,列表,字符串,集合,输出是元组
    **kwargs 接收字典,输出也是字典

    def foo(x,*args,**kwargs)

    foo(1,2,3,4,5,6,a=1,b=2,c=3)

    x=1

    args=(2,3,4,5,6)

    kwargs={"a":1,"b":2,"c":3}

  • 相关阅读:
    [SAM4N学习笔记]UART的使用
    [SAN4N学习笔记]使用SysTick精准延时
    [SAM4N学习笔记]LED点灯程序
    [SAM4N学习笔记]SAM4N工程模板搭建
    C#用大石头Xcode做数据底层注意事项
    C#MVC中@HTML中的方法
    js比较时间大小(时间为以-分割的字符串时)
    C#后台Post提交XML 及接收该XML的方法
    jq对象和DOM对象的互换
    获取和设置HTML标签中的数据
  • 原文地址:https://www.cnblogs.com/zh605929205/p/6682218.html
Copyright © 2011-2022 走看看