#类(面向对象)  PageObject设计模式  unittest 知识体系

#函数式编程
import datetime
book_info = {
"title":"Python",
"price":"33.1",
"auther":"毛桃",
"publisher":"北京大学",
"pubdate":datetime.datetime.today()
}

def seacher_book(book):
print("这本书的主题是:{}".format(book_info["title"]))
print("这本书的价格是:{}".format(book_info["price"]))
print("这本书的作者是:{}".format(book_info["auther"]))
print("这本书的出本社是:{}".format(book_info.get("publisher")))
print("这本书的出版时间是:{}".format(book_info.get("pubdate")))
#
# if __name__ == '__main__':
# seacher_book(book_info)

#构造方法
# class Book:
# def __init__(self,title,author,price,publisher,pubdate):
# self.title = title
# self.author = author
# self.price = price
# self.publisher = publisher
# self.pubdate = pubdate
#
# book = Book("Selenium",'Teacher',"43.33","清华大学",datetime.datetime.today())
# print(book.title)
# print(book.author)
# print(book.price)
# print(book.publisher)
# print(book.pubdate)

#类构造函数
# class Book:
# def __init__(self,title,author,price,publisher,pubdate):
# self.title = title
# self.author = author
# self.price = price
# self.publisher = publisher
# self.pubdate = pubdate
#
# def seacher_book(self):
# print("这本书的主题是:{}".format(self.title))
# print("这本书的价格是:{}".format(self.price))
# print("这本书的作者是:{}".format(self.author))
# print("这本书的出本社是:{}".format(self.publisher))
# print("这本书的出版时间是:{}".format(self.pubdate))
#
# if __name__ == '__main__':
# book = Book("Selenium",'Teacher',"43.33","清华大学",datetime.datetime.today())
# book.seacher_book()

#默认值的写法
# class Book:
# def __init__(self,
# title = "Appium测试",
# author = "",
# price = 0.0,
# publisher = None,
# pubdate = datetime.datetime.now()):
# self.title = title
# self.author = author
# self.price = price
# self.publisher = publisher
# self.pubdate = pubdate
#
# def seacher_book(self):
# print("这本书的主题是:{}".format(self.title))
# print("这本书的价格是:{}".format(self.price))
# print("这本书的作者是:{}".format(self.author))
# print("这本书的出本社是:{}".format(self.publisher))
# print("这本书的出版时间是:{}".format(self.pubdate))
#
# if __name__ == '__main__':
# book = Book("Selenium")
# book.seacher_book()

# #类的继承
# #父类
# class Book:
# def __init__(self,title,author,price):
# self.title = title
# self.author = author
# self.price = price
#
# def seacher_book(self):
# print("这本书的主题是:{}".format(self.title))
# print("这本书的作者是:{}".format(self.author))
# print("这本书的价格是:{}".format(self.price))
#
# #子类
# class ReadBook(Book):
# def readbook(self):
# print("该书正在读中...")
#
#
# #实例化子类
# book = ReadBook("Python经典","Tao","11.42")
# book.seacher_book()
# book.readbook()

#类的重写
#父类
class Book:
def __init__(self,title,author,price):
self.title = title
self.author = author
self.price = price

def seacher_book(self):
print("这本书的主题是:{}".format(self.title))
print("这本书的作者是:{}".format(self.author))
print("这本书的价格是:{}".format(self.price))

#子类
class ReadBook(Book):
#构造方法 --初始化方法 (放的是公共的东西)
def __init__(self,title,author,price,publisher,pubdate):
Book.__init__(self,title,author,price)
self.publisher = publisher
self.pubdate = pubdate

def readbook(self):
print("该书正在读中...")

def seacher_book(self):
print("这本书的主题是:{}".format(self.title))
print("这本书的价格是:{}".format(self.price))
print("这本书的作者是:{}".format(self.author))
print("这本书的出本社是:{}".format(self.publisher))
print("这本书的出版时间是:{}".format(self.pubdate))

#实例化子类
book = ReadBook("Python经典","Tao","11.42","清华大学出版社",datetime.datetime.now())
book.readbook()
book.seacher_book()

