1.函数的返回值
简单的一个加法函数

def sum1(x,y):sum = x+yreturn sum
ret = sum1(2,4)
print('ret = ',ret)
#函数体中return sum 是将sum = x+y的结果返回给sum1,从而能在外部得到结果;
#如果不加return sum 最终得到的结果是 None

2.不定长参数
在形参前面加上" * ",表示一个不定长的形参,如果在运行函数时,不填写实参,则会返回一个空元组

def func(name,*args):print('name = %s'%name)print(args,type(args))
func('luy')

得到结果

name = luy
() <class 'tuple'>

在形参前面加" ** ",同*args一样,也变为不定长形参,如果不填写实参,运行的时候就会返回一个空字典

def func(name,**args):print('name = %s'%name)print(args,type(args))
func('luy')

得到结果

name = luy
{} <class 'dict'>

因为字典总是成对出现的,{keys : values},所以填写实参的时候要注意,一定是成对填写

def func(name,**kwargs):print('name = %s'%name)print(args,type(kwargs))
func('luy',x = 1,y = 2,z = 3)

得到结果

name = luy
{'x': 1, 'y': 2, 'z': 3} <class 'dict'>

如果将 不定长形参,和定长形参放在一起

def func1(name,age,*args,**kwargs):print("name = %s,age =%d"%(name,age))print(args)print(kwargs)
func1("luy",18,19,20,21,x =22,y = 23,z= 24)

结果

name = luy,age =18
(19, 20, 21) <class 'tuple'>
{'x': 22, 'y': 23, 'z': 24} <class 'dict'>

我们会看到,定长形参name得到了"luy",定长形参age得到了18,不定长形参args 得到了19,20,21,并且组成元组,不定长形参kwargs得到了成对出现的x = 22,y = 23,z = 24,并且形成字典
4.函数的返回值
函数可以一次性返回多个返回值

def func():x = 1y = 2return x,y
m,n = func() #函数返回几个值,外边就需要有几个变量接着
print(m,type(m),n,type(n))

结果

1 <class 'int'> 2 <class 'int'>

如果外边只有一个变量在接着,那么返回的值就会形成一个元组

 def func():x = 1y = 2z = 3return x,y,z
m = func()
print(m,type(m))

结果

(1, 2, 3) <class 'tuple'>

但是如果函数返回的值有3个,但是外边只有两个变量接着,就会报错

def func():x = 1y = 2z = 3return x,y,z
m,n = func()
print(m,type(m),n,type(n))

结果

    m,n = func()
ValueError: too many values to unpack (expected 2)

内容涉及拆包,详细内容见这个帖子—>拆包详解<—我是真的不会了[捂脸哭]

 -------不忘初心,方得始终

学习python路中的小栗子(函数篇)相关推荐

  1. 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)

    利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)   作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...

  2. 零基础入门学习Python(19)-内嵌函数和闭包

    global关键字 全局变量的作用域是整个模块,也就是代码段内所有的函数内部都可以访问到全局变量 注意,在函数内部仅仅去访问全局变量就好,不要试图去修改它,如果随意修改全局变量的值,很容易牵一发而动全 ...

  3. 学习Python必会内容:print函数、赋值与代码块

    1.神奇的print函数 print函数相信读者一定对它不陌生,因为在前面的章节,几乎每个例子都使用了print函数,这个函数的功能就是在控制台输出文本.不过print在输出文本时还可以进行一些设置, ...

  4. python学什么教学_学习python的几个小技巧

    提示1:每天编码 学习新语言时,一致性非常重要.我们建议每天做出代码承诺.可能难以置信,但是肌肉记忆在编程中起着很大的作用.每天致力于编码将真正帮助发展肌肉记忆.尽管乍一看似乎令人生畏,但考虑每天从2 ...

  5. python编程中的小问题汇总

    前言 本文记录了我在python编程中遇到的各种小问题,持续更新. 1. x = x + 1 VS x += 1 辨析下面这两段代码: >>> x = y = [1, 2, 3, 4 ...

  6. [PyTorch] 深度学习框架PyTorch中的概念和函数

    Pytorch的概念 Pytorch最重要的概念是tensor,意为"张量". Variable是能够构建计算图的 tensor(对 tensor 的封装).借用Variable才 ...

  7. Python——内置模块中的内置函数

    内置模块中的内置函数 我们在安装好了 Python 配置文件后,也将 Python 本身带有的库也安装好了,Python 自带的库也叫做 Python的内置模块. Python 的内置模块是 Pyth ...

  8. 学习python过程中的心得体会和收获,也说一下好处坏处

    首先,Python是一种流行的编程语言,用于数据分析.机器学习.人工智能等领域.Python的语法简单易懂,易于学习和理解.这使得它成为许多初学者的首选编程语言. 对于初学者来说,建议从基础开始学习, ...

  9. 在python中定义类时、运算符重载_自定义 Python 类中的运算符和函数重载(上)...

    如果你对 Python 中的str对象使用过 + 或 * 运算符,你一定注意到了它的操作与 int 或 float 类型的区别: 你可能想知道同一内置运算符或函数如何对不同类对象进行不同操作的.这分别 ...

最新文章

  1. Docker核心技术 1
  2. 装机之windows10和ubuntu双系统
  3. ODBC连接oracle 10g 客户端
  4. 9.21 小程序开发培训讲座
  5. c语言散列表的长度为11,2011数据结构C语言模拟试题及答案.doc
  6. 电磁场数值计算方法matlab,电磁场数值计算法与MATLAB实现
  7. 200w的数据量能够占多大内存?发生了OOM如何进行JVM调优?
  8. 气球java游戏_气球游戏-2019腾讯笔试
  9. element-ui的文本框 input加㎡平方米符号
  10. Vue 生成海报的插件vue-canvas-poster
  11. 蓬莱小课:数据分析最常用的5个工具汇总
  12. 用Linux开发板制作智能音箱,【工程师实战】只要几步,普通音箱秒变小度智能音箱...
  13. 有u盘图标但是在我的电脑里面看不到u盘结局办法—devmgmt.msc
  14. 一 MATLAB学习之axis函数总结
  15. java web全栈_web全栈java开发哪个前景好
  16. 关于ioctl幻数构造
  17. CellPress | 人工智能在临床试验中的应用
  18. 网站优化长尾词怎么做排名优化
  19. MySQL执行成本是如何计算的?
  20. PS练习4——小船漂浮

热门文章

  1. 手机移动端可滚动的导航代码
  2. Python使用OpenCV拼接图片
  3. 更精确地使用浮点数(银行或金融行业)
  4. 实战python+django+mysql开发详细步骤及代码学习
  5. 使用springMVC AOP实现日记记录
  6. 【Xilinx AX7103 MicroBalze学习笔记7】MicroBlaze AXI4 接口之 DDR 读写实验
  7. 官宣!苏州吴江开发区上线电子劳动合同平台
  8. 拓嘉辰丰电商:拼多多主图怎样把握方向提高点击
  9. 洋桃技术支持0004:注释信息出现乱码如何解决?
  10. 五阶段--k8s部署Spring Cloud应用