爬虫
文章平均质量分 88
筱俞
这个作者很懒,什么都没留下…
展开
-
python功能驱动,详解argparser模块的使用播报
我们知道,在windows、linux、macos这样一些操作系统中,除了提供一些傻瓜式的用户界面方便用户操作外,这些系统很大程度上都留给一些系统爱好者(或深度学习的用户)一些命令行接口。cmd和shell通过一些简单的系统命令,实现同界面一样的操作效果,甚至可以实现一些用户界面无法实现的功能。01不同系统的命令行工具不同系统命令行调用方式存在差异。【Windows系统】windows系统对于windows用户,按下“win” + ‘r’键,在弹出对话框中输入cmd,可以进入这样的交互界面原创 2021-12-27 20:36:25 · 712 阅读 · 0 评论 -
Python 跟 Java 学习哪个强一些呢?
Java更适合企业级系统开发方向,Python适合数据分析类方向,而且Python在自动化运维和自动化测试方向有很多贡献。尽管如此,Java依旧是市场需求量最大的语言。哪个语言更香呢?原来我总会说,不管什么语言都是工具。后来经过很多人提问,我想了想,小白可能就是更在乎哪个更好的问题。从下面几个维度给大家说说。一、入门的难易度很多人说Java会比Python入门难,但其实我觉得对于一个完全没有接触过编程的小白来说,接受新知识都很难。Python相对比Java入门简单一些。1.1 Java的学习曲线原创 2021-12-24 21:00:29 · 175 阅读 · 0 评论 -
29-成员保护和访问限制
成员保护和访问限制隐藏属性class Dog:def set_age(self,new_age):if new_age>0 and new_age<=100:self.age = new_ageelse:self.age = 0def get_age(self): return self.agedog = Dog()dog.age = 10print(...原创 2019-08-17 15:58:42 · 225 阅读 · 0 评论 -
28-类和实例
类类是抽象的模板,用来描述具有相同属性和方法的对象的集合,比如Animal类。 类名通常采用驼峰式命名方式,尽量让字面意思体现出类的作用。Python使用class关键字来定义类,其基本结构如下:class 类名(父类列表):pass类的构成类(class)由3个部分构成类的名称:类名类的属性:一组数据类的方法:允许对进行操作的方法人类的设计:事物名称(类名):人(Perso...原创 2019-08-17 15:57:41 · 102 阅读 · 0 评论 -
27-面向对象编程
面向对象编程面向对象编程:Object Oriented Programming,简称OOP,是一种程序设计方法。面向对象面向过程区别完成自我介绍功能,面向过程完成功能stu_a = {“name”:“A”“age”:18,“hometown”:“东北”}stu_b = {“name”:“B”“age”:19,“hometown”:“山东”}stu_c = {“nam...原创 2019-08-17 15:56:43 · 64 阅读 · 0 评论 -
26-文件读写
文件的作用就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力文件的基础操作打开文件Python内置了一个open()方法,用于对文件进行读写操作。使用open()方法操作文件就像把大象塞进冰箱一样,可以分三步走,一是打开文件,二是操作文件,三是关闭文件。open()方法的返回值是一个file对象,可以将它赋值给一个变量(文件句柄)。其基本语法格式为:...原创 2019-08-17 15:55:57 · 127 阅读 · 0 评论 -
25-内置函数
内置函数前面使用过一些函数,有的同学会疑问我没有导入这个函数,为什么可以直接使用?因为这些函数都是一个叫做builtins模块中定义的函数,而builtins模块默认在Python环境启动的时候就自动导入,所以你可以直接使用这些函数。我们可以在IDLE 进行输出globals(){‘name’: ‘main’, ‘doc’: None, ‘package’: None, ‘loader’...原创 2019-08-17 15:54:15 · 222 阅读 · 0 评论 -
24-生成器
生成器有时候,序列或集合内的元素的个数非常巨大,如果全制造出来并放入内存,对计算机的压力是非常大的。比如,假设需要获取一个10**20次方如此巨大的数据序列,把每一个数都生成出来,并放在一个内存的列表内,这是粗暴的方式,有如此大的内存么?如果元素可以按照某种算法推算出来,需要就计算到哪个,就可以在循环的过程中不断推算出后续的元素,而不必创建完整的元素集合,从而节省大量的空间。在Python中,这...原创 2019-08-17 15:53:00 · 282 阅读 · 0 评论 -
23-迭代器
迭代器在介绍迭代器之前,先说明下迭代的概念:迭代:通过for循环遍历对象的每一个元素的过程。Python的for语法功能非常强大,可以遍历任何可迭代的对象。在Python中,list/tuple/string/dict/set/bytes都是可以迭代的数据类型。可以通过collections模块的Iterable类型来判断一个对象是否可迭代:from collections impor...原创 2019-08-16 20:55:18 · 84 阅读 · 0 评论 -
22-推导式
推导式Python语言有一种独特的推导式语法,相当于语法糖的存在,可以帮你在某些场合写出比较精简酷炫的代码。列表推导式列表推导式是一种快速生成列表的方式。其形式是用方括号括起来的一段语句lis = [x * x for x in range(1, 10)]print(lis)结果:[1, 4, 9, 16, 25, 36, 49, 64, 81]如果不用推导式,如何完成这个功能li...原创 2019-08-16 20:53:10 · 91 阅读 · 0 评论 -
30-类属性、实例属性
类属性、实例属性class Tool(object):类属性num = 0方法def init(self,name):# 实例属性self.name = nameTool.num += 1tool1 = Tool(“a”) # 实例对象tool2 = Tool(“b”) # 实例对象tool3 = Tool(“c”) ...原创 2019-08-17 15:59:47 · 99 阅读 · 0 评论 -
31-封装、继承、多态
封装、继承、多态面向对象编程有三大重要特征:封装、继承和多态。继承继承机制实现了代码的复用,多个类公用的代码部分可以只在一个类中提供,而其他类只需要继承这个类即可。在OOP程序设计中,当我们定义一个新类的时候,新的类称为子类(Subclass),而被继承的类称为基类、父类或超类(Base class、Super class)。继承最大的好处是子类获得了父类的全部变量和方法的同时,又可以根...原创 2019-08-17 20:15:27 · 130 阅读 · 0 评论 -
34-单例模式
单例模式python的单例模式就是一个类的实例只能自始自终自能创建一次。应用场景比如说数据库的连接池。单例设计模式是怎么来的?在面向对象的程序设计中,当业务并发量非常大时,那么就会出现重复创建相同的对象,每创建一个对象就会开辟一块内存空间,而这些对象其实是一模一样的,那么有没有办法使用得内存对象只创建一次,然后再随处使用呢?单例模式就是为了解决这个问题而产生的。实现方式1、创建一个类静态...原创 2019-08-26 20:57:33 · 91 阅读 · 0 评论 -
43-json模块
jsonJson是一种轻量级的数据交换格式。Json源自JavaScript语言,易于人类的阅读和编写,同时也易于机器解析和生成,是目前应用最广泛的数据交换格式。Json是跨语言,跨平台的,但只能对Python的基本数据类型做操作,对Python的类就无能为力。JSON格式和Python中的字典非常像。但是,json的数据要求用双引号将字符串引起来,并且不能有多余的逗号。这是因为在别的语言中,...原创 2019-08-30 21:06:59 · 97 阅读 · 0 评论 -
41-random模块
randomrandom模块用于生成伪随机数。真正意义上的随机数(或者随机事件)是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的。而计算机中的随机数是所谓的随机函数按照一定算法模拟产生的,其结果是确定的,是可预测的。所以用计算机随机函数所产生的“随机数”并不随机,是伪随机数,绝对不可以用来生成密码。1.计算机的伪随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方...原创 2019-08-30 21:04:06 · 163 阅读 · 0 评论 -
40-sys模块
yssys模块主要是针对与Python解释器相关的变量和方法,不是主机操作系统。导入方式:import sys属性及方法 使用说明sys.argv 获取命令行参数列表,第一个元素是程序本身sys.exit(n) 退出Python程序,exit(0)表示正常退出。当参数非0时,会引发一个SystemExit异常,可以在程序中捕获该异...原创 2019-08-28 21:15:31 · 150 阅读 · 0 评论 -
39-os模块
OS模块导入方式: import osos模块是Python标准库中的一个用于访问操作系统相关功能的模块,os模块提供了一种可移植的使用操作系统功能的方法。使用os模块中提供的接口,可以实现跨平台访问。但是,并不是所有的os模块中的接口在全平台都通用,有些接口的实现是一来特定平台的,比如linux相关的文件权限管理和进程管理。os模块的主要功能:系统相关、目录及文件操作、执行命令和管理进程...原创 2019-08-28 21:14:47 · 161 阅读 · 0 评论 -
38-包
包(Package)__all__的作用python模块中的all属性,可用于模块导入时限制,如:from module import *此时被导入模块若定义了all属性,则只有all内指定的属性、方法、类可被导入。若没定义,则导入模块内的所有公有属性,方法和类sendmsg.pyall = [‘stest’]def stest():print(“stest”)def sste...原创 2019-08-28 21:13:58 · 176 阅读 · 0 评论 -
37-模块
模块与包在Python中,一个.py文件就是一个模块,模块是比类更高一级的封装。在其他语言,被导入的模块也通常称为库。模块可以分为自定义模块、内置模块和第三方模块。自定义模块就是你自己编写的模块,如果你自认水平很高,也可以申请成为Python内置的标准模块之一!如果你在网上发布自己的模块并允许他人使用,那么就变成了第三方模块。使用模块有什么好处?首先,提高了代码的可维护性。其次,编写代码...原创 2019-08-28 21:12:36 · 296 阅读 · 0 评论 -
36-@property装饰器
@property装饰器Python内置的@property装饰器可以把类的方法伪装成属性调用的方式 。class People:def init(self, name, age):self.__name = nameself.__age = age@propertydef age(self): return self.__age@age.setterdef age(s...原创 2019-08-28 21:11:33 · 77 阅读 · 0 评论 -
35-异常处理
异常处理在程序运行过程中,总会遇到各种各样的问题和错误。有些错误是我们编写代码时自己造成的,比如语法错误、调用错误,甚至逻辑错误。还有一些错误,则是不可预料的错误,但是完全有可能发生的,比如文件不存在、磁盘空间不足、网络堵塞、系统错误等等。这些导致程序在运行过程中出现异常中断和退出的错误,我们统称为异常。大多数的异常都不会被程序处理,而是以错误信息的形式展现出来。异常有很多种类型,Python...原创 2019-08-26 20:58:40 · 580 阅读 · 0 评论 -
21-匿名函数
匿名函数当我们在创建函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。这省去了我们挖空心思为函数命名的麻烦,也能少写不少代码,很多编程语言都提供这一特性。Python语言使用lambda关键字来创建匿名函数。所谓匿名,即不再使用def语句这样标准的形式定义一个函数。lambda只是一个表达式,而不是一个代码块,函数体比def简单很多。仅仅能在lambda表达式中封装有限的逻...原创 2019-08-16 19:07:12 · 113 阅读 · 0 评论 -
20-递归函数
递归函数如果一个函数在内部调用了自身,这个函数就被称为递归函数。 接下来看一个经典的案例,求阶乘。i = 1result = 1while i<=4:result = result * ii+=1print(result)求1-100的和totle = 0for i in range(1,101):totle = i + totleprint(totle)这是最普通...原创 2019-08-16 19:06:08 · 628 阅读 · 0 评论 -
19-range()函数
range()函数在其他语言中,如果想要循环一个变量从1到100,要怎么写呢?for(i = 1,i<=100,i++){}python怎么实现这个功能呢?python设计了range()函数,直接实现了上面的功能。range是内置函数,无须导入。在任何地方都可以直接使用它。for i in range(5):print(i)01234从上面的执行结果,也可以看出来ra...原创 2019-08-16 19:04:23 · 230 阅读 · 0 评论 -
5-编译器与解释器
编译器与解释器编译器/解释器:高级语言与机器之间的翻译官都是将代码翻译成机器可以执行的二进制机器码,只不过在运行原理和翻译过程有不同而已。那么两者有什么区别呢?编译器:先整体编译再执行解释器:边解释边执行用一个通俗的例子进行比喻:我们去饭馆吃饭,点了八菜一汤。编译器的方式就是厨师把所有的菜给你全做好了,一起给你端上来,至于你在哪吃,怎么吃,随便。解释器的方式就是厨师做好一个菜给你上一个...原创 2019-08-14 20:45:20 · 92 阅读 · 0 评论 -
4-代码编辑器
代码编辑器Python解释器、pip工具箱和virtuanlenv虚拟环境都安装好了后,基本的Python环境就搭建好了,可以开始我们的“搬砖”之旅了。但是现在还缺一个好用的编辑器,这里推荐大家用pycharm。当然如果你有一些其他的编辑器也可以,比如sublime_text,notepad++,vscode,Anaconda等等。python官方IDLE集成开发环境这是一个官方提供的交互式...原创 2019-08-14 20:40:22 · 149 阅读 · 0 评论 -
Python暴力破解WiFi密码
环境准备:python3.6无线网卡或者笔记本电脑pywifi模块密码本先来个简单的案例,判断是否连接到WiFi注释写的比较清楚,这里就不过多的解释了。扫描附近WiFi名称,这里中文可能会乱码。下面讲解一下实现过程:...原创 2019-08-14 20:35:52 · 953 阅读 · 0 评论 -
3-pip的安装和使用
我们都知道python有很多的第三方库或者说是模块。这些库针对不同的应用,发挥不同的作用。我们在实际的项目中肯定会用到这些模块。那如何将这些模块导入到自己的项目中呢?Python官方的PyPi仓库为我们提供了一个统一的代码托管仓库,所有的第三方库,甚至你自己写的开源模块,都可以发布到这里,让全世界的人分享下载 。python有两个著名的包管理工具easy_install和pip。在python...原创 2019-08-14 20:34:21 · 115 阅读 · 0 评论 -
2-Python环境搭建
上一篇:Python介绍Python是一个跨平台、可移植的编程语言,因此可在windows、Linux和Mac OS X系统中安装使用。安装完成后,你会得到Python解释器环境,可以通过终端输入python命令查看本地是否已经按照python以及python版本。这里有一点需要注意的是,如果没有将python的安装目录添加到环境变量中,会报错(python不是内部命令或外部命令,也不是可执行...原创 2019-08-14 20:29:22 · 109 阅读 · 0 评论 -
1-Python介绍
Python翻译成汉语是蟒蛇的意思,并且Python的logo也是两条缠绕在一起的蟒蛇的样子,然而Python语言和蟒蛇实际上并没有一毛钱关系。Python语言是由荷兰程序员Guido van Rossum,江湖人称“龟叔”,独立开发完成初版的。“龟叔”曾供职于google,现任职于dropbox 。1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无趣,决心开发一个新的脚本解释语言,作为...原创 2019-08-14 20:22:28 · 177 阅读 · 0 评论 -
33-reflect反射
reflect反射对编程语言比较熟悉的同学,应该听说过“反射”这个机制。Python作为一门动态语言,当然不会缺少这一重要功能。下面结合一个web路由的实例来阐述Python反射机制的使用场景和核心本质。首先,我们要区分两个概念——“标识名”和看起来相同的“字符串”。两者字面上看起来一样,却是两种东西,比如下面的func函数和字符串func:def func():print(“func是这...原创 2019-08-19 16:31:52 · 150 阅读 · 0 评论 -
32-特殊成员和魔法方法
特殊成员和魔法方法Python中有大量类似__doc__这种以双下划线开头和结尾的特殊成员及“魔法方法”,它们有着非常重要的地位和作用,也是Python语言独具特色的语法之一!init : 构造函数,在生成对象时调用del : 析构函数,释放对象时使用repr : 打印,转换setitem : 按照索引赋值getitem: 按照索引获取值le...原创 2019-08-19 16:30:57 · 97 阅读 · 0 评论 -
6-Python基础语法
基础语法标识符所谓的标识符就是对变量、常量、函数、类等对象起的名字。首先必须说明的是,Python语言在任何场景都严格区分大小写!也就是说A和a代表的意义完全不同python对于表示标识符的命名有如下规定:例如,a,abc,_id,等都是可以的。但是例如a(以开头的是PHP的变量语法),~abc,123a都是不可以的。这一点一定要注意。可能有人会问,中文可以作为标识符嘛?答案是可以的...原创 2019-08-14 20:55:14 · 94 阅读 · 0 评论 -
7-变量与常量
变量与常量变量:在程序运行过程中,值会发生变化的量常量:在程序运行过程中,值不会发生变化的量无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值。这里有一点需要注意的是,在python中是不需要声明类型的。这是根据Python的动态语言特性而来。变量可以直接使用,而不需要提前声明类型。变量的定义Python 中的变量不需要声明类型这些变量都是不需要声明它的类型的,在...原创 2019-08-14 21:00:22 · 134 阅读 · 0 评论 -
18-循环控制
循环控制循环控制,就是让程序循环运行某一段代码直到满足退出的条件,才退出循环。Python用关键字for和while来进行循环控制,但是没有其它语言的do…while语句(在Java和PHP中都有do while)。while循环while循环语句的控制结构图如下所示:while 判断表达式:内部代码块接下来看一个具体的案例,求1-100之间的总和n = 100sum = 0...原创 2019-08-15 18:54:05 · 115 阅读 · 0 评论 -
socket编程
socket编程什么是socket?简称套接字,是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多数是基于socket来完成通信的。socket是基于C/S架构的,也就是说socket网络编程,通常需要写两个文件,一个服务端,一个客户端Python中的socket通信逻辑如下图所示在python中,用socket....原创 2019-08-15 18:49:59 · 67 阅读 · 0 评论 -
15-字典
字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值的类型也可以是其它任何数据类型!字典的key必须是不可变的对象,例如整数、字符串、bytes和元组,但使用最多的还是字符串。 列表、字典、集合等就不可以作为key。同时,同一个字典内的key必须是...原创 2019-08-15 18:48:35 · 71 阅读 · 0 评论 -
14-元组
元组我们知道,用方括号括起来的是列表,那么用圆括号括起来的是什么,是元组。元组也是序列结构,但是是一种不可变序列,你可以简单的理解为内容不可变的列表。除了在内部元素不可修改的区别外,元组和列表的用法差不多。元组与列表相同的操作:使用方括号加下标访问元素切片(形成新元组对象)count()/index()len()/max()/min()/tuple()元组中不允许的操作,确切的说是...原创 2019-08-15 18:46:18 · 91 阅读 · 0 评论 -
13-列表
列表列表是Python中最基本也是最常用的数据结构之一。列表中的每个元素都被分配一个数字作为索引,用来表示该元素在列表内所排在的位置。第一个元素的索引是0,第二个索引是1,依此类推。Python的列表是一个有序可重复的元素集合,可嵌套、迭代、修改、分片、追加、删除,成员判断。从数据结构角度看,Python的列表是一个可变长度的顺序存储结构,每一个位置存放的都是对象的指针。对于这个列表 al...原创 2019-08-15 18:45:06 · 94 阅读 · 0 评论 -
12-布尔类型
布尔类型对于错、0和1、正与反,都是传统意义上的布尔类型。但在Python语言中,布尔类型只有两个值,True与False。请注意,是英文单词的对与错,并且首字母要大写,不能其它花式变型。布尔值通常用来判断条件是否成立。 例如:a = 1if a > 3:print(“a是一个大于3的数字”)else:print(“a不是一个大于3的数字”)Python内置的bool()函...原创 2019-08-15 18:43:38 · 420 阅读 · 0 评论