python基础之面向对象OOP的更多相关文章

  1. Python 基础 四 面向对象杂谈

    Python 基础  四  面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...

  2. 自学Python之路-Python基础+模块+面向对象+函数

    自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python    1.1 自学Python1.1-简介    1.2 自学Python1.2-环境的 ...

  3. 二十. Python基础(20)--面向对象的基础

    二十. Python基础(20)--面向对象的基础 1 ● 类/对象/实例化 类:具有相同属性.和方法的一类人/事/物 对象(实例): 具体的某一个人/事/物 实例化: 用类创建对象的过程→类名(参数 ...

  4. python基础,函数,面向对象,模块练习

    ---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? #  [] {} () None 0 2,位和字节的关系? # ...

  5. (转)Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...

  6. Python之路【第六篇】python基础 之面向对象(一)

    一.三大编程范式 1.面向过程编程 2.函数式编程 3.面向对象编程 二.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 2.从上述的指令中提取重复的代码块或逻辑,组织到一起(比 ...

  7. Day7 - Python基础7 面向对象编程进阶

    Python之路,Day7 - 面向对象编程进阶   本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个 ...

  8. Python基础7 面向对象编程进阶

    本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 经典 ...

  9. python基础(八)面向对象的基本概念

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 谢谢逆水寒龙,topmad和Liqing纠错 Python使用类(class)和对 ...

随机推荐

  1. .NET平台系列14 .NET5中的新增功能

    系列目录     [已更新最新开发文章,点击查看详细] .NET5中不包含的内容 尽管 .NET5 框架中提供了一组重要 API,但它并不包括过去20年左右开发的所有 API,但是.NET Stand ...

  2. 【NX二次开发】NX内部函数,查找内部函数的方法

    [NX二次开发]NX内部函数,libufunx.dll文件中的内部函数 [NX二次开发]NX内部函数,libugui.dll文件中的内部函数 [NX二次开发]NX内部函数,libuifw.dll文件中 ...

  3. JVM 内存溢出 实战 (史上最全)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  4. Java知识,面试总会问到虚拟机,虚拟机类加载机制你懂吗?

    虚拟机把描述类的数据从Class文件文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 与那些在编译时需要进行连接工作的语言不同 ...

  5. Linux分区,格式化概念理解

    一.分区概念: 逻辑上分成不同的存储空间. 分区类型: 主分区:最多只能有4个 扩展分区:最多只能有1个. 主分区加扩展分区最多有4个. 布恩那个写入数据,只能包含逻辑分区 逻辑分区: 主分区为什么只 ...

  6. 音视频点播服务基础系列(Fmpeg常用命令)

    前言 公司业务中有一些场景需要用到服务端音视频剪辑技术,最开始为了快速上线使用的是某公有云的商用解决方案,但由于费用太高所以我们团队经过一个星期的冲刺,给出了一个FFmpeg+Serverless的解 ...

  7. 滑动窗口经典题 leetcode 3. 无重复字符的最长子串

    题目 解题思路 题目要求找出给定字符串中不含有重复字符的最长子串的长度.这是一个典型的滑动窗口的题目,可以通过滑动窗口去解答. 滑动窗口 具体操作如下图示:找到一个子串 s[left...right] ...

  8. 使用Git将代码上传至Gitee码云中

    Git是一个开源的分布式版本控制系统,可以高效处理任何或小或大的项目 Git与常用的版本控制工具CVS.Subversion 不同,Git采用了分布式版本库的方式,不必服务器端软件支持 Git与SVN ...

  9. Ubuntu18.04 LTS x64 构建ARM交叉编译环境(尝试,但失败了!!!估计是编译器没选对)

    [测试而已,由于需要了解编译器和处理器体系,因此先放弃该方法] 动机 入门嵌入式开发,又需要 Windows 又需要 Linux,但资料给的竟然是 Ubuntu9,导致我不能使用 VSCode Rem ...

  10. 3、mysql的多实例配置(2)

    4.设置mysql多实例启动脚本: (1)3306: [root@backup application]# cat /data/3306/mysql #!/bin/sh . /etc/init.d/f ...