拥有Python标签的文章
Python

python补充知识点-----为什么python中的read()语句只能生效

实际上这是一种误读,read()并不是只能生效一次。之所以会有之生效一次的误解是因为在已经read完所有的字符后,没有重新打开(open)就接着进行了下一次read,此时指针已经移到了字符串末尾,所以不再能读取出任何字符了。'''【思考】:下面的代码会读出什么?'''a=f.read()b=f.read(-1)c=f.read(10)print(a)print(b)print(c)'''乍一看,会读出如下数据:thisisatestforthefuncti

系统 2019-09-27 17:48:35 2483

Python

深入理解Python中的*重复运算符

在python中有个特殊的符号“*”,可以用做数值运算的乘法算子,也是用作对象的重复算子,但在作为重复算子使用时一定要注意注意的是:*重复出来的各对象具有同一个id,也就是指向在内存中同一块地址,在对各个对象进行操作是一定要注意。举例来说:>>>alist=[range(3)]*4>>>alist[[0,1,2],[0,1,2],[0,1,2],[0,1,2]]上面初始化一个二层列表用来模拟矩阵,该矩阵式4X3的,为描述方便,这里记矩阵为A。现在我想给A1

系统 2019-09-27 17:53:32 2482

Python

python:插入排序(直接插入)的实现

插入排序是一种简单直观且稳定的排序算法。将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。基本思想:每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的列表中适当位置上,直到全部插入完为止。将排序的数组分成两部分:第一部分已排好序的元素,第二部分包含即待插入元素。在排序过程中,分别从待插入元素中取出元素,插入到已排好序的元素列表中。分类:直接插入排序,二分插入排序(又称折半插入排序)二分插入排序在后面的文章会写到。直接插

系统 2019-09-27 17:51:58 2482

Python

Python爬虫初体验(1):利用requests和bs4提取网站漫画

emm……真实的高三暑假是,整天无事可做然后找事,于是开始学习Python好的废话不多说,进入正题由题,作为一名初学者,想要玩转爬虫这类玩意还要花很大功夫。所以我就从简单的开始:提取XKCD漫画(网页简单,提取方便)使用requests和bs4模块提取网页内容+分析html,然后再存入硬盘内首先,requests和bs4都是Python的第三方库,使用pipinstallxxx(xxx是requests和bs4)安装它们requests库最主要的方法是re

系统 2019-09-27 17:49:30 2482

Python

Python pickle模块--文件的序列化与反序列化

python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储。通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。importpickleList=[[5,1.1,'yes'],[0.9,15,'no']]Dic={0:[1,2,3,4],1:('a','b'),2:{'c':'yes','d':'no'}}fw=open('1.txt','w

系统 2019-09-27 17:49:24 2482

Python

raspberry install pandas with python

berrycondaberryconda是一款为树莓派定制基于condapython发行版的开源软件。我们可以使用它来实现类似Miniconda和Anaconda的功能。berryconda提供了python2.7的Berryconda2和python3.6的Berryconda3,同时还支持树莓派0123各个系列,我们可以根据自己的树莓派版本选择适合的版本安装即可。berryconda安装我所只用的是树莓派3B,需要的是Python3的环境,因此我选择了

系统 2019-09-27 17:48:24 2482

Python

Python中使用item()方法遍历字典的例子

Python字典的遍历方法有好几种,其中一种是for...in,这个我就不说明,在Python了几乎随处都可见for...in。下面说的这种遍历方式是item()方法。item()item()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回。DEMO代码:复制代码代码如下:person={'name':'lizhong','age':'26','city':'BeiJing','blog':'www.jb51.net'}forke

系统 2019-09-27 17:46:05 2482

Python

关于Python核心框架tornado的异步协程的2种方法详解

什么是异步?含义:双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位现象:没有共同的时钟,不考虑顺序来了就处理直观感受:就是不用等了,效率高同步含义:指两个或两个以上随时间变化的量在变化过程中保持一定的相对关系现象:有一个共同的时钟,按来的顺序一个一个处理直观感受:就是需要等候,效率低下那么今天我们看怎么用2种方法用代码实现tornado的异步?这些是导入的包:2种方

系统 2019-09-27 17:45:33 2482

Python

Python中Random和Math模块学习笔记

由于最近经常使用到Python中random,math和time``datetime模块,所以决定花时间系统的学习一下1.math模块math中的函数不可以用于太过复杂的数的运算,如果需要复杂数的运行最好使用cmath模块中同名函数,如果想要更加高级的数学功能,可以考虑选择标准库之外的numpy和scipy模块,它们不但支持数组和矩阵运算,还有丰富的数学和物理方程可供使用1.1.数学常量math.pi这个数学常量等于3.141592...math.e这个数

系统 2019-09-27 17:38:08 2482

Python

Python参数类型以及常见的坑

导语由于之前遇到过几次有关于参数类型的坑,以及经常容易把一些参数类型搞混淆,现在做一下有关参数类型的总结记录以及对之前踩坑经历的分析。参数类型首先我们列举一下有关于Python的参数类型,以及实际上的运用和原理。位置参数(必选参数)默认参数可变参数关键字参数位置参数(必选参数)首先是位置参数,同时也被称作必选参数,位置参数很好理解,只要记住这点:在函数定义时直接给定的此参数名称,调用时按照参数的位置顺序,依次赋予参数值。示例:defperson_info(

系统 2019-09-27 17:57:36 2481

Python

尽管速度如此之慢,为什么Python如此受欢迎?

Python很慢和/或它不是的两个最常见的原因高性能:解读GIL第一个是相当直接的,但在高级别编译器将更高级别的语言翻译成更低级别(更快)的语言,因此编译语言几乎总是比非编译语言执行得更快。这个经验法则有一些例外(例如JIT可能比AOT编译更快的情况),但它们会分散讨论。第二个是更臭名昭着,但是Python有一个叫做全局解释器锁的东西,它通过强制解释器一次只在一个进程(Python解释器的实例)中执行单个线程来基本上防止多线程。它的工作原理也很有趣,但也像

系统 2019-09-27 17:57:24 2481

Python

二叉树最强总结(python实现)

这篇文章总结了关于二叉树的创建和各种遍历方式。二叉树的创建方式通过层次遍历顺序创建先序遍历顺序(带上叶子结点标识符)创建先序顺序+中序顺序中序顺序+后序顺序二叉树的递归方式先序遍历(递归+非递归)中序遍历(递归+非递归)后序遍历(递归+非递归)广度优先遍历(BFS)首先来定义一下节点的结构classNode():def__init__(self,val):self.val=valself.left=Noneself.right=None然后定义树类clas

系统 2019-09-27 17:57:12 2481

Python

python 默认参数相关知识详解

最常见的一种形式是的是为一个或者多个参数指定默认值,这会创建一个可以使用比定义时允许的参数更少的参数调用的函数,defask_ok(prompt,retries=4,reminder='Pleasetryagain!'):whileTrue:ok=input(prompt)ifokin('y','ye','yes'):returnTrueifokin('n','no','nop','nope'):returnFalseretries=retries-1if

系统 2019-09-27 17:52:19 2481

Python

【Python】1行Python代码统计文本中每个英文单词出现次数...(python词频统计) | 附完整代码

今天来试一下如何利用python来统计文本中每个英文单词出现的次数列出了两种方法,一种是直接调用Counter函数,核心代码一行搞定另一种是手写的利用python中的字典来统计1.首先将文本文件导入文本是长这样子的f=open(r"C:\Users\aaa\Desktop\new.txt",encoding="utf-8")a=f.read().split()open文本之后,将文本read进来,然后用split将单词利用空格切分开输出的是一个列表,也就是

系统 2019-09-27 17:49:43 2481

Python

使用python 爬虫抓站的一些技巧总结

学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自动收邮件的脚本,写过简单的验证码识别的脚本,本来想写googlemusic的抓取脚本的,结果有了强大的gmbox,也就不用写了。这些脚本有一个共性,都是和web相关的,总要用到获取链接的一些方法,再加上simplecd这个半爬虫半网站的项目,累积不少爬虫抓站的经验,在此总结一下,那么以后做东西也就不用重复劳动了。1.最

系统 2019-09-27 17:46:26 2481