第七章 函数与方法

原创 2018年04月15日 17:40:10

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


定义一个函数
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

深入理解计算机系统(第二版) 家庭作业 第七章

7.6 符号 swap.o 条目 符号类型 定义符号的模块 所属的节 buf Yes extern ...
  • zhanyu1990
  • zhanyu1990
  • 2013-08-24 13:24:13
  • 2923

《python核心编程第二版》第七章练习解析

1.字典方法。哪些字典方法可以把两个字典合并到一起? 有个update()方法,不过如果key相同的话,会用后者的key-value覆盖前者的 2.略 3.字典和列表的方法。 (a) 建一...
  • u013938528
  • u013938528
  • 2015-05-01 10:49:52
  • 917

C++ Primer Plus第六版 第七章 编程练习答案

/***************************************************************************************************...
  • zhaoshu01234
  • zhaoshu01234
  • 2014-07-19 20:34:54
  • 5509

Deep Learning - 第七章:深度学习的正则化

前言 机器学习中的核心问题:模型的设计不仅在训练数据上表现好,并且能在新输入上泛化好; 正则化策略:以增大训练误差为代价,来减少测试误差(如果在训练误差上很小,可能出现过拟合的情况); ...
  • u014686462
  • u014686462
  • 2017-04-21 14:17:10
  • 1711

算法导论第七章最后思考题

7-1(Hoare划分的正确性) 本章中的PARTITION算法并不是其最初版本。下面给出的是最早由C.R.Hoare所设计的划分算法: HOARE-PARTITION(A,p,r) 1. x=A[p...
  • z84616995z
  • z84616995z
  • 2014-01-12 21:10:04
  • 3110

Java编程思想(第七章)

1、组合语法, 一个类中可以有基本类型的成员也有其他类的对象的引用以及String。在类的对象进行初始化时,基本类型的默认初始化为0,对象的引用初始化为null,字符串也初始化为null。2、继承语...
  • fulunyong
  • fulunyong
  • 2016-10-25 22:52:14
  • 173

思科CCNA第一学期第七章答案

1   在网络中实现第 2 层协议时应该考虑哪三个因素?(选择三项) 所选的第 3 层协议 网络的地址范围 ...
  • u014253173
  • u014253173
  • 2015-01-02 11:31:54
  • 7178

《Erlang 程序设计》练习答案 -- 第七章 二进制型与位语法

% 编写一个函数来反转某个二进制型里的字节顺序-module(reverse_byte). -export([reverse_byte/1]).% 注释为将对象先转化为二进制,然后进行反转。 %rev...
  • wwh578867817
  • wwh578867817
  • 2015-11-16 14:11:15
  • 957

C++程序设计课后习题及解答(第七章)

(1).如果派生类B已经重载了基类A的一个成员函数fn1(),没有重载基类A的成员函数fn2(),如何在派生类的函数中调用基类的成员函数fn1(),fn2()? (2).定义一个object类,有数据...
  • rl529014
  • rl529014
  • 2016-01-03 19:06:07
  • 876

通信原理第六版答案(第七章)

  • 2010年07月02日 19:09
  • 173KB
  • 下载
收藏助手
不良信息举报
您举报文章:第七章 函数与方法
举报原因:
原因补充:

(最多只允许输入30个字)