【Python】学习Python常用函数作用和用法

这篇具有很好参考价值的文章主要介绍了【Python】学习Python常用函数作用和用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.函数

​ 函数就是把程序进行打包,封装到一个包中,使用时可以直接进行调用

1.创建函数和调用函数:
>>> def test():
	pass

>>> test()
>>> def test():
	for i in range(3):
		print("I love curry")

		
调用函数
>>> test
<function test at 0x000001B617CCF3A0>
>>> test()
I love curry
I love curry
I love curry
2.创建传参函数
>>> def test(times,name):
	for i in range(times):
		print(f"I love {name}")

		
>>> test(5,"Python")
I love Python
I love Python
I love Python
I love Python
I love Python
3.函数的返回值

​ return:直接返回值,不在理会后面的所有的代码

>>> def test(x,y):
	return x/y

>>> test(4,2)
2.0
>>> def test(x,y):
	if y == 0:
		return "不能为0"
	return x/y

>>> test(10,2)
5.0
4.位置参数

在使用传参函数中有两种关键称呼:

​ 形式参数(形参):在创建函数时,预留的变量名被称为形参

​ 实际参数(实参):在调用函数时,给于的参数被称为实参

>>> def test(a,b,c):
	return "".join((c,b,a))

位置参数传参
>>> test("我","爱","你")
'你爱我'

关键参数传参
>>> test(c="我",b="爱",a="你")
'我爱你'

​ 默认参数:

>>> def test(a,b,c="她"):
	return "".join((c,b,a))

>>> test("我","爱")
'她爱我'
5.冷知识
>>> help(sum)
Help on built-in function sum in module builtins:

sum(iterable, /, start=0)
    Return the sum of a 'start' value (default: 0) plus an iterable of numbers
    
    When the iterable is empty, return the start value.
    This function is intended specifically for use with numeric values and may
    reject non-numeric types.

​ 可以看到,使用格式中出现了一个 / 反斜杠,他是代表在它之前是不允许使用关键字参数的,只可以使用位置参数

​ 在函数中也一样,但是我们可以使用*星号来代替,这样第一位可以为位置参数或关键参数,但是后面都要为关键字参数

>>> def test(a,*,b,c):
	return "".join((c,b,a))
>>> test(a="我",b="爱",c="她")
'她爱我'
>>> test("我",b="爱",c="她")
'她爱我'
>>> test("我","爱","她")
Traceback (most recent call last):
  File "<pyshell#181>", line 1, in <module>
    test("我","爱","她")
TypeError: test() takes 1 positional argument but 3 were given
6.多参参数

​ 传入多个参数,是以元组的形式来进行打包的,只需要在变量名前面多加一个*星号即可

​ 第二种理解:传入一个元组类型的变量,将多个值放到一个元组中

>>> def test(*args):
	print(f"一共多少个参数{len(args)}")
	print(f"第2个参数是什么:{args[1]}")

	
>>> test(1,2,3,4,5)
一共多少个参数52个参数是什么:2

​ 如果使用了多参赋值,后面的其他变量,必须使用关键字参数来进行赋值了

>>> def test(*args,a,b):
	print(args,a,b)

	
>>> test(1,2,3,4,5,a=6,b=7)
(1, 2, 3, 4, 5) 6 7
字典函数

​ 在声明一个函数中,可以同时声明一个字典类型的变量来存储数据

>>> def test(**args):
	print(args)

	
>>> test(a=1,b=2,c=3)
{'a': 1, 'b': 2, 'c': 3}
>>> def test(a,*b,**args):
	print(a,b,args)

>>> test(1,2,3,4,5,d=1,b=2,c=3)
1 (2, 3, 4, 5) {'d': 1, 'b': 2, 'c': 3}
解包参数

​ 元组的解包

>>> args=(1,2,3,4)
>>> def test(a,b,c,d):
	print(a,b,c,d)
	
>>> test(*args)
1 2 3 4

​ 字典的解包

>>> args={'a':1,'b':2,'c':3,'d':4}
>>> test(**args)
1 2 3 4
7.作用域
1.局部作用域
>>> def test():
	x=520
	return x

>>> test()
520
>>> print (x)
Traceback (most recent call last):
  File "<pyshell#266>", line 1, in <module>
    print (x)
NameError: name 'x' is not defined
2.全局作用域
>>> x = 888
>>> def test():
	return x

>>> test()
888

​ 如果在函数的局部变量中与全局变量的名称相同,那么局部变量会代替全局变量,仅限于在当前函数中使用

