python零基础到实现UI自动化 (4)

前言

        对于前面已经接触了一部分很基础的python的语法和其对应的存储数据的容器,那么我们就可以开始提高我们编写代码的效率了,有语言基础的同学都会知道函数,如果是零基础的话我们可以把函数理解成方法,通过某个方法来实现我们想要去做的事情。方法顾名思义就是一种成熟的处理手段,我们可以凭借前人良好的经验来让我们的方法生效。

1.函数

        1.1定义

        函数的定义,粗暴的来说就是给多行代码起名字的过程。我们对函数的定义是需要 使用关键字 def,单其实就是英文单词define的意思。通过下面的语法我们就能够给函数来做一个定义

def 函数名():
    函数中的代码
    some codes

        可以看得出我们在函数名之后的代码都是一起缩进的,当我们处在def缩进中的代码都是属于这个函数的。那么我们如何取一个函数名呢,就像我们平常的方法一样,假如我们是去吃饭,那么我们就可以把这个函数取名为eat(),这样见名知意的方法就是我们常用的,取名的格式具体也可以根据个人的喜好比如利用大驼峰或者小驼峰来命名,也可以使用python中常用的下横线“_”。在函数定义的时候并不会去执行函数中的代码,前面说过我们的流程是基于顺序执行下的循环或者判断执行,但是函数这样特殊的定义并不会去执行,想要执行函数当中的语句我们是需要对函数调用的,只有调用函数后才能执行其中的代码。

        ps:我们在def 这行代码最后需要一个冒号,否则会有波浪线的报错。去进行缩进的快捷键方法就是键盘上面的Tab按键。

        1.2编写函数的小技巧

        很多人可能经常对于函数的编写比较头疼,其实我们也是有小技巧在这上面的。比如我们一般先不去使用函数,我们会将多行代码先写完,然后在多行代码的上方使用 def 关键字后面加上函数的名称,在最后我们都写完了再多选这些代码使用 tab 键,将多行代码进行缩进。如下图

        1.3函数的文档注释(了解)

        其实这里的文档注释,本质就是注释,只不过作用和书写位置有特定的要求。函数的文档注释的作用就是对函数的作用和使用方法进行说明,比如  有哪些参数,返回值是什么。一般来说书写注释的位置就是在 def 关键字的 下方,使用  三对双引号来书写。

        这里也有一些便捷的快捷键能够放方便我们在函数名上直接使用,例如 ctrl + q 查看,或者ctrl+ b 跳转到函数定义的地方查看;在函数名上按住 ctrl 键,点击函数名,跳转到函数定义的地方查看。

        1.4函数的嵌套调用

        嵌套使用我们前面说过,当时说的是循环的嵌套在一个循环里面嵌套一个循环,那么我们函数的嵌套也是一样的。函数的嵌套调用其实就是一个函数中调用另外一个函数。

        我们代码的执行始终是遵从从上往下执行的流程,函数定义不会执行函数中的代码,函数调用会进入函数中执行函数中的代码,并且函数中的代码执行结束后会回到调用的地方继续向下执行。例如下图所示

        从上图的输出结果不难看出循环嵌套也是依照我们的调用的顺序输出的。

        1.5函数的参数和返回值

        什么是参数,参数就是变量,我们最常见的变量声明或者说是初始化就是 a = 10,把a这个变量的地址拿来存储数值10,意味着a这个变量和10就挂上了等号。参数主要是分成形式参数和实际参数,我们上面说的具体变量为某个值一般是适用于实际参数的情况,但是我们如果不在函数里面直接对某个变量声明,而是保留这个变量的命名然后等调用函数的时候在实际去使用它的话,那么这个参数就是形式参数。

        既然是形式参数,那么它就有对应的格式写在我们的函数命名里。常用的形式参数的使用场景就是在判断 函数中 数据值变化的情况下,进行 参数的传递。ps:如果存在形参就必须传递相同个数的实参作为应对。如下图所示,就是简单地去定义一个相加的函数作为实参传递给形参的理解过程。   

2.模块和包

        2.1模块和模块导入的方法

        在python 中,每个代码文件 都可以称为是一个模块;在模块当中,都是别人书写好的功能(包含了变量/函数/类),我们可以拿来直接使用,

        如果是我们自己书写的代码文件,想要作为模块让别人使用,你的代码文件名(模块名)需要满足表示符的规则,想要使用  别人模块中写好的功能,需要先导入别人写好的功能所在的模块。

        as 关键字,是作为给模块或者功能起别名的作用。  

        方式一:

import 模块名  # 模块名  就是代码文件名,不要.py

# 调用的方法(也就是使用其中的功能)
模块名.功能名    # 功能可以是变量,函数 和类

# 多用于  导入系统中的常用的模块和功能

        方式二:

from 模块名 import 功能名    # 导入指定的功能

# 使用
功能名()

# 方式二 多用于导入自己书写的,或者是第三方的模块
# 可以使用快捷键 alt 回车

        

        不难看出两个导入的方式其实是类似的格式,适用于不同的场景里。例如方式一更多是导入系统自带的简单的模块,比如我们可以看下图的示例

         图中,我以random模块和time模块举例,二者都是系统里的模块,那么我们使用这样的模块来作为两种方法的演示,可以看的出来首先第一种方式我们调用的时候是需要进行模块名.方法名,第二种方法则可以直接使用方法名。

        2.2包的创建和包的导入

        包就是将多个模块放在一个目录中集中管理,并在这个目录中创建一个_init_.py文件(可以什么都不写),就是一个包

        包的创建就是右键里的New - Python Package,其实包的导入最后和模块的导入是类似的。

        例如我们后面ui自动化最常用的使用selenium包的话,一般会涉及用到底下具体的webdriver模块。那么我们的导入格式就是 from selenium import webdriver,这也是我们UI自动化实现的第一行代码。

总结

        其实这篇文章只是作为函数简单定义的概念开头,之后会再详细去讲一些函数里的变量的区别和传参的细节,以及简单的案例,毕竟只有案例和一些实践才能更好的理解和应用。当然这里讲的都是最基本的定义,或许也会有遗漏的地方,希望在实践的过程中能够有更好的理解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值