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就结束这个程序。

  • 相关阅读:
    C# 调用C++ dll 返回char*调用方式(StringBuilder乱码)
    Linux/Centos下安装部署phantomjs
    SQLEXPR_x64_CHS、SQLEXPRADV_x64_CHS、SQLEXPRWT_x64_CHS、SqlLocalDB、SQLManagementStudio_x64_CHS各版本说明
    linux安装phantomjs,-bash: /usr/local/bin/phantomjs: is a directory解决方案
    [转]EAS BOS MsgBox使用大全
    SQL 2005用Windows身份验证登陆18456错误
    [原]EAS动态扩展平台(DEP)服务端调用oracle存储过程
    Uuid, BOSObjectType, BosUUid 区别
    [转]oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。
    [转]如何拷贝一个 SQL Server 的表
  • 原文地址:https://www.cnblogs.com/dmjsd/p/11007004.html
Copyright © 2011-2022 走看看