Python基础知识(Day-5)

#函数function

  • 什么是函数:
    函数是一段可执行的代码块,可以重复使用。
  • 函数的作用:
    1)划分功能模块,更好管理软件工程(协同开发);
    2)复用代码,减少开发工作量;
    3)提高代码阅读性,降低维护成本;
  • 函数的定义
    def functionName(list of parameters):
          ["注释"](可选)
          代码块,语句块
           return [返回值](可选)
  • 语法说明:
    1)def开头,后接函数标识符名称和圆括号();
    2)函数的命名规则与变量的命名规则一致;
    3)函数本身也是一个变量,该变量类型为可调用类型,属性为只读;
    4)函数有自己的命名空间,要让函数处理外部数据需要用参数给函数传入一些数据;       #涉及作用域概念
    5)参数列表放在圆括号内,逗号隔开,不写为空;
    6)语句块部分不能省略,如果为空语句,需要填充pass关键字
    7)不带表达式的return相当于返回None。
  • 实例:
    def add(a,b):
         return a+b
  • 函数调用:
    函数名(实参列表)
  • 调用说明:
    1)函数调用是一个表达式;
    2)如果没有return语句,函数执行完毕返回None值对象;
    3)如果函数需要返回其他的值对象需要用return语句;
    4)函数调用作为模块内部语句时,必须先定义函数,后调用函数;
  • 实例:
    a = add(10,20)
    print a
  • 函数的返回
  • 函数的参数传递:
    1)参数的传递方式:
    a、位置传参;               #sum(a,b,c);以形参的顺序,进行传参
    b、关键字传参;           #sum(b=1,a=2,c=3);   以形参赋值实参,可以打乱顺序,但是,在使用的时候,必须不可缺少关键                                           字,同时不可减少关键字。
    c、序列传参;              #序列类型,list,tuple,str,作为参数列表传递,要求为:序列的元素个数必须与参数的个数相同
                                           s1 = [1,2,3], myfun(*s1)   等同于   myfun(s1[0],s1[1],s1[2])   #myfun函数的形参有三个。
    d、字典关键字传参;     #实参和形参通过字典进行传递和匹配,字典的值传递给键对应的形参
                                            d1 = {"a":33,"b":23,"c":12}  myfun(**d1)   #ok,myfun(a,b,c):.....形参为三个
    e、综合传参                   #以上几种方法,混合使用。
  • 函数的缺省参数:
    函数的形参如果被赋予默认参数值,那么该函数在调用时,如果对应的形参没有实参进行值传递,则使用默认值计算;
    实例:def info(name,age=1,addr = "不祥"):
                   print("name",name,"age":,age,"addr":,addr)
               info("zhangsan")                          #name:zhangsan,age:1,addr:不详
               info("zhangsan",23,"beijing")       #name:zhangsan,age:23,addr:beijing
    缺省参数说明:
    缺省参数必须自右至左依次存在,如果一个参数有缺省值,其后后面的都要为缺省值
    应用广泛
  • 函数的不定长参数
    两种:星号元组形参,双星号字典形参
    1)星号元组形参:
    语法:def functionname(*tuplename):
                    statement
    实例:def myfun(*args):
                   print(args)
                   for x in args:
                         print("参数":x)
               s = (1,2)
               myfun(*s)
    2)双星号字典形参
    语法:def functionname (**dictname):
                   statement
    实例:def myfun(**args):
                   print("参数的个数:",len(args))
                   for k,v in args.items():
                        print(k,">>",v)
               #diaoyong
                myfun(name="midu",age=15)
    3)介于上面二者间的,命名关键字形参:
    语法:def functionname (*,命名关键字形参名):
                    statement
               or
               def functionname (*args,命名关键字形参名):
                    statement
    注意:星号后面的参数必须使用关键字的传参形式,其关键字传递参数在实参列表中的位置是可变,但必须是关键字传参。
  • 函数的参数列表顺序:
    位置形参,缺省参数,星号元组形参,双星号字典形参,命名关键字可以混合使用
    函数参数自左至右的顺序为:
         位置形参,星号元组形参,命名关键字形参,双星号字典形参,默认
    实例:def fn(a,b,*args,c,**kwargs):
                    pass
               fn(100,200,300,400,c="C",d= "D,e="E")
  • 可变\不可变类型的实参的参数传递的区别
    可变类型:list,set,dict
    不可变类型:frozenset,tuple,str,numbers
    注意:可变,在改变其元素时,不释放对象的内存,不可变类型,在改变参数时,原先的实参会被释放,重新开辟空间,才可以重新进行传参。

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值