zoukankan      html  css  js  c++  java
  • python(五)函数

    使用函数是为了提高代码的复用率

    1  函数的定义:

    def 函数名():

           写内容

    2.  函数通过调用,才能执行。

    3  def 函数名(参数1,参数2)  这里的参数就是形参,当主函数调用这个函数的时候会传2个数,这里的参数相当于占位

    函数名(参数1,参数2)这里的参数就是实参,这个参数会传函数里的参数,然后就运算。

    def a():#无参数
        pass
    def b(name,age): #必填参数,位置参数
        pass
    def op_file(file,content=None): #默认值参数
        with open(file,'a+',encoding='utf-8') as f:
            if content:
                f.write(str(content))
            else:
                f.seek(0)
                result = f.read()
                return result
    #可变参数非必填
    #可变参数填的个数也没有限制
    def send_sms(*args):#可变参数
        print(args)
    #send_sms(1,2,3,3,4,24)
    #关键字参数非必填
    #传关键字参数的形式是name='Alex',age=18
    def t(**kwargs):#关键字参数,传入的必须得指定关键字
        print(kwargs)
    # t()
    def test(name,content=None,*args,**kwargs):
        print(name)
        print(content)
        print(args)
        print(kwargs)
    
    #必填参数、默认值、可变参数、关键字参数 必须得按照这个顺序来
    #必填参数必须写到默认值参数前面
    #默认参数必须在可变参数前面
    #可变参数必须在关键字参数前面
    
    
    def test2(name,phone,qq,addr,sex):
        print(name)
        print(phone)
        print(qq)
        print(addr)
        print(sex)
    
    
    # test('183','mingzi','1111','beijing','女')#根据顺序来传参
    test(age=36,addr='beijing',qq='1111',sex='xxx',name='xx')#根据参数名字传参,和位置没有关系
    # test('xiaoming','1823423',qq='xxx',sex='xxx',addr='xxxx')#为字参数和关键字传参
    # test('xiaoming','1823423',qq='xxx',sex='xxx') #错误的,不能这么写

    4. 函数会有返回值,返回给调用的函数。

               返回多个变量:

                         用一个变量接收,该变量就是元组

                         用多个变量来接收,方法里定义的变量类型是啥,返回的就是啥

                        函数返回的变量要和接收的变量一致

               运用场景:解包

     def fun():
         a = 1
         b = 2
         c = 3
         return a,b,c
      
      #返回结果是元组
     result = fun()
      print(result)
     #也可以用多个变量来接收,但是函数返回几个变量,接收的变量也得是几个
     a,b,c = fun()
     print(a,b,c)
     
     #解包
     info = ['xiaohei','beijing','haidianqu',19]
    
     print(*info)

    5. 函数 通过return返回。函数遇到return就结束这个程序。

  • 相关阅读:
    leetcode Convert Sorted List to Binary Search Tree
    leetcode Convert Sorted Array to Binary Search Tree
    leetcode Binary Tree Level Order Traversal II
    leetcode Construct Binary Tree from Preorder and Inorder Traversal
    leetcode[105] Construct Binary Tree from Inorder and Postorder Traversal
    证明中序遍历O(n)
    leetcode Maximum Depth of Binary Tree
    限制 button 在 3 秒内不可重复点击
    HTML 和 CSS 画三角形和画多边行基本原理及实践
    在线前端 JS 或 HTML 或 CSS 编写 Demo 处 JSbin 与 jsFiddle 比较
  • 原文地址:https://www.cnblogs.com/dmjsd/p/11007004.html
Copyright © 2011-2022 走看看