拥有Python标签的文章
Python

Python线程详解

1.线程基础1.1.线程状态线程有5种状态,状态转换的过程如下图所示:1.2.线程同步(锁)多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所有元素都是0,线程"set"从后向前把所有元素改成1,而线程"print"负责从前往后读取列表并打印。那么,可能线程"set"开始改的时候,线程"print"便来打印列表了,输出就成了一半0一半1,这就是数据的不同步。为了避免

系统 2019-09-27 17:37:41 1757

Python

python基础-Task5

类和对象类:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。局部变量:定义在方法中的变

系统 2019-09-27 17:57:15 1756

Python

Python 实例方法、类方法、静态方法的区别与作用

Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文。首先,这三种方法都定义在类中。下面我先简单说一下怎么定义和调用的。(PS:实例对象的权限最大。)实例方法定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法);调用:只能由实例对象调用。类方法定义:使用装饰器@classmethod。第一个参数必须是当前

系统 2019-09-27 17:56:54 1756

Python

Python selenium使用入门

#版本python==3.7.3selenium==4.0.0a1#seleniumpypi地址https://pypi.org/project/selenium/在目录前提示一下,有时候我们在获取了一组元素,然后进行循环时,会报错'陈旧的元素.....',为了避免这个错误,建议在需要处理一组元素时,我们先算出元素的数量,然后通过range(element_counter),来通过索引值再次搜索需要处理的元素.目录:一、初始化二、元素查找三、select标

系统 2019-09-27 17:56:10 1756

Python

python中bs4.BeautifulSoup的基本用法

导入模块frombs4importBeautifulSoupsoup=BeautifulSoup(html_doc,"html.parser")下面看下常见的用法print(soup.a)#拿到soup中的第一个a标签print(soup.a.name)#获取a标签的名称print(soup.a.string)#获取a标签的文本内容print(soup.a.text)#获取a标签的文本内容print(soup.a["href"])#获取a标签的href属性

系统 2019-09-27 17:55:49 1756

Python

Python 常用函数方法、技巧

Python常用函数方法DataFrame与Dict的转换、reindex()对DataFrame排序注:字典没有顺序,DataFrame有顺序。importpandasaspdimportnumpyasnpdict={'c':1,'a':2,'b':3}print(dict)#打印字典#将字典转为DataFrame,列索引命名为zhi,行索引为原字典的键名df=pd.DataFrame([dict],index=['zhi'])#DataFrame转Di

系统 2019-09-27 17:55:17 1756

Python

浅谈Python基础之I/O模型

一、I/O模型IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。同步(synchronous)IO和异步(asynchronous)IO,阻塞(blocking)IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronousI

系统 2019-09-27 17:55:10 1756

Python

python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法

首先在火狐浏览器上登录知乎,然后使用火狐浏览器插件Httpfox获取GET请求的Cookie,这里注意使用状态值为200(获取成功)的某次GET.将Cookies复制出来,注意这一行非常长,不要人为添加换行符。而且Cookie中使用了双引号,最后复制到代码里使用单引号包起来。使用下边代码检验是否是模拟了登录的用户的请求:importrequestsimportreheaders={'User-Agent':'Mozilla/5.0(WindowsNT10.

系统 2019-09-27 17:55:03 1756

Python

Python函数编程——闭包和装饰器

Python函数编程——闭包和装饰器一、闭包关于闭包,即函数定义和函数表达式位于另一个函数的函数体内(嵌套函数)。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。也就是说,内部函数会在外部函数返回后被执行。而当这个内部函数执行时,它仍然必需访问其外部函数的局部变量、参数以及其他内部函数。这些局部变量、参数和函数声明(最初时)的值是外部函数返回时的值,但也会受到内

系统 2019-09-27 17:54:51 1756

Python

LeetCode刷题笔记257:二叉树的所有路径(Python实现)

题目描述:给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入:1/\23\5输出:["1->2->5","1->3"]解释:所有根节点到叶子节点的路径为:1->2->5,1->3Solution:运用递归的思想,从根节点遍历二叉树,如果当前节点不是叶子节点,则将当前节点添加到路径最后并继续递归他的孩子节点。如果当前节点是叶子节点,那么将当前节点添加到路径最后,得到一条路径,并把当前这条路径添加到路径集合里。#D

系统 2019-09-27 17:54:25 1756

Python

Python 分享10个PyCharm技巧

#0.PyCharm常用快捷键#1.查看使用库源码PyCharm主程序员在Stackoverflow上答道经常听人说,多看源码。源码不仅能帮我们搞清楚运行机制,还能学习优秀的库或者框架的最佳实践。调用库时,你可以在你好奇的几乎任何地方点击Command+B,就可以很方便的跳转到源码里的类,方法,函数,变量的定义。#2.让你的代码PEP8写Python代码时,你会严格遵守pep8规范么?还是要遵守的,不然代码传到github或者知乎上被人怼就不好了。但是如果

系统 2019-09-27 17:53:10 1756

Python

Python正则表达式:字符集及内部顺序

1.基础内容[](中括号)用于描述正则表达式中的字符集,可以通过向字符集内部输入字符来自定义匹配的内容。importreregex1=re.compile('[ABC]')message1="Hello.ThisisABCclub.Amanwillserveyouthen."print(regex1.findall(message1))输出:[‘A’,‘B’,‘C’,‘A’]正则表达式会根据中括号里的任意一个字符进行匹配。如果想要匹配的字符很多,例如所有的

系统 2019-09-27 17:52:45 1756

Python

【Python】装饰器与内部函数简单理解

1、内部函数,顾名思义,是函数内部定义的函数,其作用是封装逻辑,使函数逻辑更为清晰。defouter():inner():业务逻辑returninner2、为何returninner而不是returninner()呢?初学者可能都有此一问,我们知道,运行一个函数就是:func(),然后func会得出结果。同理,如果returninner()就是要返回inner()的运算结果,但是innner()函数没有返回值,此时returninner()只能得到None

系统 2019-09-27 17:52:40 1756

Python

Python可视化数据库Dash

Dash简介Dash是一个用于构建Web应用程序的Python数据可视化库。它基于PythonWeb框架Flask以及Javascript绘图库Plotly.js和用于构建用户界面的Javascript库React.js,所以它非常适合用于构建后端基于Flask,前端数据可视化的Web网页。因为Dash应用程序可以在Web浏览器中显示,所以可以将这些Dash应用程序部署到服务器,通过URL共享。Dash应用程序由两部分组成,第一部分是布局(Layout),

系统 2019-09-27 17:52:31 1756

Python

Python中使用PDB库调试程序

Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的。用pdb调试有多种方式可选:1.命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前复制代码代码如下:python-mpdbmyscript.py2.在Python交互环境中启用调试复制代码代码如下:>>>importpdb>>>importmymodule>>>pdb.run(‘mymodule.

系统 2019-09-27 17:51:04 1756