Python基础总结之第七天开始【认识函数的参数以及返回】(新手可相互督促)
周日的早上,吃的饱饱,刷刷抖音,开始学习新一天的知识了~~~
函数的参数:
昨天的笔记中,我们已经使用了参数,在案例中的name和sex 就是参数。
一般的函数都是有参数的,函数的参数都是放在函数定义的括号里的,函数参数的命名规则和我们说的变量的命名规则基本一样,一定要清晰明了。(能概括出它的意义,让人阅读你的代码,就知道这个参数是干嘛的就行)。当然参数也可以没有,可以是一个,也可以是多个。
比如:
def name_sex(name): #定义一个name_sex函数,这个函数有一个name参数,记得冒号结尾。
def name_sex(name,sex): #定义一个name_sex函数,这个函数有两个参数,用英文逗号隔开。
对于有参数的函数,我们可以是这样直接传入参数调用。
def name_sex(name): #自定义函数name_sex()
print('我叫:%s'%name) #这是函数内部的功能代码 name_sex('Xiao Hong') #调用name_sex()这个函数,传入的参数写在括号里面
name_sex('小军')

同样的我们也可以指明参数调用,也就是我们说的关键字参数。
def name_sex(name,sex):
print('我叫:%s ' % name + '我是:%s孩子'%sex) # 这是函数内部的功能代码
name_sex(name ='Xiao Hong',sex = '男') #指明把'Xiao Hong'这个参数传给name,把'男'传给sex

相信大家理解了什么是关键字参数,但是有一个规则:就是说,如果第某个参数,使用了关键字,那么他后面的参数都必须使用关键字。
我们看个简单的案例: %d的意思是要传入的是数字对象
def name_sex(name,sex,age):
print('我叫:%s ' % name + '我是:%s孩子'%sex + '%d岁了'%age) #第一个参数会自动传给第一个参数
name_sex('Xiao Hong',sex = '男',age = 17) #第二个参数开始指定传递
一定要记住规则:如果第某个参数,使用了关键字,那么他后面的参数都必须使用关键字。(如果第一个使用了关键字参数,后面的都不使用,那么会报错的哦)

简单的参数应用方法我们就到这里,之后的自动化如果有用到其他参数我们在做细化的提升。
我们看下函数的返回值
函数的返回值可以有,也可以没有。如果我们需要这个函数返回些我们想要的结果,需要使用到return关键字:
def name_sex(name): #第二步:小军会传入给name
return name #第三步:return关键字,会把name的值,返回给变量a a = name_sex('小军') #第一步:开始使用变量a调用函数,传入'小军'这个参数
print(a) #我们打印结果,看变量a有没有指向‘小军’

函数的返回值大家理解了吗?如果还是有疑惑可以评论留言哦~
我们再看下函数里面调用函数,之前我们是在函数外面调用函数。
实际的工作场景中,我们很有可能在函数里面调用其他函数,但是需要注意的是,函数在还没有定义的时候,不能调用,否则会报错:我们先看个简单的小案例:

name我们看下正确的方法:大家看明白了吗?一定要先定义,在调用。
def name_sex(name): #第一步,定义我们的name_sex函数
print(name)
name_sex('小军') #第二步我们调用函数
搞清楚了上面的规则,接下来:我们开始函数里面调用函数~
def sex(): #定义第一个函数,供name函数调用
print('我被调用了') #sex函数的函数体 def name():
print('准备调用sex()函数')
sex() #调用函数外面的sex函数,一定要先定义,在使用 name() #调用name函数

其实把两个函数换换位置也是可以的:因为我们name()函数再没有被调用的时候,是不会去调用sex函数。当naem()函数被调用的时候,我们已经把sex()函数定义了。
def name():
print('准备调用sex()函数')
sex() #调用函数外面的sex函数,一定要先定义,在使用 def sex(): #定义第一个函数,供name函数调用
print('我被调用了') #sex函数的函数体 name() #调用name函数
如果你没有理解,听我的,把这几行代码敲上十遍,如果还是没有理解可以联系我哦~
还有一个场景就是函数里面定义一个新的函数:(记住哦~在函数A内部定义函数B后,B函数的使用范围仅仅是在函数A内部~)
def sex(): #定义第一个函数
def name():
print('我就是被定义的函数') print('我们开始调用函数里面的name()函数')
name() sex() #调用sex函数

相信你对函数有了一定的认识,那么我们认识下Python内置的一些函数吧,这些函数可都是你以后代码路上的十八般武器~~~·
a = [6,2,4,3]
print(type('a')) #type()函数可以帮助我们看当前数据是什么类型的数据对象,可以看出是一个字符串对象str
print(max(a)) #max()函数可以显示最大的数据
print(min(a)) #min()函数可以显示最小的数据
print(len(a)) #len()函数可以显示数据的长度

