zoukankan      html  css  js  c++  java
  • python函数基础(函数的定义和调用)

    函数的定义

    python定义函数使用def关键字

    return[表达式]语句用于退出函数,选择性的向调用方返回一个表达式,不带参数值的return语句返回none

    def 函数名(参数列表):
        函数体
    def get_money_fromATM(cardno,password,money):
        #密码要求是6位字符串类型
        if type(password) is str and len(password)==6:
            print('密码正确')
        else:
            print('密码格式错误')
        #金额小于3000元的能被100整除的整数
        if type(money) is int :
            if money%100==0 and money<=3000:
                print('金额正确')
            else:
                print('金额格式错误,请重新输入')
    
    get_money_fromATM(12412412412,'123456',2300)
    
    
    #运行结果
    密码正确
    金额正确
    #计算面积的函数
    def z(x,y):
        i=x*y
        print(i)
       
    z(2,7)
    
    #运行结果:
    14

    def sum(x,y):
        z=x+y
        print('函数内',z)
    
    #调用的函数中没有return表达式
    z=sum(5,9)
    print('函数外',z)
    
    #运行结果
    函数内 14
    函数外 None
    def sum(x,y):
        z=x+y
        print('函数内',z)
        return z
    
    #调用的函数中没有return表达式
    z=sum(5,9)
    print('函数外',z)
    
    #运行结果
    函数内 14
    函数外 14

    可变参数

    def sum(*lst): 参数前面加一个星号,表示这个参数是可变的,也就是说可以接受多个参数,将这些参数构成一个元组,只能通过为止参数传参

    可变参数有两种形式:

    • 位置可变参数 : 参数前加一个星号,参数构成一个元组,参数只能以 位置参数 的形式传参
    • 关键字可变参数 : 参数前加两个星号,参数构成一个字典,参数只能以 关键字参数 的形式传参

    当默认参数和可变参数一起出现的时候,默认参数相当于普通参数

    通常来说:

    • 默认参数靠后
    • 可变参数靠后
    • 默认参数和可变参数不同时出现

    keyword-only: 必须以Key->Value对的形式出现的,叫做keyword-only

    参数的传递

     

     传递不可变对象实例

    def jiaohuan(m,n):
        temp=m
        m=n
        n=temp
        return
    
    a=2
    b=3
    print(a,b)
    jiaohuan(a,b)
    print(a,b)
    
    #运行结果
    2 3
    2 3

    调用函数时可使用的正式参数类型:必需参数、关键字参数、默认参数、不定长参数

    必需参数

      必需参数须以正确的顺序传入函数。调用时的数量不须和声明时的一样

      调用printme函数,必须传入一个参数,不然会出现语法错误

    def printme(str):
        "打印任何传入的字符串"
        print(str)
    
    printme("调用printme函数")
    
    #运行结果
    调用printme函数

    关键字参数

      关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值

      使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为python解释器能够用参数名匹配参数值

    def printme(str):
        "打印任何传入的字符串"
        print(str)
    
    printme(str="调用printme函数")
    
    #运行结果
    调用printme函数

    参数的默认值 

    def inc(base,x=1): 给第二个参数设置一个默认值,若是不传递参数,则使用默认的参数值,若是传递参数,则使用传递的参数值

    默认参数

      调用函数时,如果没有传递参数,则会使用默认参数,默认参数只能放在参数列表的最后一个,但可以有多个默认参数

    def sum(name,age=50):
        print(name,age)
    
    name='白云'
    age=45
    sum(name,age)
    
    #运行结果
    白云 45

    不定长参数

      你可能需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数,声明时不会命名

      加了星号的变量名会存放所有未命名的变量参数。如果在函数调用时没有指定参数,它就是一个空元组,我们也可以不向函数传递未命名的变量

    def printinfo(str,*varchar):
        '打印任何输入的字符串'
        print('输出:')
        print(str)
        for var in varchar:
            print(var)
    
    #调用函数printinfo
    printinfo(10)
    printinfo(70,60,50,40,30)
    
    #运行结果
    输出:
    10
    输出:
    70
    60
    50
    40
    30

    匿名函数

    python使用laabda来创建匿名函数

    所谓匿名,即不再使用def语句这样标准的形式定义一个函数

    sum=lambda x,y:x+y
    
    print(sum(1,2))
    
    #运行结果
    3
     
  • 相关阅读:
    利用JQuery一步步打造无缝滚动新闻
    asp.net操作oracle存储过程的小问题
    C# Tostring() 格式大全 [转]
    Oracle存储过程总结【转】
    JQuery中text()、html()和val()的区别
    JQuery的JSON数据格式
    HDU 1065 I Think I Need a Houseboat
    POJ1251 Jungle Roads
    HDU3177 Crixalis's Equipment
    HDU1042 N!
  • 原文地址:https://www.cnblogs.com/jingdenghuakai/p/11674222.html
Copyright © 2011-2022 走看看