>>> x = 888
>>> def test():
	return x

>>> test()
888
>>> def test():
	x = 666
	return x

>>> test()
666
3.global语句

​ 使用global来进行声明变量为全局变量

>>> x = 888
>>> def test():
	global x
	x = 520
	return x

>>> x
888
>>> test()
520
>>> x
520
4.嵌套函数
>>> def funA():
	x = 520
	def funB():
		x = 666
		print (f"FunB:{x}")
	funB()
	return f"funA:{x}"

>>> funA()
FunB:666
'funA:520'
5.nonlocal语句

作用:可以将变量申明为外部变量

>>> def funA():
	x = 520
	def funB():
		nonlocal x
		x = 666
		print (f"FunB:{x}")
	funB()
	return f"funA:{x}"

>>> funA()
FunB:666
'funA:666'
6.LEGB规则

L:local(局部作用域)E:enclosed(嵌套函数的外层函数作用域)G:global(全局作用域)B:build-ln(内置作用yu)

​ 当一个局部变量与全局变量相同时,这个局部变量就会代替全局变量来进行被调用使用

>>> str(123)
'123'
>>> str="123"
>>> str(123)
Traceback (most recent call last):
  File "<pyshell#313>", line 1, in <module>
    str(123)
TypeError: 'str' object is not callable
>>> del str
>>> str(123)
'123'

​ 注意:为了避免这种情况发生,在声明变量时,尽量不要出现与python中的内置函数名冲突
1,2,3,4,5,a=6,b=7)
(1, 2, 3, 4, 5) 6 7


###### 	字典函数

​		在声明一个函数中,可以同时声明一个字典类型的变量来存储数据

