第七章 函数与方法

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。


定义一个函数
1.函数代码块以def关键词开头,后接函数标识名和圆括号()。
2.任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
3.函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明。
4.函数内容以冒号起始,并且缩进。
5.return[表达式]结束函数,选择性地返回一个值给调用方,不带表达式的return相当于返回None

查看所有内建函数,蓝框中的是常用到的内建函数
这里写图片描述
查看帮助信息:>>>help(len)
括号里可以任意填自己需要的内建函数

  • 自定义函数
#coding=utf-8
def eat():
    n="牛吃草"
    return n
print(eat())
#没有return打印出来是None
  • 随机函数
#coding=utf-8
import random
t=random.randint(0,8)
print(t)
  • 匿名函数lambda
    格式:
      lambda 参数列表:return [表达式] 变量
      由于lambda返回的是函数对象(构建的是一个函数对象),所以需要定义一个变量去接收

匿名函数优点:
  - 使用Python写一些脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
  - 对于一些抽象的,不会被别的地方再重复使用的函数,有时候函数起个名字也是个难题,使用lambda不需要考虑命名的问题
  - 使用lambda在某些时候然后代码更容易理解

这里写图片描述

登录案例

#coding=utf-8
from selenium import webdriver
import time
#登录函数
def denglu(driver,username,password):
    #点击登录
    driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[5]/div[2]/div[1]/span[1]").click()
    #输入用户名
    driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[1]/div/input[1]").send_keys(username)
    #输入密码
    driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[1]/div/input[2]").send_keys(password)
    #点击确认登录
    driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[1]/div/div[3]").click()
    time.sleep(2)
    #获取用户名
    result = driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[5]/div[2]/div[2]/span[2]").text
    return result

if __name__=="__main__":
    driver=webdriver.Firefox()
    driver.get("http://www.tianguiedu.com/")
    username="xxxxxxxxxxx"
    password="xxxxxx"
    time.sleep(3)
    print(denglu(driver,username,password))
  • 类和方法(类是一个抽象的概念,好比人类,没有具体的事物)
#coding=utf-8
class All():
#方法一
    def add(self):
        print("哈哈")
##方法二
    def acc(self):
        return True
##方法三
    def aee(self,a,b):
        return a+b
#方法四
    def aff(self,a=1,b=2):
        return a+b
if __name__=="__main__":
    a=All().add()
    b=All().acc()
    c=All().aee(1,2)
    d=All().aff()
    print(a)
    print(b)
    print(c)
    print(d)
  • 继承
    继承就是子类继承父类,继承之后,子类也有父类的方法
#coding=utf-8
class Father():
    def home(self):
        print("这是父亲的房子")
    def car(self):
        print("这是父亲的宾利")
class Mother():
    def company(self):
        print("这是母亲的公司")
class Son(Father,Mother):#儿子继承父母的财产
    def caichan(self):
        self.home()
        self.car()
        self.company()
if __name__=="__main__":
    a=Son()
    a.caichan()
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yxx_bk/article/details/79949605
个人分类: 测试
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