![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
不会说话的渔
这个作者很懒,什么都没留下…
展开
-
python 中global和nonlocal 的区别
第一,两者的功能不同。global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数中不存在该局部变量,nonlocal位置会发生错误(最上层的函数使用nonlocal修饰变量必定会报错)。第二,两者使用的范围不同。global关键字可以用在任何地方,包括最上层函数中和嵌套函数中,即使之前未...原创 2019-12-10 22:30:09 · 299 阅读 · 0 评论 -
python面向对象知识点整理
1.python中一切皆是对象2.类的私有属性 类的方法和变量如果使用单个下划线代表此类个他的子类可以访问,如果是两个下划线代表只有本类可以访问,子类也 不可以哦,不过可以通过@property 进行包装,使用@getter 和 @setter 来处理 私有变量class Person(object): def __init__(self,name,age): sel...原创 2019-12-08 23:04:12 · 246 阅读 · 0 评论 -
python 面向对象类 中 命名时下划线的使用
1.以单下划线开头,表示这是一个保护成员,只有类对象和子类对象自己能访问到这些变量。以单下划线开头的变量和函数被默认是内部函数,使用from module import *时不会被获取,但是使用import module可以获取。2.双下划线开头,表示为私有成员,只允许类本身访问,子类也不行。3.双下划线开头,双下划线结尾。一种约定,Python内部的名字,用来区别其他用户自定义的命名,以防冲...原创 2019-12-07 00:28:32 · 817 阅读 · 0 评论 -
python的面向对象-@property 装饰器私有属性的外部处理
@property 装饰器之前我能逃命过python 属性的权限问题,虽然我不建议将属性设为私有,而是通过单个下划线来属性是受保护的,不建议外界直接访问,其实我们是可以通过@getter(访问器) 和@setter (修改器)来完成像相应的操作,如果要做到这点可以考虑使用property 装饰器来包装getter 和setter 使得对属性的访问更安全,更方便。请看下面代码在这里插入代码片...原创 2019-12-07 00:23:49 · 241 阅读 · 0 评论 -
encode()和decode() 的区别
encode()和decode()decode英文意思是 解码,encode英文原意 编码字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码, 即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.d...原创 2019-12-05 22:37:45 · 1623 阅读 · 0 评论 -
python+socket实现简单的文件 上传+下载
客户端代码import os ,socketdef past_file(sk_obj,path): #获取文件大小 file_size=os.stat(path).st_size print(file_size) #发送文件大小 sk_obj.sendall(bytes(str(file_size),encoding='utf8')) sk_o...原创 2019-11-29 08:42:45 · 591 阅读 · 0 评论 -
python装饰器简述
1.我们首先来了解下python 作用域python作用域是一个容易掉坑的地方,Python 的作用域一共有 4 中,分别是:1.L 局部作用域2. E闭包函数,外的函数中3. G 全局作用域4. B 内建作用域以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找注意:pyth...原创 2019-11-24 23:05:01 · 124 阅读 · 0 评论 -
python 之 外部程序的调用
os.system(command)1.python常用的外部程序调用方法之os.system(command) 相当于在 shell 中执行 command 指令 ,简单来说 ,在 只要字符串可以在 l shell 中运行 , 就可,以将其作为 os.system 在 的参数,在 Python 文件中执行系统命令。参照下面代码import osdef foo1(command): ...原创 2019-11-24 09:32:03 · 1280 阅读 · 1 评论 -
python多线程并发的优缺点之解决方案(线程锁)
首先我们来简述一下并发的优缺点并发的优点:要把100M 数据写入磁盘,CPU 计算的时间只需要0.01s,可是磁盘接受这100M 数据却需要10s,怎么办呢?有两种办法1、第一种办法是 CPU 等着,也就是程序暂停执行后续代码,直到磁盘写入数据完成再继续往下执行import threadingimport timestart_time=time.time()def foo(str...原创 2019-11-23 22:02:57 · 3050 阅读 · 0 评论 -
python进阶之多线程第一篇
1.并发与并行的区别并发和并行是两个非常容易混淆的概念,他们都可以表示两个活多个任务一起执行,但是偏重点不一样,并发偏重与多个任务交替执行,而多个任务之间还可以是串行的,并发是逻辑上的同时发生,而并不是物理上的同时发生,然而并行的偏重点点在于同时执行。**并发 (concurrency):**指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果...原创 2019-11-23 14:51:14 · 123 阅读 · 0 评论 -
python中 utf-8 和GBK 的关系
unicode其实是一种在操作过程中存在的字符状态,一般来讲,例如python中的str都是以“unicode”编码,在进行操作时会具化成为“utf-8”与“gbk”,往往是前者居多。如上图所示,在python中不同编码的转换都要经过Unicode,不论是UTF-8或者是GBK,整个过程都是先通过编码decode转换为Unicode告诉Unicode当前的编码格式是什么、然后再通过解码enco...原创 2019-10-20 13:33:23 · 3122 阅读 · 0 评论 -
python复习之 读写文件的那些事
1.读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。2.要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:如 f = open('/Users/michael/test.txt', 'r') r是读的意思 可以用w写来替换。files需要带上文件的路径哦,如 files=r'G:/test/file1.txt'3....原创 2019-10-17 21:54:23 · 134 阅读 · 0 评论 -
python 错误码总结
1.selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Cannot read property ‘toLowerCase’ of undefined很坑这个报错是因为 ...原创 2019-06-08 09:21:50 · 918 阅读 · 0 评论 -
Appium安装环境
Appium 作业 1根据课堂视频,安装搭建Appium运行环境,并运行示例代码安装Appium Python Client 包安装Appium Python Client 包的命令pip install Appium-Python-Client安装 Appium Server下载安装Appium Desktop的安装包, 下载地址 https://github.com/appium/...原创 2019-06-02 14:31:52 · 229 阅读 · 1 评论 -
python复习三之对象
知识点汇总:1- 对象的方法:这个对象类型在标准库里面就有的方法2- 对象的方法调用对象.方法3- 字符串—str1-count 计算字符串中包含的多少个指定的子字符串str1 = ‘abcaaa’ ----str1.count(‘a’) - 结果 42-endswith 检查字符串是否以指定的字符串结尾 --返回值 bool3-startswith 检查字符串是否以...原创 2019-05-31 23:03:59 · 102 阅读 · 0 评论 -
python复习三之函数
知识点汇总:1-函数的概念:1-就是一段代码2-一段操作流程优点:1- 代码量少-简洁2- 维护起来方便—在函数的定义进行修改2-函数的定义:1-def 函数名():函数内容2- 函数的定义是不会执行函数内容的代码的!3-案例:def func():print(‘step1’)print(‘step2’)4- type(func) ----<class ‘fu...原创 2019-05-31 23:02:53 · 2528 阅读 · 0 评论 -
python数据类型 元祖
元组:1-元组跟我们大家熟悉的数组是一样的吗???1-数组:同一类型2-元组:任意类型特性:1-元组也是一种Sequence 类型2-下标3-能切片4-可以存储任何类型的数据,每个元素是任意类型5-内容不可以改变!!!2-元组的定义:1- 空元组 ()—type(())----<class ‘tuple’>2-一个元素的元组 tu1 = (1,)3-元组的使用...原创 2019-05-31 23:01:25 · 181 阅读 · 0 评论 -
python复习二之列表知识点汇总:
知识点汇总:1-列表—List特性:1-列表也是一种Sequence 类型2-下标3-能切片4-可以存储任何类型的数据,每个元素是任意类型5-内容可以改变:增删改查1-值 alist[0] = 92-个数 alist.append(5)—增加后面—追加1-列表的定义: 1- []---英文的中括号 2-type([])---- <class 'li...原创 2019-05-31 22:59:55 · 121 阅读 · 0 评论 -
python复习第二节之字符串
1.字符串的定义方式有三种 分别为单引号,双引号,三引号 ,注意不能混用,三引号可以做多行注释如果字符串本身有单引号双引号 ,三引号可以\进行转义2.字符串的拼接可以使用+ , 多个相同的字符串相连可以使用*n3.字符串的特殊sequence(序列)1.可以通过下标查找2.可以进行切片3.空字符串 str=’’4.字符串的下标从0到多,最长为 字符串长度-15.从右边数有负的...原创 2019-05-31 22:57:28 · 165 阅读 · 0 评论 -
pyhon复习第一节
1.python语言特性:a. python属于解释型语言,不需要编译,一遍翻译一遍执行b. python语言严格区分大小写c. python 首行需要顶头写,不可以有空格,但是允许有空行2.python 中的数据类型a. 整型只有int 没有longb. 浮点型只有float ,没有doublec. python 中一切数据皆是对象d. 字符串e. 列表c. 元祖...原创 2019-05-30 21:38:12 · 144 阅读 · 0 评论 -
selenium多个窗体切换 注意点
1.list=driver.window_handles获取所有窗口句柄 返回是个列表2.driver.switch_to.window(A) A是上个list中的第几个元素例如list[-1] 表示最新的窗口3.回到之前的窗口 ,需要将之前的窗口存在变量中 currwindow=driver.current_window_handledriver.switch_to.window(curr...原创 2019-05-02 21:42:34 · 252 阅读 · 0 评论 -
最近公司要上selenium 复习了下 定位元素的相关方法
1.定位元素1.可以通过id,name ,class, tag名 ,超链接,等等webelement 进行定位driver.find_element_by_id()driver.find_element_by_class_name()driver.find_element_by_tag_name()driver.find_element_by_link_text()driver.fin...原创 2019-05-02 23:05:25 · 101 阅读 · 0 评论 -
selenium总结 复习 之鼠标事件
1.selenium 可以模拟鼠标的操作需要导入模块from selenium.webdriver.common.action_chains import ActionChains需要实力化一个ActionChains 对象driver=webdriver.Charom()ac=ActionChains(driver)ac 是个操作对象 每个动作都会返回这个对象因此在我们联系操作的时...原创 2019-05-02 23:57:26 · 118 阅读 · 0 评论 -
selenium复习之Beautiful Soup常用操作
首先必须要导入 bs4 库from bs4 import BeautifulSoup1from bs4 import BeautifulSoup我们创建一个字符串,后面的例子我们便会用它来演示Pythonhtml = “”"The Dormouse's storyThe Dormouse's storyOnce upon a time there were three litt...转载 2019-05-03 09:14:14 · 675 阅读 · 0 评论 -
复习选择web元素的方法 ,beautfulSoup,常用规则
通过id选择元素写法1:element = driver.find_element_by_id(“kw”)写法2:from selenium.webdriver.common.by import Byelement = driver.find_element(by=By.ID, value=“kw”)Tips: by=By.ID表示以id的方式定位web元素,下面的例子有类似的写法以此...转载 2019-05-03 09:43:24 · 261 阅读 · 0 评论 -
selenium浏览器操作之 浏览器的滑动,
1.当浏览器展现的页面太小时候我们可以通过driver.executed_script(’ window.scollby(0,200)’) , window.scollby()是js脚本语言如果不知道浏览器放到多大的时候可以使用for循环for one in range(10):driver.window_script(‘window_scrollby(0,200)’)if l...转载 2019-05-03 22:12:34 · 1165 阅读 · 0 评论 -
人生苦短我学python python 中 os 与sys 的区别
os 负责和系统进行交互,提供访问操作系统的底层接口sys 负责与解释器交互的函数 负责 程序与python 交互提供各种变量和函数 用于操控python 的运行环境...转载 2019-05-08 23:40:10 · 140 阅读 · 0 评论 -
python中 参数使用一个* 和使用**两个型号的区别
1.一个星号表示列表2.两个星号表示字典原创 2019-05-09 00:11:50 · 990 阅读 · 0 评论 -
robotframework复习第一课 安装
斜体样式安装rotbotfram在这里插入代码片ework1.pip install robotframework2.pip install robotframework-seleniumlibrary3.在pycharm中安装 intellibot 和intellibot@seleniumLibrary patched 这两个插件使用这两个插件,关键字可以高亮显示robotframe基...原创 2019-05-06 22:11:10 · 451 阅读 · 0 评论 -
robotframewor 中的条件判断
1.条件判断RF里面除了循环以外,另一个流程控制的基本功能就是条件判断RF中通常用Run keyword if 关键字来达到类python 中 if …else …条件判断的功能Run Keywords if condition ,name ,*argscondition 是python 中的表达式name 是一个关键字 就是满足上面条件要执行的关键字,args 就是关键字的参数R...转载 2019-05-10 07:41:06 · 3490 阅读 · 0 评论 -
selenium随心笔记
exit for loop if +python表达式 (注意变量)如果满足表达式 退出循环等价于 run keyword if +python表达式 +exit for loop取出列表对象的第一个元素 @{list}【0】当只执行一次的时候可以把步骤 放在初始化里面如打开浏览器如果每个用例都要打开浏览器可以放在suite setup 套件里面可以把等待python搜索...原创 2019-05-14 22:15:44 · 149 阅读 · 0 评论 -
robotframework中项目目录和执行参数
手工测试的用例自动化自动化的目录结构测试套件文件,目录RF资源文件测试库变量文件pylib python 的测试库rflib 用来存放用户关键字tc就是放testcase老师管理用例执行的参数robot [options] data_sourcesoptions 可以省略robot --name Example path/to/tests/pattern_*.robot...原创 2019-05-15 21:01:18 · 1616 阅读 · 0 评论 -
robotframework初始化和清除
1.setup 是测试一个用例(或套件)前面要做的事情2.teardown 是清除操作在robotframework 中每个测试用例测试套件的目录,文件都是有需要初始化或者所有的setup 和 teardown 操作手只有能由一个关键字语句构成当初始化关键字过多建议使用 run keywords[documentation]相当于注释会被打印出来的加::测试套件的初始化和清除 就是在**...原创 2019-05-10 23:45:12 · 1360 阅读 · 0 评论 -
python中的使用技巧 json库
1.json 库中的 dumps(),可以将python 的数据对象转换成json 格式的字符串2.loads(),可以将python 的json格式的字符串 转换成 python 的数据对象3.id在python 中是有内置函数的所以尽量不要单独使用删除数据注意数据的依赖性如果有的数据不能删除在自动化时候如何操作,如果不能删除只能操作数据库json 和 BuiltIn () 为什么一...原创 2019-05-25 00:01:02 · 229 阅读 · 0 评论 -
python语法 与robotframework结合的情况
在自定义关键字的时候需要使用robotframework 的语法而不是pythonrobot framework中 字典的需要&{a}[b]注意不key 不需要使用引号 大括号和&不能少should be true 需要使用python 语法...原创 2019-05-21 23:27:40 · 616 阅读 · 0 评论 -
robotframework中的用户关键字封装
使用keywords表关键字顶头写 关键字可以使用惨 [arguments] ${a} ${b}关键字还可以有返回值 使用 [return]rebotframework中的常用库collections还有内置库intellit原创 2019-05-12 22:39:02 · 1196 阅读 · 0 评论 -
selemnium中select输入框的选择
首先要导入模块from selenium.webdriver.support.select import selectele=…select(ele).select_by_index(n) 选择第N 个元素从0开始select(ele).select_by_value() 根据value 值进行选择select(ele).select_by-visible_text() ...转载 2019-05-17 00:32:13 · 553 阅读 · 0 评论 -
浅谈 python中 异常处理 在selenium中的应用 try except finally的应用
1.在调试程序的时候经常会发现报错后,无法执行driver.quit() 退出浏览器,,浏览器手动关闭后chromedriver32 依然还在运行,这个时候我就想到了可以通过捕获异常的方式继续执行driver.quit() 退出 浏览器2.看下面代码,当程序执行失败后 会继续执行 finally,并且将错误的代码行打印出来这个程序需要import traceback ,并且在异常的时候p...原创 2019-05-02 21:12:03 · 581 阅读 · 0 评论