```py
>>> def test(**args):
	print(args)

	
>>> test(a=1,b=2,c=3)
{'a': 1, 'b': 2, 'c': 3}
>>> def test(a,*b,**args):
	print(a,b,args)

>>> test(1,2,3,4,5,d=1,b=2,c=3)
1 (2, 3, 4, 5) {'d': 1, 'b': 2, 'c': 3}
解包参数

​ 元组的解包

>>> args=(1,2,3,4)
>>> def test(a,b,c,d):
	print(a,b,c,d)
	
>>> test(*args)
1 2 3 4

​ 字典的解包

>>> args={'a':1,'b':2,'c':3,'d':4}
>>> test(**args)
1 2 3 4
7.作用域
1.局部作用域
>>> def test():
	x=520
	return x

>>> test()
520
>>> print (x)
Traceback (most recent call last):
  File "<pyshell#266>", line 1, in <module>
    print (x)
NameError: name 'x' is not defined
2.全局作用域
>>> x = 888
>>> def test():
	return x

>>> test()
888

​ 如果在函数的局部变量中与全局变量的名称相同,那么局部变量会代替全局变量,仅限于在当前函数中使用

>>> x = 888
>>> def test():
	return x

>>> test()
888
>>> def test():
	x = 666
	return x

>>> test()
666
3.global语句

​ 使用global来进行声明变量为全局变量

>>> x = 888
>>> def test():
	global x
	x = 520
	return x

>>> x
888
>>> test()
520
>>> x
520
4.嵌套函数
>>> def funA():
	x = 520
	def funB():
		x = 666
		print (f"FunB:{x}")
	funB()
	return f"funA:{x}"

>>> funA()
FunB:666
'funA:520'
5.nonlocal语句

作用:可以将变量申明为外部变量

>>> def funA():
	x = 520
	def funB():
		nonlocal x
		x = 666
		print (f"FunB:{x}")
	funB()
	return f"funA:{x}"

>>> funA()
FunB:666
'funA:666'
6.LEGB规则

L:local(局部作用域)E:enclosed(嵌套函数的外层函数作用域)G:global(全局作用域)B:build-ln(内置作用yu)

​ 当一个局部变量与全局变量相同时,这个局部变量就会代替全局变量来进行被调用使用

>>> str(123)
'123'
>>> str="123"
>>> str(123)
Traceback (most recent call last):
  File "<pyshell#313>", line 1, in <module>
    str(123)
TypeError: 'str' object is not callable
>>> del str
>>> str(123)
'123'

​ 注意:为了避免这种情况发生,在声明变量时,尽量不要出现与python中的内置函数名冲突文章来源地址https://www.toymoban.com/news/detail-557902.html

到了这里,关于【Python】学习Python常用函数作用和用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 智能python自动化运维常用模块

    通过第三方模块获取服务器的基本性能、块设备、网卡接口、网络地址库等信息。 1.1 系统性能模块psutil:获取系统性能信息、内存信息、磁盘信息、网络信息、用户信息等。 1.2 IP地址处理模块IPy: 处理IP地址,网段等。 1.3 DNS处理模块dnspython: 实现dns服务监控以及解析结果的校

    2024年02月08日
    浏览(48)
  • python ui自动化测试元素定位常用语法

    第一部分是css样式定位方法 选择器 示例 示例说明 CSS . class .intro 选择所有class=\\\"intro\\\"的元素 1 # id #firstname 选择所有id=\\\"firstname\\\"的元素 1 * * 选择所有元素 2 element p 选择所有p元素 1 element,element div,p 选择所有div元素和p元素 1 element   element div p 选择div元素内的所有p元素 1 element

    2024年02月13日
    浏览(51)
  • Python 函数耗时异常自动化监控实战教程

    内容 隐藏 一、性能数据函数耗时采集及可视化报表生成         1. 性能数据文件保存(cProfile)         2. 详细性能数据读取查看 二、生成函数调用栈结构图(gprof2dot)教程 三、性能分析及优化实战 四、耗时异常自动化监控         1. 正态分布数据方案     

    2024年02月15日
    浏览(38)
  • 常用Python自动化测试框架有哪些?优缺点对比

    随着技术的进步和自动化技术的出现,市面上出现了一些自动化测试框架。只需要进行一些适用性和效率参数的调整,这些自动化测试框架就能够开箱即用,大大节省了测试时间。而且由于这些框架被广泛使用,他们具有很好的健壮性,并且具有广泛多样的用例集和技术来轻

    2024年02月03日
    浏览(50)
  • 从小白到大神之路之学习运维第60天--------Ansible自动化运维工具(安装、操作、简单使用,模块的作用)

    第三阶段基础 时  间:2023年7月13日 参加人:全班人员 内  容: Ansible自动化运维工具 目录 一、Ansible概述 二、Ansible特点 三、Ansible应用 (一)使用者 (二)Ansible工具集合 (三)作用对象 四、Ansible的搭建 五、Ansible配置 六、Ansible命令 (一)ansible (二)Ansible-doc (三)

    2024年02月16日
    浏览(65)
  • Python UI自动化 —— pytest常用运行参数解析、pytest执行顺序解析

    -v 用于显示每个测试函数的执行结果 -q 只显示整体测试结果 -s 用于显示测试函数中print()函数输出 -x 在第一个错误或失败的测试中立即退出 -m 只运行带有装饰器配置的测试用例 -k 通过表达式运行指定的测试用例 -h 帮助 首先来看什么参数都没加的运行情况 -v 用于显示每个测

    2024年02月09日
    浏览(45)
  • python 自动化学习(四) pyppeteer 浏览器操作自动化

    背景 之前我在工作中涉及到了很多地方都是重复性的页面点点点工作,又因为安全保密原则不开放接口和数据库,只有一个页面来提供点击进行操作,就想着用前面学的自动化来实现,但发现前面学的模拟操作对浏览器来说并没有那么友好,而后改用“selenium”,但是存在一

    2024年02月12日
    浏览(45)
  • python+pytest接口自动化之测试函数、测试类/测试方法的封装

    今天呢,笔者想和大家聊聊python+pytest接口自动化中将代码进行封装,只有将测试代码进行封装,才能被测试框架识别执行。 例如单个接口的请求代码如下: 假设我们需要将上面这段代码编写成测试框架能执行的测试用例,仅仅只是这样写代码显然是不够的,还需要进行如下

    2024年03月09日
    浏览(65)
  • python自动化测试框架学习

    今天发现python有多个框架可以用于自动化测试方面,下面整理了下splinter和urllib2框架,对于 pywinauto框架和ruby框架先记录下以后需要用到再学习。 python有个splinter框架: 特性: 1、可以模拟浏览器行为,访问指定的URL,并且可以指定不同的浏览器类型。比如firefox或者chrome等。

    2024年02月08日
    浏览(53)
  • python学习-自动化测试Selenium

     自动化测试Selenium Selenium简介 第一个Selenium应用 Selenium Python API Selenium WebDriver Selenium 初始化浏览器 Selenium导航到URL Selenium定位元素 Selenium By类 Selenium WebElement类 Selenium页面交互 Selenium ActionChains Selenium鼠标操作 Selenium键盘操作 Selenium调用JavaScript Selenium等待机制 Selenium expected

    2024年01月18日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包