没错我们在使用的print()也是一个内置函数,是打印输出结果显示在我们的屏幕上
函数的基本知识就是这么多了,内置的函数还有很多,以后笔记涉及到新的函数,在细化~~~
总结:
1、函数的定义必须使用def关键字,后面是函数的名字,然后括号里面是函数的参数,可以不写参数,最后以以英文冒号结尾
2、函数定义完后,里面的函数体,要缩进,建议大家按4下空格
3、函数调用的时候就是函数的名字加括号neme() 可以传入你需要的参数,可以不写参数
4、函数括号里面的参数,如果第某个参数开始指定参数传入,那么以它开始后面的参数都要指定参数传入-------关键字参数
5、函数可以返回结果,也可以不返回,如果需要返回 就用return关键字
6、函数有时候我们需要他返回给我们结果,那么谁调用的函数,结果就返回给谁。比如 a = name() 最后返回的结果会赋值给变量a
拜拜~~~~~~不理解的小伙伴记得留言哦,欢迎关注,相互学习。。。
------------------- 一个在路上的初学者
Python基础总结之第七天开始【认识函数的参数以及返回】(新手可相互督促)的更多相关文章
- Python基础总结之第九天开始【python之OS模块对目录的操作、以及操作文件】(新手可相互督促)
年薪20万的梦想... python对文件.目录能做什么?或者说我们需要python替我们做什么?最经常的操作就是对文件的:打开.关闭.读取.写入.修改.保存等等对目录的操作,无非就是 ...
- Python——变量的引用和函数的参数和返回值的传递方式
变量的引用 在python中,所有的变量都是指向地址,变量本身不保存数据,而是保存数据在内存中的地址.我们用下面的程序来理解: a = 10 print(id(a)) a = 11 print(id( ...
- Python基础学习笔记(七)常用元组内置函数
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-tuples.html 3. http://www.liaoxue ...
- Python基础学习参考(三):内置函数
一:内置函数 在第一篇文章中,我们简单的认识了一下print()函数和input()函数,也就是输入和输出,这些函数我们可以直接的调用,不要自己定义或者引入什么,对吧?想这样的函数就叫做内置函数.这里 ...
- Python基础笔记系列九:变量、自定义函数以及局部变量和全局变量
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 变量在前面的系列中也许就可以发现,python中的变量和C中的变量有些许不 ...
- Python基础(三)——集合、有序 无序列表、函数、文件操作
1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...
- python基础-第四篇-4.1内置函数
lambda表达式 lambda表达式是对简单函数的精简化表达 语法结构:函数名 = lambda:运算表达式 def f1(a): a = a + 1 return a ret = f1(1) pr ...
- Python基础总结之第十一天开始【再深入一下函数,重新认识一下】(新手可相互督促)
感谢最近大家的关注,希望我的学习笔记对大家有帮助!也感谢各位的评论和推荐,请多多指教. 在重新认识函数之前,我们先看两个函数.一个是我们在前面笔记经常用到的print() :另一个是input() ...
- Python基础总结之认识lambda函数、map函数、filter() 函数。第十二天开始(新手可相互督促)
今天周日,白天在学习,晚上更新一些笔记,希望对大家能更好的理解.学习python~ lambda函数,也就是大家说的匿名函数.它没有具体的名称,也可以叫做一句话函数,我觉得也不过分,大家看下代码,来体 ...
随机推荐
- POJ 2486 Apple Tree ——(树型DP)
题意是给出一棵树,每个点都有一个权值,从1开始,最多走k步,问能够经过的所有的点的权值和最大是多少(每个点的权值只能被累加一次). 考虑到一个点可以经过多次,设dp状态为dp[i][j][k],i表示 ...
- ROS indigo下Kinect v2的驱动安装与调试
ROS indigo下Kinect v2的驱动安装与调试 一.libfreenect2源码安装与测试 github地址:https://github.com/OpenKinect/libfreenec ...
- HTTP之持久连接
HTTP/1.1 允许 HTTP 设备在事务处理结束之后将 TCP 连接保持在打开状态,以便为未来的 HTTP 请求重用现存的连接.在事务处理结束后仍然保持在打开状态的 TCP 连接被称为持久连接.非 ...
- FreeMarker学习(springmvc配置)
springMvc配置 <bean id="freemarkerConfig" class="org.springframework.web.servlet.vie ...
- Razor字符串处理
需要注意的是低版本是不支持C# 6语法中的string interpolation的 <label> @if (!string.IsNullOrEmpty(Model.BudgetValu ...
- SQL中instr和like的使用区别
1.instr函数 instr函数是一个字符串处理函数,它在Oracle/PLSQL中是返回子字符串在源字符串中的位置,如果在源串中没有找到子串,则返回0. instr函数定义如下: /* * 返回子 ...
- TPCH测试工具
TPC现有的测试标准为:TPC-E.TPC-C.TPC-H.TPC-App.根据这4个测试基准,目前TPC主要包括的4个技术小组委员会:TPC-E 技术小组委员会.TPC-C 技术小组委员会.TPC- ...
- linux如何交叉编译i2c-tools?
1. 获取源码 wget https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/i2c-tools-4.1.tar.xz 2. 解压 ...
- 西湖论剑2019部分writeup
做了一天水了几道题发现自己比较菜,mfc最后也没怼出来,被自己菜哭 easycpp c++的stl算法,先读入一个数组,再产生一个斐波拉契数列数组 main::{lambda(int)#1}::ope ...
- 电力项目十一--js添加浮动框
1.添加浮动窗口样式 <!-- 浮动窗口样式css begin --> <style type="text/css"> #msg_win{border:1p ...