python基础什么是函数的定义及用法
前言
小伙伴们好呀,今天呢笔者给大家来介绍一下python行数的定义和调用,函数的参数、行数的作用域、内置函数。我们都知道要想学习自动化测试必须掌握一门语言,语言中比较好学的就是python语言,所以为了学好自动化测试我们需要将基础打牢,才能更好的掌握自动化测试。
一、函数的定义和调用
1.函数的作用
对特定的一些功能进行封装,提高代码的重用率,进而提升开发的效率,格式:
def 函数名()# 函数体
2.函数名的命名规范
1)可以由字母、数字及下划线(_)组成,但不能用数字开头,且不能使用python中的关键字。
2)函数命名的风格: 单词之间下划线隔开(python中函数命名推荐这种风格), 大驼峰小驼峰写法 ,如:UserName、userName英文单词首字母大写。
3.函数的返回值:return
语法:return 表达式
1)函数的返回值是由return来决定的,return后面写什么,函数的返回值就是什么
2)如果函数中没有return,那么函数的返回值默认为 None
3)return 后面没有任何内容,返回值也是None
4)函数要返回多个数据,可以在return后面,每个数据之间用逗号隔开,调用函数之后接收到的是个元组形式的数据
注意:return的作用除了返回结果外,也可以用于结束函数的运行,只要函数中执行到return,就直接返回内容,跳出函数,return后面的代码就不会执行
4.调用函数
函数名(),示例如下:
def func():print('python666')return "abc", 4444print("99999999999999999999") # 该行不会被执行res = func()
print(res)
运行结果:
C:\software\python\python.exe D:/myworkspace/test/test/test.py
python666
('abc', 4444)Process finished with exit code 0
二、函数的参数
1.函数形参和实参
定义的参数称为:形参
调用实际传递的为:实参
2.参数传递的两种形式:
位置参数:按位置顺序进行传递
关键字参数:通过关键字指定传给某个参数
# 位置参数(按位置顺序进行传递)
def add_num(a, b, c): # a,b是形参,没有真正的值,用于接收实参return a + b - cres1 = add_num(67, 12, 1) # 此时传入的67,12是实参
print(res1)# 关键字参数(通过关键字指定传给某个参数)
res2 = add_num(b=34, a=12, c=11)
print(res2)# 参数混用时,位置参数写最前面,关键字参数写在后面,不能重复传
res3 = add_num(30, c=12, b=12)
print(res3)
运行结果:
C:\software\python\python.exe D:/myworkspace/test/test/test.py
78
35
30Process finished with exit code 0
3.函数定义的三种形参:
- 必需参数 如:def add_num(a, b, c) ,a,b,c三个参数都必须要传
- 默认参数(缺省参数) 如:def add_num(a, b, c=99) ,c是默认参数,可以传,可以不传(不传时直接使用c=99)
- 不定长参数:如:def add_num(a, b, *args, **kwargs) ,其中a和b是必需参数,*args 可以不传,也可以传多个,它接收必需参数、默认参数完之外的位置参数,以元组的形式保存,**kwargs 可以不传,也可以传多个,接收必需参数、默认参数之外的关键字参数,以字典的形式保存
def test(a, b, c, *args, **kwargs):print("a的值", a)print("b的值", b)print("c的值", c)print("*args的值", args)print("**kwargs的值", kwargs)va1 = test(11, 22, 33, 4, 3, 2)
va2 = test(11, 5, 6, 7, g=33, k=22, f=12)
print(va1, va2)
运行结果(有None是因为函数中没有返回值,调用了两次函数因此打印了两个None):
C:\software\python\python.exe D:/myworkspace/test/test/test.py
a的值 11
b的值 22
c的值 33
*args的值 (4, 3, 2)
**kwargs的值 {}
a的值 11
b的值 5
c的值 6
*args的值 (7,)
**kwargs的值 {'g': 33, 'k': 22, 'f': 12}
None NoneProcess finished with exit code 0
扩展:不定长参数可以使用*对元组(列表也可以,但一般不用)进行拆包,**可以对字典进行拆包,拆包原理如下:
# 拆包
def func():return 11,22,33 # 当返回结果有多个值时,会以元组的形式返回c1 = func()
print(c1) # 返回的是一个元组(11,22,33)a,b,c =func() # 可以通过变量把返回的元组进行拆包,接收对应的值,a接收了11,b接收了22,c接收了33
print(a,b,c) # 返回对应的元素11,22,33
运行结果:
C:\software\python\python.exe D:/myworkspace/test/test/test.py
(11, 22, 33)
11 22 33Process finished with exit code 0
拆包在自动化测试中有很大的作用,如果不理解,可以动手多敲几遍,以下是拆包示例:
def func(a, b, c):print('这是', a)print('这是', b)print('这是', c)# 利用*、**分别对元组、字典拆包:只能用在函数调用时使用
# 对元组进行拆包
func(*(1, 2, 3))print('-------分割线-------')
tu = (4, 5, 6)
func(*tu)print('-------分割线-------')
# 对字典进行拆包, 注意**kwargs接收的是接收必需参数、默认参数之外的关键字参数
# 因此字典的键要与函数的形参一致
dic = {'a': 88, 'b': 90, 'c': 91}
func(**dic)
运行结果:
C:\software\python\python.exe D:/myworkspace/test/test/test.py
这是 1
这是 2
这是 3
-------分割线-------
这是 4
这是 5
这是 6
-------分割线-------
这是 88
这是 90
这是 91Process finished with exit code 0
三、函数的作用域
1.全局变量
直接定义在py文件(即模块)中的变量,叫全局变量,在该文件中任何地方都可以使用
2.局部变量
在函数内部定义的变量,叫做局部变量,只能在该函数内部使用,函数外部无法使用
3.声明局部变量
关键字:global 在函数内部声明全局变量。
变量的查找过程:由内到外(先找函数自身的,没有再去外面找)。
如果要在外部使用函数内部定义的局部变量,需要声明该变量,简单来说就是告诉程序,这个变量在这个模块内都能使用。
name = "张三" # 定义一个全局变量def func():# global a # 如果要声明全局变量,要加上这句a = 100 # 定义一个局部变量print(a)print(name)func() # 调用函数
print("------分割线-----")
print(name) # 全局变量哪里都能使用
print(a) # 这是一个局部变量,打印a运行会报错说a没有被定义,如果要使用a就要声明a为全局变量print("------分割线-----")
aa = 10
def func():print(aa) # 变量的查找过程:由内到外(先找自身的,没有再去外面找)
func()
运行结果(因为报错了,所以后面的aa没有打印出来,只要声明全局变量就不会报错):
C:\software\python\python.exe D:/myworkspace/test/test/test.py
100
张三
------分割线-----
张三
Traceback (most recent call last):File "D:/myworkspace/test/test/test.py", line 12, in <module>print(a) # 这是一个局部变量,打印a运行会报错说a没有被定义,如果要使用a就要声明a为全局变量
NameError: name 'a' is not definedProcess finished with exit code 1
四、python内置函数
内置函数就是python编程语言中预先已经定义的函数,直接调用即可,常用的内置函数如下:
- len():获取 列表\字符串\元组\字典 中的元素总数量(数据的长度)
- eval():识别字符串中的python表达式
- zip(): 聚合打包
- max():获取数据中元素的最大值
- min():获取数据中元素的最小值
- sum():对元素进行求和
总结
文章就写到这里了哟,希望可以帮助到正在学习python自动化测试的小伙伴哟,这些都是很基础的一些东西,咱们想要进步就得先打好基础。喜欢的小伙伴记得一键三连哟。
python基础什么是函数的定义及用法相关推荐
- python基础知识之函数的定义及用法
目录 前言: 一.函数的定义和调用 1.函数的作用 2.函数名的命名规范 3.函数的返回值:return 4.调用函数 二.函数的参数 1.函数形参和实参 2.参数传递的两种形式: 3.函数定义的三种 ...
- Python基础day04【函数(定义与调用、文档说明、传参函数、全局变量、返回值、嵌套调用)】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day04[字典] 目录 3.函数 函数的定义和调用 函数定义 PEP8规范 ...
- Python基础教程:函数的定义
1,函数定义: def 函数名称([参数1,参数2,参数3......]):执行语句 2,实例一(不带参数和没返回值): ''' Python大型免费公开课,适合初学者入门 加QQ群:57981733 ...
- python中的EVAL函数的定义和用法!
https://blog.csdn.net/weixin_42859280/article/details/84673079 Python 内置函数 Python 内置函数 描述: eval() 函数 ...
- Python基础day05【函数应用:学生管理系统、拆包、今日总结】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day05[函数(函数传参的两种形式.函数形参).拆包.引用.可变与不可变类型.引 ...
- Python基础day05【函数(局部变量、全局变量、多函数执行流程、函数返回值、函数参数)、拆包、引用、可变与不可变类型、函数注意事项】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day05[函数(函数传参的两种形式.函数形参).拆包.引用.可变与不可变类型.引 ...
- python导入模块的语法结构_python学习第五讲,python基础语法之函数语法,与Import导入模块....
python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 函数,就是一个代码块,这个代码块是别人写好的.我们调用就可以. 函数也可以称为方法. 1.函数语法定义 ...
- Python训练营—Tesk3—Python基础进阶—从函数到高级魔方方法
Python基础进阶--从函数到高级魔方方法 目录 Python基础进阶--从函数到高级魔方方法 一.函数 1.函数的定义 2.函数的调用 3.函数参数 4.变量作用域 ...
- python什么元素为真_如何使用Python基础内置函数
如何使用Python基础内置函数 发布时间:2020-08-05 13:46:59
- python中递归函数的基例_详谈Python基础之内置函数和递归 Python递归和循环的区别...
Python 递归函数基例 2. 关于递归函数基例的说明,以下选项中错误的是 A 递归函数的基例决定所谓基例就是不需要递归就能求解的,一般来说是问题的最小规模下的解. 例如:斐波那契数列递归,f(n) ...
最新文章
- 【转】深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第四节 参数传递对堆栈的影响 1
- Python 配置文件之ConfigParser模块(实例、封装)
- jenkins 忘记用户名和密码
- 浙大2016计算机考研分数线,浙江大学2016年硕士研究生复试分数线
- android 切换主题介绍一
- java 命令行运行 打包 IDEA
- 加速科技赋能,城商行为何都瞄准全闪存?
- 浏览器连不上 Flink WebUI 8081 端口
- 如何关闭 Win 10 系统自动更新
- 初学计算机应该学些什么,学电脑要先学什么 学电脑要学习什么知识
- mac电脑有很多._开头的文件
- html文档半结构化数据,什么是半结构化数据?
- 「算法」拓扑排序(货真价实,童叟无欺)
- 树莓派蓝牙连接就断开
- Redis主从架构 | 黑马Redis高级篇
- matlab之plot、fplot、ezplot函数
- php mysql开发实战 光盘_随书光盘-PHP开发实战1200例 | 软件库
- ipadmini5远程服务器,为什么iPadmini5被称为“等等党的耻辱”?原因可以分为3点!...
- 小米MIUI优化weblog
- onvif测试工具的使用教程