• Python基础10_函数


    直接贴笔记 :

    #!/usr/bin/env python
    # coding:utf-8
    
    # 定义函数时要写成良好的注释习惯 通常用三个单引号
    def test(x):
        '''
        计算一个y=2*x+1
        :param x: 整型
        :return: 整型
        '''
        y = 2 * x + 1
        return y
    
    # print(test)
    print(test(4))
    
    ### 本次课参考 http://www.cnblogs.com/linhaifeng/articles/6113086.html#label1
    
    def test(): ## 后定义的函数将覆盖前面的函数
        '''
        测试函数
        :return:
        '''
        y = 33*2
        return y
    
    print(test())
    
    """
    python中函数定义方法:
     
    def test(x):
        "The function definitions"
        x+=1
        return x
         
    def:定义函数的关键字
    test:函数名
    ():内可定义形参
    "":文档描述(非必要,但是强烈建议为你的函数添加描述信息)
    x+=1:泛指代码块或程序处理逻辑
    return:定义返回值
    
    
    调用运行:可以带参数也可以不带
    函数名()
    
    """

    过程其实就是没有返回值的函数:

    #!/usr/bin/env python
    # coding:utf-8
    
    # 参考 二 为何使用函数 http://www.cnblogs.com/linhaifeng/articles/6113086.html#label1
    
    '''
    def 发送邮件(内容)
        # 发送邮件提醒
        连接邮箱服务器
        发送邮件
        关闭连接
    
    
    while True:
    
    if cpu利用率 > 90 %:
        发送邮件('CPU报警')
    
    if 硬盘使用空间 > 90 %:
        发送邮件('硬盘报警')
    
    if 内存占用 > 80 %:
        发送邮件('内存报警')
    '''
    
    
    # 总结使用函数的好处:
    #
    # 1.代码重用
    #
    # 2.保持一致性,易维护
    #
    # 3.可扩展性
    
    
    ########### 过程 就是没有返回值的函数 没有return
    
    def test01():
        msg = 'test 01'
        print(msg)
    
    
    def test02():
        msg = 'hello test02'
        print(msg)
        return msg
    
    
    def test03():
        msg = 'test 03'
        print(msg)
        return 0,10,'hello',['alex','lb'],{'WuDaLang':'lb'}
    
    
    def test04():
        msg = 'test 04'
        print(msg)
        return {'WuDaLang':'ssb'}
    
    
    t1 = test01()
    t2 = test02()
    t3 = test03()
    t4 = test04()
    
    print(t1)
    print(t2)
    print(t3)
    print(t4, type(t4))

    各种参数的示例:

    #!/usr/bin/env python
    # coding:utf-8
    
    # 1.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。
    # 函数调用结束返回主调用函数后则不能再使用该形参变量
    # 2.实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。
    # 因此应预先用赋值,输入等办法使参数获得确定值
    # 3.位置参数和关键字(标准调用:实参与形参位置一一对应;关键字调用:位置无需固定) def test2(x,y,z): print(x) print(y) print(z) return test2(3,2,1) #位置参数必须一一对应 test2(z=11,x=22,y=33) # 关键字调用:位置无需固定 但是个数必须相同 # test2(z=11,x=22,x=33) # 参数不能传2 个值,报错,无法执行。 # test2(11,y=22,x=33) # 位置传参时,也遵守不能传2 个值,报错,无法执行。 # 若混合使用,则关键字参数必须在位置参数后面。 # 可变长度参数 def test(x,*args): print(x) print(args) return test(4,5,2,3,1) # 除了第一个参数,其它的都被当成一个元组。 test(11,{"name":"jerry"}) # 字典作为一个整体传入 test(55,*{"name":"jerry","age":38}) # 字典元素传入,则只能得到key 无法获取value test(22,['a','b','c']) # 列表作为一个整体传入 test(33,*['a','b','c']) # 列表中的元素分别传入 # 4.默认参数 def test3(x=0,y=2): s = x ** y return s print(test3(3,3)) # 传了实参,将覆盖形参的默认值 def test4(x,b='mysql'): print(x) print(b) test4('hello',b='sqlite') ## 例:安装软件时的选项 def install(func1=False,func2=True,func3=True): pass # 动态参数有两种: 
      *args 接收位置参数,组成元组
      **kwargs 接收关键字参数,组成字典
      顺序: 位置参数,*args, 默认参数, **kwargs
      
    # 5.参数组
    def test5(a,*args,default=' ', **kwargs):   # 此种函数定义可以接收最大种类最大数量的参数。
    print(a)
    print(args,args[-1])
    print(default)
    print(kwargs,kwargs.get('2'))

    test5(12,*[11,22,33,44], default='aaa', **{'name':'abc','2':'ffg'}) # 传字典
    ## 小练习
    def func(x,*y,**z):
        print(x,y,z)
    
    func(1,2,3,4,name='k',age=3)
    # 得到 1 (2, 3, 4) {'name': 'k', 'age': 3}
    
    def fun1(x,*y,**z):
        print(x,y,z)
    
    fun1(1,name=2,age=3)
    # 得到 1 () {'name': 2, 'age': 3}
    # 键值参数一定是传给了两个星的字典参数.

    多个返回值 ,可以用多个变量接

    def calc_d(a,b):
        return a*a, b*b
    
    a,b = calc_d(9,8)
    print(a,b)
  • 相关阅读:
    JS 学习笔记
    Input控件只允许输入指定字符
    NPOI导出excel使用
    combobox级联检索下拉选择框
    vue父组件调用子组件方法
    EasyUI设置Layout自适应浏览器宽度和高度
    EasyUI创建选项卡并判断是否打开
    Jquery+ajaxfileupload上传文件
    Jquery禁用网页右键菜单
    c#删除指定文件夹中今天之前的文件
  • 原文地址:https://www.cnblogs.com/frx9527/p/python_10.html
Copyright © 2020-2023  润新知