python基础之return,参数
函数的返回值
1.什么是返回值:
返回值是一个函数的处理结果
2.为什么要有返回值
如果需要在程序中拿到函数的处理结果,做进一步的处理,则需要函数必须有返回值
3.函数返回值的应用:
函数的返回值用return定义
格式: return x
注意:1.return是一个函数结束的标志,可有多个return,但只要执行一次,函数就会结束运行
2.return的返回值五类型限制,可任意数据类型
3.返回值无个数限制,可用逗号分开多个任意类型的返回值
0个:返回None 1个:返回值就是值本身
多个:返回值为元组
4.不写return,默认会在最后return None
调用函数
1.什么是调用函数
函数名() 即调用,会执行函数体代码
2.为何要调用?
执行函数的功能
3.函数调用的三种形式
def count(x):
return x
1.普通:count(x)
2.放在运算中:count(x) * 10
3.作为参数调用:count(count(x))
函数参数的应用:
形参:在函数定义阶段括号内定义的参数,称为形参,本质是变量名
实参:在函数调用阶段括号内传入的值,称为实参,本质是变量的值
详细分类:
1.位置形参:在函数定义阶段,按从左到右的顺序依次定义的参数
特点:必须被传值,不可多,不可少
位置实参:在函数调用阶段,按从左到右的顺序依次定义的参数
特点:按照位置为对应的形参依次传值
2.关键字实参:按key:value传值,称关键字实参
特点:可以打破位置的限制,但仍能为指定的形参赋值
注意:1.可以混用位置参数与关键字实参,但位置实参必须在前面
2.可以混用,但不能对一个形参重复赋值
3.默认参数:在函数定义阶段,就已经为形参赋值
特点:在定义阶段已被赋值,意味着在调用时可以不为其赋值
def foo(x, y = 10): y=10就是默认参数
pass
注意:1.位置形参必须放在默认参数前面
2.默认参数的值只在定义阶段赋值一次,即定义时就固定写死了
3.默认参数的值通常应该定义不可变类型
总结:实参的应用:可取决于个人的习惯
形参的应用:大多数情况下调用值都一样:默认参数
大多数情况下调用值不一样:位置参数
4.可变长参数:指的是在函数调用时:传入的参数个数可以不固定,而调用函数时,传值的方式无非两种,一种是位置实参,另一种是关键实参,所以对应着形参也必须有两种解决方案来分别接收溢出的位置实参(*)与关键字实参(**)
位置参数(*)
①.形参中*接收溢出的位置实数,然后存成元组的形式,赋值给*后的变量
②.实参中的参数也可以带*:
实参中带*,*会将该参数的值循环取出,打散成位置参数,但凡带*实参,它就是位置实参,应该打散成位置实参看
约定俗成:形参中的*变量名的写法都是*args
关键字参数(**)
①.形参中的**会将溢出的关键字实参全部接收,然后存成字典的形式,赋值给**后的变量名
②.实参中带**,**会将该参数的值循环取出,打散成关键字实数,但凡带**的实参, 它就是关键字实参,应该打散成位关键字参看。**后必须是字典
约定俗成:形参中的*变量名的写法都是**kwargs
应用:
def info(name,age,sex)
print(name)
print(age)
print(sex)
def wrapper(*args,**kwargs):
info(*args,**kwargs)
wrapper(‘egon’,18,’male,)
这样使用(*args,**kwargs)作为参数时,可以原封不动的把外部调用时的参数原封不动地 传给内部参数
python基础之return,参数的更多相关文章
- python基础——函数的参数
python基础——函数的参数 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复 ...
- Python基础之函数参数
一.实参 1.实参分类: 2.实参基础代码: def fun01(a, b, c): print(a) print(b) print(c) # 位置传参:实参与形参的位置依次对应 fun01(1, 2 ...
- Python基础 --函数的参数
定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解 ...
- python基础之带参数装饰器和迭代器
带参数的装饰器:就是在原装饰器外再包一层函数 def auth(driver='file'): def auth2(func): def wrapper(*args,**kwargs): name=i ...
- python基础之函数参数、嵌套、返回值、对象、命名空间和作用域
函数的使用原则 函数的使用必须遵循:先定义后使用的原则 函数的定义,与变量的定义是相似的,如果没有事先定义函数而直接引用就相当于在引用一个不存在变量名 定义阶段:只检测语法,不执行代码,当出现语法错误 ...
- Python基础之函数参数与返回值进阶
参数作用:如果外界希望在函数内部处理数据,就可以将数据作为参数传入函数内部: 返回值作用:如果希望一个函数函数执行完成后,向外界报告函数的执行结果,就可以使用函数的返回值. 函数的返回值 进阶 利用元 ...
- python基础-4 函数参数引用、lambda 匿名函数、内置函数、处理文件
上节课总结 1.三元运算 name=“name1”if 条件 else “name2” 2.深浅拷贝 数字.字符串 深浅,都一样 2.其他 浅拷贝:只拷贝第一层 深拷贝:不拷贝最后一层 3.set集合 ...
- python基础之函数参数,名称空间,以及函数嵌套
函数进阶内容梗概: 1. 函数参数--动态传参 2. 名称空间, 局部名称空间, 全局名称空间, 作⽤用域, 加载顺序. 3. 函数的嵌套 4. gloabal , nonlocal 关键字 1. 函 ...
- python函数基础以及函数参数简解
python中函数分为函数.内置函数Python所有的内置函数 自定义函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. ...
随机推荐
- Spark记录-Scala语法基础
参考:http://docs.scala-lang.org/cheatsheets/index.html.http://docs.scala-lang.org/.http://www.scala-la ...
- 用到的设计模式总结--单例模式+工厂方法模式+Builder模式
一,工厂方法模式和单例模式 工厂方法模式中有一个抽象的工厂接口和一个抽象的产品接口.然后,具体的工厂实现抽象工厂并负责生产具体的产品.由客户端决定 new 哪个具体的工厂,从而生产哪种产品. 因此,与 ...
- 新建 Spring Mvc Web + Maven 的 maven 错误 (二)
新建项目后,可能由于哪边配置不正确,或也可能是编码问题,就有可能在创建初始就可能发生错误: 这是 pom.xml 中提示的错误,有的人说要删除 maven 的本地仓库位置:c:\用户[Users]\A ...
- 【LibreOJ】#6392. 「THUPC2018」密码学第三次小作业 / Rsa 扩展欧几里得算法
[题目]#6392. 「THUPC2018」密码学第三次小作业 / Rsa [题意]T次询问,给定正整数c1,c2,e1,e2,N,求正整数m满足: \(c_1=m^{e_1} \ \ mod \ \ ...
- 20155314 2016-2017-2 《Java程序设计》第5周学习总结
20155314 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 理解异常架构 牚握try...catch...finally处理异常的方法 会用throw, ...
- 第5月第15天 php email
1. <?php require_once "Mail.php"; $from = "luckyeggs<fuping304@163.com>" ...
- [转]Linux联网问题
一.Kali联网问题 首先ifconfig,可以看到没有正在工作的网卡,只有localhost 然后ifconfig -a,可以看到eth0这块网卡并没有离家出走,只是罢工了而已 打开/etc/net ...
- 正则匹配URL地址
import re u = "http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]) ...
- python3光学字符识别模块tesserocr与pytesseract
OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程,对应图形验证码来说,它们都是一些不规则的字符,这些字符是由 ...
- 基于滑动窗口协议写的程序(UDP实现) .
正好有一个大作业关于用socket实现滑动窗口协议,所以写了一个,模拟接收方与发送方窗口都是2,用两个线程实现. 下面是代码,注释的比较详细了. socket_udp.h #include<st ...