博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4_函数
阅读量:4331 次
发布时间:2019-06-07

本文共 1109 字,大约阅读时间需要 3 分钟。

1. 参数重载

       1.1 参数重载的第一种情况:默认参数重载,将默认参数放在参数列表的最后,并且一定要保证默认参数指向的是不变对象。下面是指向可变对象和不变对象的例子:

def add_end1(L=[]):    L.append('end')    return Ldef add_end2(L=None):    L.append('end')    return L    >>>add_end1()['end']>>>add_end1()['end','end']>>>add_end2()['end']>>>add_end2()['end']

       1.2 参数重载的第二种情况:可变参数数目重载,在参数前添加一个*号即可:

def calc(*number):    sum=0    for n in number:        sum+=n*n    return sum##这样既可以把列表和元组传进去,也可以手动输入多个不确定数目的参数

       1.3 参数重载的第三种情况:关键字参数和命名关键字参数

##二者一般都用于字典中def person1(name,age,**kw):    print()##可变参数后面的命名关键字参数不需要*分隔符def person2(name,age,*args,city,job):    print()    ##命名关键字参数的传入必须要传入参数的名字def person3(name,age,*,city,job):    print()

2. Tips

       2.1 函数返回多个值实际上是返回一个元组

       2.2 input()函数默认接受为字符串类型,需要使用强制转换函数

       2.3 range()函数返回的是一个整数可迭代对象,并不是真正意义上的列表类型。默认必须参数为stop。range(start,stop,step),左开右闭

       2.4 不返回值的函数称为过程

       2.5 定义函数时,由于不像C语言那样对参数类型的定义有严格限制,所以如果有必要,需要对参数类型写语句做一个检查,防止出错时编译器不能提供准确的定位。

def my_abs(x):    if not isinstance(x,(int,float)):           ##类型检查语句        raise TypeError('bad operand type')    if(x>0):        return x    else:        return -x

转载于:https://www.cnblogs.com/machine-lyc/p/10635841.html

你可能感兴趣的文章
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_9、SpringBoot基础HTTP其他提交方法请求实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_12、SpringBoot2.x文件上传实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_19、SpringBoot个性化启动banner设置debug日志...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_20、SpringBoot2.x配置全局异常实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第5节 SpringBoot部署war项目到tomcat9和启动原理讲解_23、SpringBoot2.x启动原理概述...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_21、SpringBoot2.x配置全局异常返回自定义页面...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_32..SpringBoot2.x持久化数据方式介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_34、SpringBoot整合Mybatis实操和打印SQL语句...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_35、事务介绍和常见的隔离级别,传播行为...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_40、Redis工具类封装讲解和实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_37、分布式缓存Redis介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_42、SpringBoot常用定时任务配置实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_39、SpringBoot2.x整合redis实战讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第14节 高级篇幅之SpringBoot多环境配置_59、SpringBoot多环境配置介绍和项目实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_41、SpringBoot定时任务schedule讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_43、SpringBoot2.x异步任务实战(核心知识)...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_汇总
查看>>