python
雯倾浅忆
这个作者很懒,什么都没留下…
展开
-
python selenium教程(二)浏览器驱动
在安装好selenium中后是无法直接运行代码的。原因在于没有安装相关的浏览器启动, 对应每个浏览器启动的下载地址如下,Firefoxhttps://github.com/mozilla/geckodriver/releases Chromehttps://npm.taobao.org/mirrors/chromedriver IEhttp://selenium-release.storage.googleapis.com/index.html Edgehttps://developer....原创 2020-11-25 22:37:13 · 561 阅读 · 1 评论 -
python selenium 教程(-) 安装
https://www.selenium.dev/Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。此处详细记录自己的使用过程以及在使用过程中出现的坑以及解决方案, 本教程是基于python3,所以要确保安装oython3的开发环境以及了解python3的基本语法, 通过https://www.python.org/downloads/下载对应平台的python安装包。Man上安装完之后可以终端直接启动python,window...原创 2020-11-22 14:59:08 · 508 阅读 · 1 评论 -
零基础入门python3.7 ——基础知识总结(二十九)包的创建及使用
一。包包可以简单的理解为必须包含了一个__init__.py模块的文件夹。 包的出现往往与实际项目的开发有着密切的关系。 例如在一个大型项目中。如果将所有的模块全部堆放在一个文件夹里显然不是一个明智的选择。 模块可以有效的避免类名。函数名。变量名等的冲突。 包的出现同样也解决模块名相同的问题。一个包下必须包含一个__init__.py的模块。 __init__.py可以是一个空模块也可以包含一些初始化的代码 __init__.py的作用是告诉python将此文件夹当成一个包来处理 __init原创 2020-06-08 22:14:41 · 307 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(二十八)创建自定义模块
一。自定义模块模块就是包含python代码的文件。 知道了这一点就可以新建模块并使用了。建立一个hello的python文件用于封装模块。代码如下:class Person: def __init__(self, name, age): self.name = name, self.age = age,class Cart: def __init__(self, color): self.color = color接下来再新.原创 2020-06-07 15:17:47 · 211 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(二十七)模块及使用
一 模块模块可以简单的理解为包含python程序代码的文件,任何程序代码都可以作为模块。二。模块的产生在实际开发中如果将所代码写在同一个或者几个文件中。随着功能的日益复杂就会导致代码的体积越来越大。不便于维护和重复利用。所以按照一个的规则讲代码写成不同的模块(一个个单独的文件)。以便提高代码的可维护性和重复利用。模块的可维护性体现在只需要找到需要维护的模块(文件)而不是去海量的代码中去寻找 模块的可复用性体现在在编程过程中需要那个模块的功能例如变量。函数。类等。不需要写重复性的代码。只需要原创 2020-06-06 15:10:20 · 256 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(二十六)多态和枚举类
一。多态面向对象的语言除了封装。继承还有多态。 多态必须满足两个条件继承 :多态一定是发生在子类与父类之间 重写 : 子类重写了父类的方法class A1: def defs(self): print("1")class A2(A1): def defs(self): print('2')class A3(A1): def defs(self): print("3")a = A1()a.defs()a .原创 2020-06-01 22:48:39 · 285 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(二十五)type()动态创建类和MetaClass元类
type()这个内置函数不仅可以检查数据类型。还可以创建一个类,一。type()函数的用法检查数据类型a = 1000print(type(a))b = 'python'print(type(b))<class 'int'><class 'str'>创建类。可以接受三个参数。第一个参数表示要创建的类名。第二个参数是一个元祖用于储存要创建类的父类。 第三个参数为字典 储存类内定义的属性和方法。class Person: name = "jack原创 2020-05-27 22:52:13 · 214 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(二十四)__slots__属性
我们可以动态的给单个实例对象添加属性。 甚至可以为所有的实例对象添加统一的属性。 同样的也可以i为类或实例对象动态的添加方法。而方法有分为实例方法。 静态方法和类方法。对于类来说这三种方法都可以添加。而对于实例对象来说只能添加实例方法。 不能添加静态方法和类方法。为单个实例对象添加方法不会影响其他的实例对象class Person: name = "小张"a = Person()def getName(self): print(self.name)a.getName = g原创 2020-05-24 22:36:49 · 200 阅读 · 1 评论 -
零基础入门python3.7 ——基础知识总结(二十三) 重写父类的方法和super()函数
一。重写父类的方法由于存在继承机制。所以子类可以继承父类的所有属性和方法。但是在有些情况下子类从父类继承的方法中,大部分是适合子类使用的。 但是有一部分方法不能直接照搬父类的。如果不对这些方法修改。那么子类是无法使用的。 所以需要在子类中重复父类的方法。示例对于所有的母鸡来说都可以行走。 而且都有翅膀。而且可以下蛋。class Hen: def LayAEegg(self): print("我会下蛋") def wing(self): pri原创 2020-05-21 22:38:09 · 348 阅读 · 1 评论 -
零基础入门python3.7 ——基础知识总结(二十二) 类的继承
一。类的三大特性封装 继承 多态二。继承继承机制通常用于创建和现有类功能类似的新类,或者是新类只需要在现有类的基础上添加一些新 的属性和方法。但又不想将现有类的代码复制到新类上。简而言之继承就是可以轻松的实现类的重复使用。示例一假设有两类汽车。一大一小首先小的汽车有自动挡和自动大灯的功能。 而大的汽车在具备了小汽车的两项功能后还有自动驾驶的功能。 不难发现这两辆车都具有相同的功能。 在创建类时最笨的办法就是把相同的代码写两遍。class Automobile: def fu原创 2020-05-19 22:17:28 · 241 阅读 · 1 评论 -
零基础入门python3.7 ——基础知识总结(二十一) 类的封装
一。python的封装机制面向对象的编程语言都有三个显著的特征。封装, 继承, 多态,所谓封装可以简单的理解为。在设计类时刻意的将属性和方法隐藏在类的内部。 这样在使用此类时。就无法直接以类对象.属性名或者类对象.方法(参数名)调用这些属性或方法。 而只能通过隐藏的类方法间接的操作这些隐藏的属性和方法。二。封装的好处保证了类内部数据结构的完整性。因为使用类的用户无法直接看到类中的数据结构。 只使用类允许公开的数据。 避免了外部对内部数据的影响。 对一个类实现良好的封装。用户只能使用类暴露出来的原创 2020-05-18 22:05:19 · 487 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(二十) 描述符和property()
一。描述符描述符简单的来说就是一个类。只不过他定义了另一个类中属性的访问方式。也就是说一个类可以将属性管理权委托给描述符类。二。描述符协议__set__(self,obj,type=None) 设置属性时调用这个方法 __get__(self,obj,value) 读取属性时调用这个方法 __delete__(self,obj)对属性调用del时调用这个方法在每次查找属性时。描述...原创 2020-05-07 22:38:04 · 170 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(十九) 类的方法
既然类的属性可以分类。那么方法也可以分类。 类方法可划分为实例方法。 静态方法 和类方法。采用@classmethod 装饰的方法称之为类方法。 用@staticmethod 装饰的称之为静态方法。不做任何装饰的称之为实例方法。一。实例方法定义在类中的默认方法都属于实例方法。 包括构造方法也属于一个特殊的实例方法class Person: def __init__(self)...原创 2020-05-04 17:21:21 · 231 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(十八) 类属性和实例属性
无论是类属性还是类方法。 无法像普通的函数或者变量一样在类的外部直接使用。可以将类看作是一个独立的空间。那么类属性就是在类中定义的变量。类方法就是在类中定义的函数。一。类属性的划分在类中且在函数体外定义的变量称之为类属性或者类变量 在类中且在函数体内部以seif.变量名定义的变量称之为实例属性或者实例变量 在类中且在函数体内部以变量名=变量值的形式定义的变量称之为局部变量二 类属性...原创 2020-05-03 17:09:55 · 312 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(十七) self详解以及对象动态添加方法
一。self的由来在创建类中无论是手动添加类的构造方法还是实例方法。 都会有一个seif参数。而且这个参数必须是第一个参数。实际上python中规定无论是构造方法还是实例方法。至少要包含一个参数。 至于参数的名称并没有强制的规定。只所以以self作为参数名只是程序员之间的一种约定俗成的写法。这样就可以提高可读性。开发中一看到self就知道应该怎么使用它。二。认识self假如说有一个关于...原创 2020-05-03 15:05:24 · 487 阅读 · 1 评论 -
零基础入门python3.7 ——基础知识总结(十六) 类和对象
一。什么是面向对象面向对象的编程是由面向过程发展而来的。 相比面向过程的编程语言面向对象的编程语言更具有扩展性和灵活性,其实面向对象是一种封装思想。 比如函数就是一种封装思想。二。面向对象的常用术语类:类是一个模版可以通过这个模版创建出多个实例。 例如。 可以把建造汽车的图纸看成类。 对象: 对象是不能直接使用的。 是通过类实例化而来的。 例如。可以通过汽车的图纸制造出真正的汽车...原创 2020-05-03 10:38:53 · 342 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(十五) python的特性归纳
一。 生成器我们可以通过生成列表来创建,但是由于内存是有限的与之对应的列表容器也是有限的。 假如要创建100万个元素的列表。 实际上只需要前几个元素。 那么多余的元素就会浪费大量的空间。 所以可以根据一定的规则可以在循环过程中推选出后续的元素。是、这种一边循环一遍计算的机制称之为生成器(generator)示例一把一个列表生成器[]改成(), 从而创建一个generatora = ...原创 2020-05-01 23:45:43 · 323 阅读 · 0 评论 -
javaScript面向对象的程序设计(三)
创建对象的模式除了工厂模式。 构造函数模式。 原型模式还有其他几种模式。一。 构造函数模式加原型模式这种模式可以简单的理解为。构造函数模式用来创建实例属性。而原型模式用于创建共享的属性和方法。这样的好处在每个实例属性都有属于自己的属性。又有共享的属性和方法。 很大程度上节约了内存。而且这种模式还支持构造函数传参。这种模式也是目前为止用的最广泛认可度最高的一种模式。function P...原创 2020-05-01 11:34:09 · 154 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(十四) python的特性归纳
一。切片示例1a = ['java', 'python', 'javascript', 'c', 'c++', 'php', 'css', 'html5', 'go']print(a[1:4])['python', 'javascript', 'c']表示从索引1开始到索引4结束,但是不包括索引4。示例2a = ['java', 'python', 'javascrip...原创 2020-04-28 22:49:58 · 315 阅读 · 3 评论 -
零基础入门python3.7 ——基础知识总结(十三) 函数高级
一。匿名函数匿名函数也叫lambda表达式。通常用来表示内部只有一行代码的函数。换句话说如果函数体只有一行代码则完全可以使用匿名函数表示。使用lambda关键字定义匿名函数。假如要求两个数的和。可以通过普通函数和匿名函数加以对比。示例一 普通函数def sun(a, b): return a + bprint(sun(100, 20))120示例二。匿名函数...原创 2020-04-27 23:00:56 · 602 阅读 · 3 评论 -
javaScript面向对象的程序设计(二)
前面介绍了创建对象的两种模式即工厂模式和构造函数模式。 除此外一javaScript还提供以下几种模式。一。原型模式按照js高级编程的定义。 每一个函数都有一个prototype属性。 这个属性也称之为原型 ,这个属性是一个指针。 指向一个对象。而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。 那么换而言之prototype就是通过调用构造函数创建出的那个对象的原型对象。 ...原创 2020-04-25 20:12:04 · 213 阅读 · 3 评论 -
零基础入门python3.7 ——基础知识总结(十二) 函数进级
python中的函数调用时除了对位传参。 关键字传参。默认参数以外还提供了以下传参方式。一。可变参数顾名思义可变参数就是参数的个数是可变的,可以是任意1个或者多个,由于参数的数量不确定所以我们要把实际参数定义为列表或者元组。def sun(arr): add_data = 0 for i in arr: add_data += i retur...原创 2020-04-22 22:41:27 · 338 阅读 · 6 评论 -
零基础入门python3.7 ——基础知识总结(十一) 函数进级
一。 函数的参数定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。二。形式参数在函数定义时函数名后面括号中的参数就是形式参数,简称“形参”。def get_number_remainder(a, b): generate_...原创 2020-04-21 23:04:57 · 729 阅读 · 4 评论 -
零基础入门python3.7 ——基础知识总结(十) 函数基础
一。 函数从开始接触python就接触了函数。 例如input()函数用于获取用户键盘输入、print()函数用于输出结果、range()函数用于生成整数序列、len()函数用于获取序列的长度。不仅如此python还为我们提供了自定义函数。即将有规律,可重复使用的代码封装成函数,从而达到一次编写多次调用的结果。由此可见我们可以简单的认为函数是可以实现特定功能的代码块。二。函数的定义...原创 2020-04-20 22:59:12 · 983 阅读 · 3 评论 -
零基础入门python3.7 ——基础知识总结(九)循环
一,为什么我们需要循环语句假设我们要计算1加到10的数字之和。 那么我们大不了计算10次。 假设我们要求1到100或者1000或者更大的呢?这显然不能一次一次的运算。 此时我们需要借助循环语句。二。 for-in循环a = ["java", 'c', 'js', "python", 'c++']b = ("java", 'c', 'js', "python", 'c++')...原创 2020-04-19 23:10:08 · 917 阅读 · 2 评论 -
零基础入门python3.7 ——基础知识总结(八)流程控制语句
一。 为什么会出现流程控制语句不难发现到目前为止我们的代码都顺序执行的即第一行执行完了在去执行第二行,然后以此类推, 假如说想打印不同分数段的评分。那么顺序结构是无法胜任的。所以条件语句由此诞生二。 示例一a = int(input("请输入分数:"))if a >= 60: print("及格")请输入分数:60及格此时我们运行程序。 当我们输入60时会...原创 2020-04-19 00:12:10 · 3951 阅读 · 9 评论 -
零基础入门python3.7 ——基础知识总结(七)集合(set)
一,集合 setpython中的集合和数学中的集合是一样的,用来保存不重复的元素。也就是说集合中的元素是唯一的。二。创建集合1。 使用{}创建a = {1, 3, "java", 'python'}print(a){1, 3, 'java', 'python'}2。使用set()函数创建a = set([1, 2, "java", 'python'])prin...原创 2020-04-18 12:02:58 · 1259 阅读 · 4 评论 -
零基础入门python3.7 ——基础知识总结(六)字典(dict)
一。 字典是一种无序的。可变的序列。他的元素以键值对的形式存在。字典中习惯将各元素的索引叫做键。键所对应的元素叫做值。 将键及其值称之为键值对字典的特征通过键而不是索引读取值 字典类型有时也称为关联数组或者散列表(hash)。它是通过键将一系列的值联系起来的,这样就可以通过键从字典中获取指定项,但不能通过索引来获取。 字典是任意数据类型的无序集合 和列表、元组不同,通常会...原创 2020-04-15 23:12:31 · 1121 阅读 · 3 评论 -
零基础入门python3.7 ——基础知识总结(五)元组(tuple)
一元组元组也是python的一种数据结构。和列表类似也是由一系列特定序列的元素组成二 元组与列表的区别列表是可变的。 包括添加元素删除元素等。元组一旦被创建就是不可变的 列表可以出现相同的元素。 元组不会存在相同的元素。 即使有相同的元素只会保留一个其他会被忽略。三 元组的创建使用()创建元组tuple1 = (1, 2, 34, 'java', 'python...原创 2020-04-13 22:26:31 · 721 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(四)列表(list)
Python 序列(Sequence)是指按特定顺序依次排列的一组数据,它们可以占用一块连续的内存,也可以分散到多块内存中。Python 中的序列类型包括列表(list)、元组(tuple)、字典(dict)和集合(set)。列表(list)和元组(tuple)比较相似,它们都按顺序保存元素,所有的元素占用一块连续的内存,每个元素都有自己的索引,因此列表和元组的元素都可以通过索引(index)...原创 2020-04-12 17:20:56 · 1000 阅读 · 0 评论 -
零基础入门python3.7——基础知识总结(三)运算符
一。算数运算符 算数运算符即数学运算符。 1。+ 加法运算符 普通数字的加法a = 10b = 20c = a + bprint(c)a = 12.9b = -20.0c = a + bprint(c)# 运行结果30-7.1 字符串的拼接a = "凡...原创 2020-03-20 09:41:18 · 1001 阅读 · 0 评论 -
零基础入门python3.7——基础知识总结(二)变量及基本数据类型
一。变量 通俗的将变量就是一个代表数据身份的名字称变量名。 属于标识符故遵循标识符的命名规范,可以理解身份证上的名字,我可以通过名字找到人。变量可以理解成名字。 我可以通过变量名找到我想要的数据。 如身份证上的名字对应不同的性别。 相同的道理变量可以储存表示不同的数据类型。 1。 变量的定义与赋值# 定义了变量userName并赋值为小张 ...原创 2020-03-17 17:09:01 · 780 阅读 · 0 评论 -
零基础入门python3.7 ——基础知识总结(一)开篇
一。注释 注释是向开发者展示代码的特定功能和作用。 提高代码的可读性以及可维护性,解释器在解释代码的同时会忽略注册的存在,好的代码一代占代码的三分之一。 养成良好注射习惯会让你自团队中如鱼得水。同时也会给接受代码的后来者留下良好的印象。python中的注释有单行注释和多行注释之分。 1。 单行注释 在python中单行只注释‘#’开头。 解...原创 2020-03-14 12:36:36 · 1530 阅读 · 0 评论