zoukankan      html  css  js  c++  java
  • python之函数第一篇

    一.为什么用函数:
    解决代码重用问题
    统一维护
    程序的组织结构清晰,可读性强

    二.定义函数


    先定义后使用!!
    def funcname(arg1,arg2,...):
    """描述信息"""
    函数体
    return value

    定义函数可以分为三类:
    无参函数
    foo()
    不需要返回值
    有参函数
    bar(x,y)
    空函数
    函数体写pass

    三.调用函数
        语句形式:foo()
    表达式形式:res=10*my_sum(1,2)
    函数调用作为另外一个函数的参数:print(my_sum(1,2))

    四.函数的返回值
        可以返回任意类型
    没有return的时候 返回None
    return 可以返回一个值
    可以返回多个值,用元组的形式表示
    只能执行一次return
    五.函数的参数
    实参和形参
    def foo(x,y)
    print(x)
    print(y)
    *****在实参的角度
    1.按照位置传值
    foo(1,2)

    2.按照关键字传值
    foo(x=1,y=2)

    3.混着用
    foo(1,y=2)
    按位置传值必须在按关键字传值的前面
    foo(y=2,1)报错
    对于一个形参只能赋值一次



    *****从形参的角度分析
    位置参数:必须传值的参数
    默认参数:无需传值(可传可不传)
    默认参数必须放在位置参数的后面

    六.*args和**kwargs
    *args
    *按照位置传值以后的数字给他(元组)
    def foo(x,*args):
    print(x)
    print(args)

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

    *args与位置参数和默认参数混用

    **kwargs
    **按照关键字传值以后的数字给他(字典)
    def foo(x,**kwargs):
    print(x)
    print(kwargs)
    foo(1,y=1,z=2)


    混着用
    def foo(x,*args,**kwargs):
    print(x)
    print(args)
    print(kwargs)

    从形参的角度
    def foo(**kwargs):
    print(kwargs)
    foo(x=1,y=2,z=3)

    从实参的角度
    def foo(x,y,z=1):
    print(x)
    print(y)
    print(z)



  • 相关阅读:
    java.net. SocketException: Connection reset
    用PowerDesigner将SQL转pdm文件
    MyBatis--动态SQL(trim的用法)
    MyBatis--动态SQL(set的用法)
    MyBatis--动态SQL(where的用法)
    MyBatis--动态SQL(choose的用法)
    MyBatis--动态SQL(在insert动态插入列中使用if)
    MyBatis--动态SQL(在updae更新列中使用if)
    MyBatis--动态SQL(if的用法)
    Mybatis简介
  • 原文地址:https://www.cnblogs.com/asaka/p/6679570.html
Copyright © 2011-2022 走看看