python知识
1、元素定位的几种方式?
1.根据标签名(Tag Name):通过元素的HTML标签名来定位元素。例如,通过标签名找到一个
元素。
2.根据ID属性(ID Attribute):通过元素的ID属性值来定位元素。ID在页面中应该是唯一的,因此可以用来准确定位一个元素。
例如,通过
来找到ID为"myDiv"的
元素。
3.根据类名(Class Name):通过元素的类名来定位元素。类名可以用于选择具有相同类名的一个或多个元素。
例如,通过
来定位类名为"myClass"的
元素。
4.根据CSS选择器(CSS Selector):使用CSS选择器来定位元素。CSS选择器提供了丰富的选择能力,可以根据元素的标签名、ID、类名、属性等来定位元素。
例如,使用div#myDiv.myClass选择具有ID为"myDiv",类名为"myClass"的
元素。
5.根据链接文本(Link Text):通过链接的文本内容来定位链接元素。例如,通过链接的可见文本找到
标签元素。
6.根据部分链接文本(Partial Link Text):通过链接的部分可见文本来定位链接元素。例如,通过链接的部分文本找到标签元素。
7.根据XPath表达式(XPath Expression):使用XPath语法定位元素。XPath提供了强大的定位能力,可以根据元素的层级关系、属性、文本内容等来定位元素。
例如,通过//div[@id="myDiv"]来定位ID为"myDiv"的元素。
8.根据自定义属性(Custom Attribute):使用元素的自定义属性来定位元素。自定义属性是指用户自定义添加到元素上的属性。
例如,通过
来定位具有自定义属性"data-custom"值为"myData"的
元素。
2、元素定位不到造成原因,解决办法?
1.可能元素加载未完成元素加载没完成,同样的路径定位,每次测试结果确是不一样的,有时候抛出错误,有时候正常!
而很大程度上取决于你的电脑和网速!
页面加载超时或网络问题:若网络不稳定或页面加载时间过长,可能会导致元素定位失败。可以尝试刷新页面或检查网络连接,确保页面能够正常加载。
元素还未加载完成:如果元素是通过异步加载的,可能会导致定位失败。解决办法是等待元素加载完成再进行定位,可以使用显式等待或者延时等待来处理。
解决:
确保元素加载完成后再进行定位,可以使用显式等待或延时等待的方法。
2.元素嵌套在iframe中
注:首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,
因此需要先定位到相应的frame,对那个页面里的元素进行定位。
1,切换到iframe中:driver.switch_to.frame(’ iframe的id或name值 ');
2,再进行元素定位
示例:
#先定位到iframe
elementi= driver.find_element_by_class_name('APP-editor-iframe')
#再将定位对象传给switch_to_frame()方法
driver.switch_to_frame(elementi)
3.页面元素是动态的
3.1怎么判断元素是否是动态?
首先应先确定时间等待没问题、且没有打开新页面、没有alert、没有frame,元素可见或可点击
此时最有可能的原因就是元素是动态的,元素动态有分两种:
a.元素的属性是动态的
可以尝试刷新一下网页查看该元素前后有没有变化,如果属性值改变了,即是动态属性了,较为常见的是元素的id属性,或class属性里有拼接一串数字的,就很有可能是动态元素了,
b.元素的位置是动态的
有些元素是因为某些框架技术自动生成的动态元素
1.根据其他静态属性定位;
2.根据元素属性值模糊匹配定位。
4.页面元素不可见或不可点击
1,使用JavaScript实现元素定位和动作执行;
2,使用鼠标事件ActionChains来操作;
3,如果是被伪元素遮挡了原本的元素,可以直接定位到伪元素上进行点击操作
3、Python常见的数据类型
1.数字(number):表示整数,例如:1、-5、100等。
2.字符串(str):表示文本数据,用引号(单引号或双引号)括起来的一串字符,例如:“Hello”、'World’等。
3.列表(list):表示一组有序的元素,可以包含不同类型的数据,用方括号[ ]括起来,元素之间使用逗号分隔,例如:[1, ‘apple’, True]。
Python中列表(list)有许多内置函数和方法可以使用
1. append():在列表末尾添加一个元素。
my_list = [1, 2, 3]
my_list.append(4)
print(my_list) # 输出[1, 2, 3, 4]
2. insert():在指定的位置插入一个元素。
my_list = [1, 2, 3]
my_list.insert(1, 'apple')
print(my_list) # 输出[1, 'apple', 2, 3]
3. remove():删除列表中的一个元素。
my_list = [1, 'apple', 2, 3]
my_list.remove('apple')
print(my_list) # 输出[1, 2, 3]
4. pop():删除列表中指定位置的元素,并返回被删除的元素。
my_list = [1, 2, 3]
removed_element = my_list.pop(1)
print(my_list) # 输出[1, 3]
print(removed_element) # 输出2
4.元组(tuple):与列表类似,但是元组是不可变的,在创建后不允许修改,用圆括号( )括起来,元素之间使用逗号分隔,例如:(1, ‘apple’, True)。
注:tuple 与 list 的唯一区别是 tuple 的元素是不能修改,而 list 的元素可以修改
5.集合(set):表示一组唯一的元素,不允许重复,用大括号{ }或set()函数创建,例如:{1, 2, 3}或set([1, 2, 3])。
6.字典(dict):表示键值对的集合,每个键和值之间使用冒号分隔,键值对之间使用逗号分隔,用大括号{ }或dict()函数创建,例如:{‘name’: ‘Alice’, ‘age’: 25}。
4、性能测试指标有哪些,说出这个判断的依据,
注:比如说以百分之多少为节点来判断它这个性能测试的是有效的还是无效的嘛
(性能测试那些指标数据会银影响系统性能)
1. 响应时间(Response Time):系统或应用程序从接收请求到返回响应的时间。较低的响应时间表示系统的相应速度较快。
2. 吞吐量(Throughput):系统或应用程序单位时间内处理的请求数量或事务数量。较高的吞吐量表示系统的处理能力较大。
3. 并发用户数(Concurrent Users):同时访问系统或应用程序的用户数量。较高的并发用户数要求系统的并发处理能力高。
4. 资源利用率(Resource Utilization):系统或应用程序使用的计算资源(如CPU、内存、磁盘等)的利用率。较低的资源利用率表示系统的性能效率较高。
5. 扩展性(Scalability):系统或应用程序在增加负载或并发用户时的性能表现。具有良好扩展性的系统能够保持稳定的性能。
6. 崩溃测试(Stress Testing):通过超过系统处理能力范围的负载或并发来测试系统的稳定性。观察系统是否崩溃或响应时间是否显著增加。
7. 稳定性(Stability):系统或应用程序在长时间运行或高负载条件下的性能表现。稳定性测试可以验证系统是否能够持续稳定地运行。
4.1性能测试中的指标数据可以影响系统性能的因素:
1.响应时间:较长的响应时间会使用户感到系统响应速度慢,可能导致用户流失或降低用户体验。较短的响应时间可以提升系统的性能和用户满意度。
2.吞吐量:较低的吞吐量意味着系统处理能力不足,可能导致请求堆积或延迟。较高的吞吐量则表示系统能够更快地处理请求,提高整体性能。
3.并发用户数:较高的并发用户数要求系统能够同时处理多个请求,如果系统的并发处理能力不足,可能导致延迟、拒绝请求或系统崩溃。
4.资源利用率:如果系统的资源利用率过高,可能会导致性能下降甚至系统崩溃。优化资源利用率可以提高系统的性能和效率。
5.崩溃测试:当系统无法处理超出其处理能力范围的负载时,可能导致系统崩溃、响应时间大幅增加或请求失败。稳定的系统应能够承受峰值负载而不崩溃。
5、GET请求和POST请求是HTTP协议中两种常见的请求方法,它们在以下几个方面有明显的区别:
1.数据传输位置:GET请求通过URL的查询参数传输数据,数据附加在URL后面,
例如:http://example.com/api?param1=value1¶m2=value2。而POST请求通过请求的正文传输数据,数据被包含在请求的正文中。
2.数据长度限制:GET请求对URL的长度有限制,不同浏览器和服务器对URL的长度限制可能不同,一般约为2000个字符左右。
而POST请求对数据长度没有特定限制,可以传输大量数据。
3.安全性:GET请求对请求参数和数据的可见性较高,因为数据直接附加在URL中,容易被拦截和查看。而POST请求的数据在请求的正文中,相对更安全,不会在URL中暴露。
4.数据语义:GET请求主要用于获取资源,即多次请求结果相同,不会有副作用。
POST请求主要用于创建或修改资源,即多次请求可能会有不同的结果或产生副作用。
5.缓存:GET请求可以被浏览器缓存,因为相同的GET请求结果应该是不变的。
而POST请求默认不被缓存,因为每次POST请求可能有不同的结果。
综上所述:GET请求适合用于获取数据,对数据有长度限制,数据相对较不安全,可以被缓存
POST请求适合用于修改或创建数据,没有长度限制,数据相对较安全,不被缓存
在选择使用GET或POST请求时,需要根据接口设计的要求和业务逻辑来确定。
6、Python中前置和后置以及类前置和类后置区别
1.前置(setup)和后置(teardown)方法:
前置方法(一般命名为setup)在每个测试方法(或用例)执行之前运行,用于准备测试环境,例如创建对象、建立数据库连接等。
后置方法(一般命名为teardown)在每个测试方法执行完毕后运行,用于清理测试环境,例如释放资源、关闭连接等。
前置和后置方法都是针对每个测试方法的执行,每个测试方法都会有对应的前置和后置方法执行。
2.类前置(classmethod setup)和类后置(classmethod teardown)方法:
类前置方法(使用@classmethod装饰器修饰,一般命名为setup_class)在类中任何测试方法执行之前执行,用于设置类级别的准备工作,例如创建实例或加载测试数据。
类后置方法(使用@classmethod装饰器修饰,一般命名为teardown_class)在类中所有测试方法执行完毕后执行,用于清理类级别的环境,例如关闭连接、删除临时文件等。
类前置和类后置方法在整个类的测试过程中只执行一次,不管类中有多少个测试方法,都只有一个类前置和类后置方法。
通过使用前置和后置方法,可以确保测试环境的一致性,并在测试开始和结束时执行必要的操作。
类前置和类后置方法更适用于执行类级别的准备和清理工作,例如在一个测试类中多个测试方法共享同一个实例或资源。
7、python自动化接口是怎么做的,用到什么依赖库
1.requests:用于发送HTTP请求,可以使用GET、POST、PUT、DELETE等请求方法,并且方便处理请求头、请求体、参数等信息。
2.unittest或pytest:用于编写和执行测试用例,断言和验证接口的响应数据和状态码。
3.json或xml:用于解析接口返回的JSON或XML格式的响应数据,提取字段信息进行断言和验证。
4.logging:用于记录日志,方便调试和查看测试过程中的信息。
5.Jenkins等持续集成工具:用于集成和自动化运行接口测试,并生成测试报告和执行结果。
6.Allure、pytest-html等工具:用于生成漂亮且可读性强的测试报告,方便查看测试结果和分析问题。
7.PyYAML:用于解析和处理YAML格式的配置文件,方便管理接口的URL、请求体、参数等信息。
8、python接口自动化中,接口依赖码那个字段是怎么提取出来的
1.使用编程语言的JSON解析库:如果接口返回的数据是JSON格式,可以使用编程语言(如Python、Java等)中的JSON解析库来解析响应数据,并提取需要的字段。
通过指定JSON中的路径或键,可以轻松地获取字段的值。
2.使用正则表达式:在某些情况下,响应数据可能是文本或字符串形式,可以使用正则表达式进行匹配和提取字段值。通过编写适当的正则表达式来匹配所需字段,并提取匹配结果。
3.使用第三方工具或库:有许多第三方工具和库可以帮助提取接口响应中的字段,如JMESPath、JsonPath等。这些工具提供了一种简便的方式来指定字段路径并提取值。
示例:
在处理之前,token灵魂三连问:
思路如下:
1.抽取登录接口返回值中的token;
2.使用全局变量存储token。token可以存到yaml或者json或者ini的配置文件里,以下介绍将token作为类属性;
3.其他接口将token值放入请求头,发送请求;
两种方案:
定义一个全局变量来共享
通过当前测试用例类的类属性共享
你可能感兴趣的:(python理论)
- 理解Gunicorn:Python WSGI服务器的基石
范范0825
ipythonlinux运维
理解Gunicorn:PythonWSGI服务器的基石介绍Gunicorn,全称GreenUnicorn,是一个为PythonWSGI(WebServerGatewayInterface)应用设计的高效、轻量级HTTP服务器。作为PythonWeb应用部署的常用工具,Gunicorn以其高性能和易用性著称。本文将介绍Gunicorn的基本概念、安装和配置,帮助初学者快速上手。1.什么是Gunico
- Python数据分析与可视化实战指南
William数据分析
pythonpython数据
在数据驱动的时代,Python因其简洁的语法、强大的库生态系统以及活跃的社区,成为了数据分析与可视化的首选语言。本文将通过一个详细的案例,带领大家学习如何使用Python进行数据分析,并通过可视化来直观呈现分析结果。一、环境准备1.1安装必要库在开始数据分析和可视化之前,我们需要安装一些常用的库。主要包括pandas、numpy、matplotlib和seaborn等。这些库分别用于数据处理、数学
- python os.environ
江湖偌大
python深度学习
os.environ['TF_CPP_MIN_LOG_LEVEL']='0'#默认值,输出所有信息os.environ['TF_CPP_MIN_LOG_LEVEL']='1'#屏蔽通知信息(INFO)os.environ['TF_CPP_MIN_LOG_LEVEL']='2'#屏蔽通知信息和警告信息(INFO\WARNING)os.environ['TF_CPP_MIN_LOG_LEVEL']='
- Python中os.environ基本介绍及使用方法
鹤冲天Pro
#Pythonpython服务器开发语言
文章目录python中os.environos.environ简介os.environ进行环境变量的增删改查python中os.environ的使用详解1.简介2.key字段详解2.1常见key字段3.os.environ.get()用法4.环境变量的增删改查和判断是否存在4.1新增环境变量4.2更新环境变量4.3获取环境变量4.4删除环境变量4.5判断环境变量是否存在python中os.envi
- Pyecharts数据可视化大屏:打造沉浸式数据分析体验
我的运维人生
信息可视化数据分析数据挖掘运维开发技术共享
Pyecharts数据可视化大屏:打造沉浸式数据分析体验在当今这个数据驱动的时代,如何将海量数据以直观、生动的方式展现出来,成为了数据分析师和企业决策者关注的焦点。Pyecharts,作为一款基于Python的开源数据可视化库,凭借其丰富的图表类型、灵活的配置选项以及高度的定制化能力,成为了构建数据可视化大屏的理想选择。本文将深入探讨如何利用Pyecharts打造数据可视化大屏,并通过实际代码案例
- Python教程:一文了解使用Python处理XPath
旦莫
Python进阶python开发语言
目录1.环境准备1.1安装lxml1.2验证安装2.XPath基础2.1什么是XPath?2.2XPath语法2.3示例XML文档3.使用lxml解析XML3.1解析XML文档3.2查看解析结果4.XPath查询4.1基本路径查询4.2使用属性查询4.3查询多个节点5.XPath的高级用法5.1使用逻辑运算符5.2使用函数6.实战案例6.1从网页抓取数据6.1.1安装Requests库6.1.2代
- python os.environ_python os.environ 读取和设置环境变量
weixin_39605414
pythonos.environ
>>>importos>>>os.environ.keys()['LC_NUMERIC','GOPATH','GOROOT','GOBIN','LESSOPEN','SSH_CLIENT','LOGNAME','USER','HOME','LC_PAPER','PATH','DISPLAY','LANG','TERM','SHELL','J2REDIR','LC_MONETARY','QT_QPA
- 使用Faiss进行高效相似度搜索
llzwxh888
faisspython
在现代AI应用中,快速和高效的相似度搜索是至关重要的。Faiss(FacebookAISimilaritySearch)是一个专门用于快速相似度搜索和聚类的库,特别适用于高维向量。本文将介绍如何使用Faiss来进行相似度搜索,并结合Python代码演示其基本用法。什么是Faiss?Faiss是一个由FacebookAIResearch团队开发的开源库,主要用于高维向量的相似性搜索和聚类。Faiss
- python是什么意思中文-在python中%是什么意思
编程大乐趣
Python中%有两种:1、数值运算:%代表取模,返回除法的余数。如:>>>7%212、%操作符(字符串格式化,stringformatting),说明如下:%[(name)][flags][width].[precision]typecode(name)为命名flags可以有+,-,''或0。+表示右对齐。-表示左对齐。''为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填
- Day1笔记-Python简介&标识符和关键字&输入输出
~在杰难逃~
Pythonpython开发语言大数据数据分析数据挖掘
大家好,从今天开始呢,杰哥开展一个新的专栏,当然,数据分析部分也会不定时更新的,这个新的专栏主要是讲解一些Python的基础语法和知识,帮助0基础的小伙伴入门和学习Python,感兴趣的小伙伴可以开始认真学习啦!一、Python简介【了解】1.计算机工作原理编程语言就是用来定义计算机程序的形式语言。我们通过编程语言来编写程序代码,再通过语言处理程序执行向计算机发送指令,让计算机完成对应的工作,编程
- 读书||陶新华《教育中的积极心理学》1—28
流水淙淙2022
读一本好书,尤如和一位高尚者对话,亦能对人的精神进行洗礼。但是若不能和实践结合起来,也只能落到空读书的状态。读书摘要与感想1、塞利格曼在《持续的幸福》一书中提出了幸福2.0理论,提出幸福由5个元素决定——积极情绪、投入的工作和生活、目标和意义、和谐的人际关系、成就感。2、人的大脑皮层在进行智力活动时,都伴有皮下中枢活动,对这些活动进行体验请假,并由此产生了情感解读。人的情绪情感体验总是优先于大脑的
- python八股文面试题分享及解析(1)
Shawn________
python
#1.'''a=1b=2不用中间变量交换a和b'''#1.a=1b=2a,b=b,aprint(a)print(b)结果:21#2.ll=[]foriinrange(3):ll.append({'num':i})print(11)结果:#[{'num':0},{'num':1},{'num':2}]#3.kk=[]a={'num':0}foriinrange(3):#0,12#可变类型,不仅仅改变
- 每日算法&面试题,大厂特训二十八天——第二十天(树)
肥学
⚡算法题⚡面试题每日精进java算法数据结构
目录标题导读算法特训二十八天面试题点击直接资料领取导读肥友们为了更好的去帮助新同学适应算法和面试题,最近我们开始进行专项突击一步一步来。上一期我们完成了动态规划二十一天现在我们进行下一项对各类算法进行二十八天的一个小总结。还在等什么快来一起肥学进行二十八天挑战吧!!特别介绍小白练手专栏,适合刚入手的新人欢迎订阅编程小白进阶python有趣练手项目里面包括了像《机器人尬聊》《恶搞程序》这样的有趣文章
- Python快速入门 —— 第三节:类与对象
孤华暗香
Python快速入门python开发语言
第三节:类与对象目标:了解面向对象编程的基础概念,并学会如何定义类和创建对象。内容:类与对象:定义类:class关键字。类的构造函数:__init__()。类的属性和方法。对象的创建与使用。示例:classStudent:def__init__(self,name,age,major):self.name
- pyecharts——绘制柱形图折线图
2224070247
信息可视化pythonjava数据可视化
一、pyecharts概述自2013年6月百度EFE(ExcellentFrontEnd)数据可视化团队研发的ECharts1.0发布到GitHub网站以来,ECharts一直备受业界权威的关注并获得广泛好评,成为目前成熟且流行的数据可视化图表工具,被应用到诸多数据可视化的开发领域。Python作为数据分析领域最受欢迎的语言,也加入ECharts的使用行列,并研发出方便Python开发者使用的数据
- Python 实现图片裁剪(附代码) | Python工具
剑客阿良_ALiang
前言本文提供将图片按照自定义尺寸进行裁剪的工具方法,一如既往的实用主义。环境依赖ffmpeg环境安装,可以参考我的另一篇文章:windowsffmpeg安装部署_阿良的博客-CSDN博客本文主要使用到的不是ffmpeg,而是ffprobe也在上面这篇文章中的zip包中。ffmpy安装:pipinstallffmpy-ihttps://pypi.douban.com/simple代码不废话了,上代码
- 【华为OD技术面试真题 - 技术面】- python八股文真题题库(4)
算法大师
华为od面试python
华为OD面试真题精选专栏:华为OD面试真题精选目录:2024华为OD面试手撕代码真题目录以及八股文真题目录文章目录华为OD面试真题精选**1.Python中的`with`**用途和功能自动资源管理示例:文件操作上下文管理协议示例代码工作流程解析优点2.\_\_new\_\_和**\_\_init\_\_**区别__new____init__区别总结3.**切片(Slicing)操作**基本切片语法
- python os 环境变量
CV矿工
python开发语言numpy
环境变量:环境变量是程序和操作系统之间的通信方式。有些字符不宜明文写进代码里,比如数据库密码,个人账户密码,如果写进自己本机的环境变量里,程序用的时候通过os.environ.get()取出来就行了。os.environ是一个环境变量的字典。环境变量的相关操作importos"""设置/修改环境变量:os.environ[‘环境变量名称’]=‘环境变量值’#其中key和value均为string类
- Python爬虫解析工具之xpath使用详解
eqa11
python爬虫开发语言
文章目录Python爬虫解析工具之xpath使用详解一、引言二、环境准备1、插件安装2、依赖库安装三、xpath语法详解1、路径表达式2、通配符3、谓语4、常用函数四、xpath在Python代码中的使用1、文档树的创建2、使用xpath表达式3、获取元素内容和属性五、总结Python爬虫解析工具之xpath使用详解一、引言在Python爬虫开发中,数据提取是一个至关重要的环节。xpath作为一门
- 【华为OD技术面试真题 - 技术面】- python八股文真题题库(1)
算法大师
华为od面试python
华为OD面试真题精选专栏:华为OD面试真题精选目录:2024华为OD面试手撕代码真题目录以及八股文真题目录文章目录华为OD面试真题精选1.数据预处理流程数据预处理的主要步骤工具和库2.介绍线性回归、逻辑回归模型线性回归(LinearRegression)模型形式:关键点:逻辑回归(LogisticRegression)模型形式:关键点:参数估计与评估:3.python浅拷贝及深拷贝浅拷贝(Shal
- nosql数据库技术与应用知识点
皆过客,揽星河
NoSQLnosql数据库大数据数据分析数据结构非关系型数据库
Nosql知识回顾大数据处理流程数据采集(flume、爬虫、传感器)数据存储(本门课程NoSQL所处的阶段)Hdfs、MongoDB、HBase等数据清洗(入仓)Hive等数据处理、分析(Spark、Flink等)数据可视化数据挖掘、机器学习应用(Python、SparkMLlib等)大数据时代存储的挑战(三高)高并发(同一时间很多人访问)高扩展(要求随时根据需求扩展存储)高效率(要求读写速度快)
- 《Python数据分析实战终极指南》
xjt921122
python数据分析开发语言
对于分析师来说,大家在学习Python数据分析的路上,多多少少都遇到过很多大坑**,有关于技能和思维的**:Excel已经没办法处理现有的数据量了,应该学Python吗?找了一大堆Python和Pandas的资料来学习,为什么自己动手就懵了?跟着比赛类公开数据分析案例练了很久,为什么当自己面对数据需求还是只会数据处理而没有分析思路?学了对比、细分、聚类分析,也会用PEST、波特五力这类分析法,为啥
- Python中深拷贝与浅拷贝的区别
yuxiaoyu.
转自:http://blog.csdn.net/u014745194/article/details/70271868定义:在Python中对象的赋值其实就是对象的引用。当创建一个对象,把它赋值给另一个变量的时候,python并没有拷贝这个对象,只是拷贝了这个对象的引用而已。浅拷贝:拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。也就是,把对象复制一遍,但是该对象中引用的其他对象我不复
- Python开发常用的三方模块如下:
换个网名有点难
python开发语言
Python是一门功能强大的编程语言,拥有丰富的第三方库,这些库为开发者提供了极大的便利。以下是100个常用的Python库,涵盖了多个领域:1、NumPy,用于科学计算的基础库。2、Pandas,提供数据结构和数据分析工具。3、Matplotlib,一个绘图库。4、Scikit-learn,机器学习库。5、SciPy,用于数学、科学和工程的库。6、TensorFlow,由Google开发的开源机
- Python编译器
鹿鹿~
Python编译器Pythonpython开发语言后端
嘿嘿嘿我又来了啊有些小盆友可能不知道Python其实是有编译器的,也就是PyCharm。你们可能会问到这个是干嘛的又不可以吃也不可以穿好像没有什么用,其实你还说对了这个还真的不可以吃也不可以穿,但是它用来干嘛的呢。用来编译你所打出的代码进行运行(可能这里说的有点不对但是只是个人认为)现在我们来说说PyCharm是用来干嘛的。PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Pyt
- 一文掌握python面向对象魔术方法(二)
程序员neil
pythonpython开发语言
接上篇:一文掌握python面向对象魔术方法(一)-CSDN博客目录六、迭代和序列化:1、__iter__(self):定义迭代器,使得类可以被for循环迭代。2、__getitem__(self,key):定义索引操作,如obj[key]。3、__setitem__(self,key,value):定义赋值操作,如obj[key]=value。4、__delitem__(self,key):定义
- 一文掌握python常用的list(列表)操作
程序员neil
pythonpython开发语言
目录一、创建列表1.直接创建列表:2.使用list()构造器3.使用列表推导式4.创建空列表二、访问列表元素1.列表支持通过索引访问元素,索引从0开始:2.还可以使用切片操作访问列表的一部分:三、修改列表元素四、添加元素1.append():在末尾添加元素2.insert():在指定位置插入元素五、删除元素1.del:删除指定位置的元素2.remove():删除指定值的第一个匹配项3.pop():
- Python实现简单的机器学习算法
master_chenchengg
pythonpython办公效率python开发IT
Python实现简单的机器学习算法开篇:初探机器学习的奇妙之旅搭建环境:一切从安装开始必备工具箱第一步:安装Anaconda和JupyterNotebook小贴士:如何配置Python环境变量算法初体验:从零开始的Python机器学习线性回归:让数据说话数据准备:从哪里找数据编码实战:Python实现线性回归模型评估:如何判断模型好坏逻辑回归:从分类开始理论入门:什么是逻辑回归代码实现:使用skl
- python中的深拷贝与浅拷贝
anshejd70787
python
深拷贝和浅拷贝浅拷贝的时候,修改原来的对象,浅拷贝的对象不会发生改变。1、对象的赋值对象的赋值实际上是对象之间的引用:当创建一个对象,然后将这个对象赋值给另外一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用。当对对象做赋值或者是参数传递或者作为返回值的时候,总是传递原始对象的引用,而不是一个副本。如下所示:>>>aList=["kel","abc",123]>>>bLis
- 用Python实现简单的猜数字游戏
程序媛了了
python游戏java
猜数字游戏代码:importrandomdefpythonit():a=random.randint(1,100)n=int(input("输入你猜想的数字:"))whilen!=a:ifn>a:print("很遗憾,猜大了")n=int(input("请再次输入你猜想的数字:"))elifna::如果玩家猜的数字n大于随机数字a,则输出"很遗憾,猜大了",并提示玩家再次输入。elifn
- Java常用排序算法/程序员必须掌握的8大排序算法
cugfy
java
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1
- 【Spark102】Spark存储模块BlockManager剖析
bit1129
manager
Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色
- linux 查看端口被占用情况详解
daizj
linux端口占用netstatlsof
经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080
COMMAND PID USER FD TY
- Hosts文件使用
周凡杨
hostslocahost
一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:
- java excel工具
g21121
Java excel
直接上代码,一看就懂,利用的是jxl:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import
- web报表工具finereport常用函数的用法总结(数组函数)
老A不折腾
finereportweb报表函数总结
ADD2ARRAY
ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
示例:
ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].
ADDARRAY([3,4, 1, 5, 7], "测试&q
- 游戏服务器网络带宽负载计算
墙头上一根草
服务器
家庭所安装的4M,8M宽带。其中M是指,Mbits/S
其中要提前说明的是:
8bits = 1Byte
即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。
8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。
我是在计算我们网络流量时想到的
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
Spring 3 系列
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- 高性能mysql 之 选择存储引擎(一)
annan211
mysqlInnoDBMySQL引擎存储引擎
1 没有特殊情况,应尽可能使用InnoDB存储引擎。 原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她 被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃 恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常
- UDP网络编程
百合不是茶
UDP编程局域网组播
UDP是基于无连接的,不可靠的传输 与TCP/IP相反
UDP实现私聊,发送方式客户端,接受方式服务器
package netUDP_sc;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Ine
- JQuery对象的val()方法执行结果分析
bijian1013
JavaScriptjsjquery
JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。
- http请求测试实例(采用json-lib解析)
bijian1013
jsonhttp
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com;
import java.util.HashMap;
import java.util.Map;
import
- 【RPC框架Hessian四】Hessian与Spring集成
bit1129
hessian
在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。
定义模型、接口和服务器端代码
|---Model
&nb
- 【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析
bit1129
Mahout
1.Mahout环境搭建
1.下载Mahout
http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz
2.解压Mahout
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/home
- nginx负载tomcat遇非80时的转发问题
ronin47
nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port
详细如下:
该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的:
? 1 2 3 4 5
- java-17-在一个字符串中找到第一个只出现一次的字符
bylijinnan
java
public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
pu
- mongoDB 复制集
开窍的石头
mongodb
mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题
mo
- [宇宙与天文]宇宙时代的经济学
comsci
经济
宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。
在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源
以目前地球上国家的经济发展水平来讲,
- Git忽略文件
Cwind
git
有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。
==== ==== ==== 一些牢骚
- MySQL连接数据库的必须配置
dashuaifu
mysql连接数据库配置
MySQL连接数据库的必须配置
1.driverClass:com.mysql.jdbc.Driver
2.jdbcUrl:jdbc:mysql://localhost:3306/dbname
3.user:username
4.password:password
其中1是驱动名;2是url,这里的‘dbna
- 一生要养成的60个习惯
dcj3sjt126com
习惯
一生要养成的60个习惯
第1篇 让你更受大家欢迎的习惯
1 守时,不准时赴约,让别人等,会失去很多机会。
如何做到:
①该起床时就起床,
②养成任何事情都提前15分钟的习惯。
③带本可以随时阅读的书,如果早了就拿出来读读。
④有条理,生活没条理最容易耽误时间。
⑤提前计划:将重要和不重要的事情岔开。
⑥今天就准备好明天要穿的衣服。
⑦按时睡觉,这会让按时起床更容易。
2 注重
- [介绍]Yii 是什么
dcj3sjt126com
PHPyii2
Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
Yii 最适合做什么?
Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应
- Linux SSH常用总结
eksliang
linux sshSSHD
转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机
格式:
ssh name@remoteserver
例如:
ssh
[email protected]
二、连接到远程主机指定的端口
格式:
ssh name@remoteserver -p 22
例如:
ssh i
- 快速上传头像到服务端工具类FaceUtil
gundumw100
android
快速迭代用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOExceptio
- jQuery入门之怎么使用
ini
JavaScripthtmljqueryWebcss
jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?
首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。
- 带filter的hbase查询优化
kane_xie
查询优化hbaseRandomRowFilter
问题描述
hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。
问题原因
直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需
- java设计模式-单例模式
men4661273
java单例枚举反射IOC
单例模式1,饿汉模式
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
//私有的默认构造函数
private Singleton1() {}
//已经自行实例化
private static final Singleton1 singl
- mongodb 查询某一天所有信息的3种方法,根据日期查询
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。
// 第一种方式:
coll.aggregate([
{$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}},
{$match:{sendDate: '2015-
- 二维数组转换成JSON
tangqi609567707
java二维数组json
原文出处:http://blog.csdn.net/springsen/article/details/7833596
public class Demo {
public static void main(String[] args) { String[][] blogL
- erlang supervisor
wudixiaotie
erlang
定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_