
python
文章平均质量分 66
光电的一只菜鸡
个人技术交流群833459254
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
理解python中的self,这一篇就够了
理解python中的self,这一篇就够了原创 2024-09-07 16:19:12 · 201 阅读 · 0 评论 -
python网络爬虫(五)——爬取天气预报
本文介绍了使用中国气象局API获取天气预报数据并存储到MongoDB数据库的过程。主要内容包括:1)选择中国气象局免费API接口;2)搭建开发环境,安装requests库和配置MongoDB数据库;3)提供测试代码示例,展示如何获取并解析天气数据;4)列举了可能遇到的三个常见错误及其解决方法,包括charset-normalizer版本冲突、Mongo插件安装问题和MongoDB服务控制问题。文章为开发者提供了一个完整的天气预报数据采集与存储的技术方案。原创 2024-09-07 16:07:11 · 3190 阅读 · 5 评论 -
python网络爬虫(四)——实战练习
本次实践使用Python来爬取百度百科中《青春有你2》所有参赛选手的信息。https://baike.baidu.com/item/青春有你第二季普通用户:打开浏览器 --> 往目标站点发送请求 --> 接收响应数据 --> 渲染到页面上。爬虫程序:模拟浏览器 --> 往目标站点发送请求 --> 接收响应数据 --> 提取有用的数据 --> 保存到本地/数据库。原创 2024-08-31 18:51:53 · 2761 阅读 · 0 评论 -
python网络爬虫(三)——爬虫攻防
至此,很多读者会认为修改User-Agent很简单,但是正常人1秒钟看一张图,而爬虫1秒钟可以抓取好多张图,比如1秒钟抓取上百张图,那么服务器的牙利必然会增大。其原理也很简单,就是统计每个IP的访问频率,该频率超过阈值就会返回一个验证码,如果真的是用户在进行访问,用户就会填写验证码,然后继续访问,如果是代码在进行访问,就会被封掉IP。爬虫是模拟人的浏览访问行为,进行数据的批量抓取,当抓取的数据量逐渐增大时,会给被访问的服务器造成很大的压力,甚至有可能崩溃。原创 2024-08-31 17:39:44 · 1467 阅读 · 0 评论 -
python网络爬虫(二)——数据的清洗与组织
首先明确要提取的数据是标题和链接,标题在a标签中,提取标签的正文用get_text()方法;链接在a标签的href属性中,提取标签中的href属性用get()方法,在括号中指定要提取的属性数据,即get(‘href’)学会了网络爬虫发送请求后,我们可以获得一段目标的HTML代码,但是还没有把数据提取出来,接下来需要进行数据的清洗与组织。在Python中调用正则表达式时使用re库,这个库不用安装,可以直接调用。+:匹配前一个字符1次或多次。原创 2024-08-31 17:20:33 · 1267 阅读 · 0 评论 -
python网络爬虫(一)——网络爬虫基本原理
通过request库已经抓取到网页源码,接下来要从源码中找到并提取数据。Beautiful Soup是python的一个库,其主要功能是从网页中抓取数据。Beautiful Soup目前已经被移植到bs4库中,也就是说在导入Beautiful Soup时需要先安装bs4。安装好bs4库后,还需要安装lxml库。如果我们不安装lxml库,就会使用python默认的解析器。原创 2024-08-31 16:56:13 · 1679 阅读 · 0 评论 -
python网络爬虫(零)——认识网页结构
网页一般有三部分组成,分别是HTML(超文本标记语言)、CSS(层叠样式表)、JScript(活动脚本语言)原创 2024-08-31 14:44:31 · 1468 阅读 · 0 评论 -
使用清华源安装软件包
【代码】使用清华源安装软件包。原创 2024-07-16 21:56:51 · 488 阅读 · 0 评论 -
python学习之argparse模块
argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。argparse模块的作用是用于解析命令行参数。我们很多时候,需要用到解析命令行参数的程序。我们常常可以把argparse的使用简化成下面四个步骤。原创 2024-05-10 22:10:02 · 325 阅读 · 0 评论 -
MATLAB调用python
matlab调用python原创 2023-03-09 20:12:15 · 199 阅读 · 0 评论 -
python缩进相关问题
写Python程序的时候遇到和tabs、indentation有关的错误十有八九是缩进出了问题。有的解释器是会区分四个空格和一个tab的。有的时候从Git下载的代码常会出现这样的不匹配问题。就像这样第一行和第三行的缩进是由四个空格完成的,而第二行是一个tab,一眼看去根本看不出来,而等到出了错,再一个一个去改又很麻烦,所以我们可以在Notepad++里这样设置:视图——显示符号——显示空格和制表符这样缩进到底是四个空格还是一个tab就一目了然了...转载 2021-06-30 22:00:14 · 170 阅读 · 0 评论 -
pip管理工具
pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。pip 最常用命令显示版本和路径pip --version获取帮助pip --help升级 pippip install -U pip如果这个升级命令出现问题 ,可以使用以下命令:sudo easy_install --upgrade pip安装包pip install SomePackage # 最新版本pip insta原创 2021-05-31 18:03:09 · 380 阅读 · 0 评论 -
学习python(十八)——模块与包
1.模块Python提供了强大的模块支持,主要体现在,不仅 Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块。通过这些强大的模块可以极大地提高开发者的开发效率。那么,模块到底指的是什么呢?模块,英文为 Modules,至于模块到底是什么,可以用一句话总结:模块就是 Python程序。换句话说,任何 Python 程序都可以作为模块,包括在前面章节中写的所有 Python 程序,都可以作为模块。将 Python 代码写到一个文件中,但随着程序..原创 2021-02-04 20:33:09 · 184 阅读 · 1 评论 -
学习python(十七)——异常机制处理
0.编程错误编写程序时遇到的错误可大致分为 2 类,分别为语法错误和运行时错误。语法错误,也就是解析代码时出现的错误。当代码不符合 Python 语法规则时,Python解释器在解析时就会报出 SyntaxError 语法错误,与此同时还会明确指出最早探测到错误的语句。语法错误多是开发者疏忽导致的,属于真正意义上的错误,是解释器无法容忍的,因此,只有将程序中的所有语法错误全部纠正,程序才能执行。运行时错误,即程序在语法上都是正确的,但在运行时发生了错误。异常类型 含义 AssertionE原创 2021-02-04 20:06:07 · 217 阅读 · 0 评论 -
学习python(十六)——函数装饰器@
首先先来看一下这个代码:#funA 作为装饰器函数def funA(fn): #... fn() # 执行传入的fn参数 #... return '...'@funAdef funB(): #...实际上,上面程序完全等价于下面的程序:def funA(fn): #... fn() # 执行传入的fn参数 #... return '...'def funB(): #...funB = funA(f原创 2021-02-04 19:59:25 · 125 阅读 · 0 评论 -
学习python(十五)——迭代器与生成器
1.迭代器列式容器有一个共同的特性,它们都支持使用 for 循环遍历存储的元素,都是可迭代的,因此它们又有一个别称,即迭代器。从字面来理解,迭代器指的就是支持迭代的容器,更确切的说,是支持迭代的容器类对象,这里的容器可以是列表、元组等这些Python提供的基础容器,也可以是自定义的容器类对象,只要该容器支持迭代即可。如果要自定义实现一个迭代器,则类中必须实现如下 2 个方法:__next__(self):返回容器的下一个元素。 __iter__(self):该方法返回一个迭代器(itera..原创 2021-02-04 19:18:00 · 199 阅读 · 0 评论 -
学习python(十四)——类的特殊成员
1.__new__()方法__new__() 是一种负责创建类实例的静态方法,它无需使用 staticmethod 装饰器修饰,且该方法会优先 __init__() 初始化方法被调用。一般情况下,覆写 __new__() 的实现将会使用合适的参数调用其超类的 super().__new__(),并在返回之前修改实例。在 __init__() 不够用的时候使用 __new__() 。2.__repr__()方法通过重写类的 __repr__() 方法即可显示属性。默认情况下,__repr__(原创 2021-02-04 15:47:30 · 232 阅读 · 0 评论 -
学习python(十三)——枚举类
一些具有特殊含义的类,其实例化对象的个数往往是固定的,比如用一个类表示月份,则该类的实例对象最多有 12 个;再比如用一个类表示季节,则该类的实例化对象最多有 4 个。针对这种特殊的类,Python3.4 中新增加了 Enum 枚举类。也就是说,对于这些实例化对象个数固定的类,可以用枚举类来定义。如果想将一个类定义为枚举类,只需要令其继承自 enum 模块中的 Enum 类即可。例如:from enum import Enumclass Color(Enum): # 为序列值指定val.原创 2021-02-04 14:54:19 · 274 阅读 · 0 评论 -
学习python(十二)——继承
1.继承机制继承机制经常用于创建和现有类功能类似的新类,又或是新类只需要在现有类基础上添加一些成员(属性和方法),但又不想直接将现有类代码复制给新类。也就是说,通过使用继承这种机制,可以轻松实现类的重复使用。让 From 类继承 Shape 类,这样当 From 类对象调用 draw() 方法时,Python 解释器会先去 From 中找以 draw 为名的方法,如果找不到,它还会自动去 Shape 类中找。如此,我们只需在 From 类中添加计算面积的方法即可,示例代码如下:class Sh原创 2021-02-04 14:45:56 · 502 阅读 · 0 评论 -
学习python(十一)——类和对象
读者肯定听过Python中“一切皆对象”的说法,但可能并不了解它的具体含义,只是在学习的时候听说 Python 是面向对象的编程语言。面向对象编程是在面向过程编程的基础上发展来的,它比面向过程编程具有更强的灵活性和扩展性。面向对象编程是程序员发展的分水岭,很多初学者会因无法理解面向对象而放弃学习编程。类和对象是 Python 的重要特征,相比其它面向对象语言,Python 很容易就可以创建出一个类和对象。同时,Python 也支持面向对象的三大特征:封装、继承和多态。面向对象编程(Object-or..原创 2021-02-03 14:32:33 · 296 阅读 · 2 评论 -
学习python(十)——eval()和exec()函数
eval() 和 exec() 函数都属于Python的内置函数,由于这两个函数在功能和用法方面都有相似之处。eval() 和 exec() 函数的功能是相似的,都可以执行一个字符串形式的 Python 代码(代码以字符串的形式提供),相当于一个 Python 的解释器。二者不同之处在于,eval() 执行完要返回结果,而 exec() 执行完不返回结果。eval() 函数的语法格式为:eval(source, globals=None, locals=None, /);而 exec() 函数...原创 2021-02-03 10:50:58 · 592 阅读 · 0 评论 -
学习python(九)——闭包函数与lamba
1.闭包闭包,又称闭包函数或者闭合函数,其实和前面讲的嵌套函数类似,不同之处在于,闭包中外部函数返回的不是一个具体的值,而是一个函数。一般情况下,返回的函数会赋值给一个变量,这个变量可以在后面被继续执行调用。闭包比普通的函数多了一个 __closure__ 属性,该属性记录着自由变量的地址。当闭包被调用时,系统就会根据该地址找到对应的自由变量,完成整体的函数调用。使用闭包,可以让程序变得更简洁易读。例如:现在要写一个求幂函数def power(number): def powerm原创 2021-02-02 18:38:16 · 277 阅读 · 0 评论 -
学习python(八)——函数
Python 还支持自定义函数,即将一段有规律的、可重复使用的代码定义成函数,从而达到一次编写、多次调用的目的。即允许我们将常用的代码以固定的格式封装(包装)成一个独立的模块,只要知道这个模块的名字就可以重复使用它,这个模块就叫做函数(Function)。其实,函数的本质就是一段有特定功能、可以重复使用的代码,这段代码已经被提前编写好了。直接通过起好的名字就可以调用这段代码。但需要注意的一点是,和其他编程语言中函数相同的是,Python 函数支持接收多个( ≥0 )参数,不同之处在于,Python 函数原创 2021-02-02 17:01:36 · 321 阅读 · 0 评论 -
学习python(七)——zip() 、reserved()、sorted()
1.zip() 函数zip() 函数是Python内置函数之一,它可以将多个序列(列表、元组、字典、集合、字符串以及 range() 区间构成的列表)“压缩”成一个 zip 对象。所谓“压缩”,其实就是将这些序列中对应位置的元素重新组合,生成一个个新的元组。和 Python 3.x 版本不同,Python 2.x 版本中的 zip() 函数会直接返回列表,而不是返回 zip 对象。但是,返回的列表或者 zip 对象,其包含的元素(都是元组)是相同的。zip() 函数的语法格式为:zip(iterab..原创 2021-02-02 16:42:18 · 2534 阅读 · 0 评论 -
学习python(六)——流程控制
0.前言(1)缩进执行第1条语句,然后是第2条、第3条……一直到最后一条语句,这称为顺序结构。Python是以缩进来标记代码块的,代码块一定要有缩进,没有缩进的不是代码块。另外,同一个代码块的缩进量要相同,缩进量不同的不属于同一个代码块。Python 要求代码块必须缩进,但是却没有要求缩进量,你可以缩进 n 个空格,也可以缩进 n 个 Tab 键的位置。但是从编程习惯的角度看,我建议缩进 1 个 Tab 键的位置,或者缩进 4 个空格;它们两者其实是等价的。Python 虽然不限制代码块的缩进量,.原创 2021-02-02 16:37:41 · 257 阅读 · 0 评论 -
学习python(五)——字符串操作
操作 示例 说明 补充 字符串拼接 strname = "str1" "str2" 在Python中拼接(连接)字符串很简单,可以直接将两个字符串紧挨着写在一起 这种写法只能拼接字符串常量 strname = str1 + str2 需要使用变量,就得借...原创 2021-02-02 16:20:22 · 262 阅读 · 0 评论 -
学习python(四)——列表(list)、元组(tuple)、字典(dict)和集合(set)
目录0.序列1.列表(list)(1)创建和删除列表(2)序列添加元素(3)列表删除元素(4)列表修改元素(5)列表查找元素2.元组3.字典(1)添加键值对(2)修改键值对(3)删除键值对(4)判断字典中是否存在指定键值对(5)keys()、values() 和 items() 方法4.集合(1)向 set 集合中添加元素(2)从set集合中删除元素0.序列所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,.原创 2021-02-02 15:51:16 · 1113 阅读 · 0 评论 -
学习python(三)——基本运算
1.算术运算符算术运算符也即数学运算符,用来对数字进行数学运算,比如加减乘除。下表列出了Python支持所有基本算术运算符。运算符 说明 实例 结果 + 加 12+13 25 - 减 14-9 5 * 乘 8*9 72 / 除 9/2 4.5 // 整除(只保留商的部分) 9/4 2 % 取余(只保留余数部分) 9%4 1 ** 次...原创 2021-02-02 13:40:33 · 1924 阅读 · 0 评论 -
学习python(二)——input函数与print函数
1.input函数input() 是Python的内置函数,用于从控制台读取用户输入的内容。input() 函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容可以包含任何字符。input() 函数的用法为:str = input(tipmsg)str 表示一个字符串类型的变量,input 会将读取到的字符串放入 str 中。 tipmsg 表示提示信息,它会显示在控制台上,告诉用户应该输入什么样的内容;如果不写 tipmsg,就不会有任何提示信息。当按下回车键后 inpu..原创 2021-02-02 12:07:53 · 3746 阅读 · 0 评论 -
学习python(一)——基本语法
0.变量与赋值在编程语言中,将数据放入变量的过程叫做赋值(Assignment)。Python 使用等号=作为赋值运算符,具体格式为:name = valuename 表示变量名;value 表示值,也就是要存储的数据。注意,变量是标识符的一种,它的名字不能随便起,要遵守Python 标识符命名规范,还要避免和Python 内置函数以及Python 保留字重名。在 Python 中,标识符中的字母是严格区分大小写的,也就是说,两个同样的单词,如果大小格式不一样,多代表的意义也是完全不...原创 2021-02-02 11:27:18 · 253 阅读 · 0 评论 -
python是用什么实现的?
用 C 语言编写实现的Python,又称为CPython。平时我们所讨论的 Python,指的其实就是 CPython。随着编程语言的不断发展,Python 的实现方式也发生了变化,除了用 C 语言实现外,Python 还有其他的实现方式。例如,用Java语言实现的 Python 称为JPython,用 .net 实现的 Python 称为IronPython等等。Python 的这些实现方式虽然诞生比 CPython 晚,但一直在努力地跟上主流,并在不同的生产环境中不断地使用并推广 ...原创 2021-02-01 23:21:08 · 663 阅读 · 0 评论 -
学习python(零)——VS下安装python
0.版本VS:2015社区开源(安装时就已经选了python语言)python:3.8.11.下载安装包官方下载链接:https://www.python.org/downloads/release/python-381/PS:对前缀的说明:以Windows x86-64开头的是 64 位的 Python 安装程序; 以Windows x86开头的是 32 位的 Python 安装程序。对后缀的说明:embeddable zip file表示.zip格式的绿色免安装版本,可以原创 2021-02-01 23:04:53 · 4086 阅读 · 0 评论 -
python2还是python3
1.参考链接(区别)https://blog.youkuaiyun.com/qq_37275405/article/details/80906906?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecasehttps://blog.csdn.原创 2021-02-01 21:30:23 · 114 阅读 · 0 评论