文章目录

  • python基础篇
    • 前言
    • 一、Python开发环境的搭建
      • (1)Python的安装与运行
      • (2)Python开发环境
    • 二、Python的基本知识、数据类型
      • (1)整数与浮点数
      • (2)字符串、列表、元组
      • (3)字典与集合
    • 三、Python的条件语句和循环语句
      • (1)条件语句:
      • (2)for循环语句:
      • (3)while循环语句:
      • (4) 跳出本次循环与退出本次循环:
    • 四、Python函数的定义和使用:
      • (1) 什么是函数
      • (2)函数的作用
      • (3)定义函数
      • (4)调用函数
      • (5)函数的默认参数
      • (6)Python函数的注意事项
    • 五、基于Python的面向对象编程
      • (1)什么是类
      • (2)如何定义一个类
      • (3)如何读懂一个类

python基础篇

前言

这篇文章是我阅读《Python爬虫开发:从入门到实战(微课版)》作者:谢乾坤 ,整理下来的笔记其中也包括了我个人对这本书的一些理解。写这篇文章的目的主要是为了帮助自己后续复习用的,有需要的朋友也可以看一看。

一、Python开发环境的搭建

(1)Python的安装与运行

  1. 在Windows中安装Python
  2. 在Linux中安装Python

(2)Python开发环境

· PyCharm介绍与安装
——可从书中查看

二、Python的基本知识、数据类型

(1)整数与浮点数

  1. Python中的整数与数学里头的整数是一样的。
  2. 可将浮点数看作小数,但是也有不同的地方,例如:0.1+0.2不等于0.3,这是由于浮点数的储存机制导致的。
  3. 变量:可理解为存储数据的盒子。允许使用汉字作为变量名,但是不建议使用

(2)字符串、列表、元组

  1. 字符串(string):

1.任何被单引号或双引号括起来的内容都可以认为是字符串
2.可将字符串赋值给变量
3.字符串的数字与普通数字不同

  1. 列表(List):

1.列表由方括号及其括起来的数据组成,里头的数据可以是数字、字符串、其他列表、或者数据结构
2.列表中的每一项叫做列表的一个元素,元素之间用英文逗号隔开。例如:List1=[1,“da”,0.3]

  1. 元组(Tuple):

1.元组由小括号及其括起的数据构成。
2.元组和列表的区别:列表生成后还可以继续往里头添加数据、删除数据;元组是一旦生成就不能修改,但是如果元组里面是列表,则可以修改。

  1. 数据的读取:

1.指定下标:在上述三组数据结构中,想要取任何一个元素,都可以直接使用:变量名[下标]。注意:下标从0开始,例如:List2=[1,2,3],则输出List2[0]的结果是1;但是逆着过来下标就是从-1开始,例如:List2=[1,2,3],则输出List2[-1]的结果是3
2.切片操作
(1)切片后,数据结构不发生变化,例如:列表切片后还是列表。
(2)格式:变量名[开始位置下标 : 结束位置下标 : 步长],这三个参数都是数字,切片的结果包括开始位置下标对应的元素,不包括结束位置下标对应的元素。
(3)若是省略开始位置下标,则从下标为0的元素开始计算;若是省略结束位置下标,则表示遍历到最后一个元素且包含最后一个元素;若是省略步长,则默认步长为1
(4)若是省略开始位置下标和结束位置下标,并设置步长为-1,则结果倒序输出
3. 拼接与修改:
(1) .拼接就是将同类型的数据结构(字符串与字符串,列表与列表,元组元组)相加,例如:str1=‘1’,str2=‘2’则str1+str2结果是’12’
(2).可以用append()函数在列表末尾添加元素,例如:List1=[‘1’,3],List1.append(‘0’),则有List1的结果就为[‘1’,3,‘0’]
(3).字符串和元组都不能添加新的内容

(3)字典与集合

  1. 字典(dict)
    (1)由花括号括起来的键值对,键值对之间用英文逗号隔开,键Key与值Value之间用冒号隔开。规定Key可以使用中英文以及数字,但不能重复;而Value可以是字符串、列表、元组、数字等,可以重复。
    (2)可以用键Key来读取Value值,它有三种读取方式:变量名[key]; 变量名.get(key);变量名.get(key,‘在找不到key的情况下使用这个值’).例如:dict1={42:‘42是天才’} 使用前两种方式都可以得到键值:42是天才;但是使用dict1.get(23)输入的是一个不存在的key,只有一个参数就会返回None,;有两个参数就会第二个参数,若是使用[]的方式读取,键值不匹配会报错。
    (3)想要修改字典,可以使用格式:变量名[key]=“新的值”,若是key不存在会创建新的键值对,存在就会修改原来的Value。
    例如:dict2={‘a’:123,‘b’:456},dict2[‘a’]=‘a被修改了’,则dict2的输出结果为{‘a’:‘a被修改了’,‘b’:456}
    (4)注意:字典的key的顺序是乱的,不管谁先输入谁后输入。
    2.集合(set):

由花括号括起来的各种数据,可以看作是没有value的字典。

与字典不同的是:集合里面的元素不能重复,所以说集合具有去重的作用

三、Python的条件语句和循环语句

(1)条件语句:

  1. if语句
    (1)格式: if 判断真假的表达式或判断是否为空的数据结构:表达式的条件为真时的运行代码
    (2)注意:它冒号后面必须配空格,我们一般用四个空格表缩进,当if条件成立了,就执行缩进后的代码。无缩进,即便条件为真,也不执行冒号后面的代码。有冒号记得缩进
    (3)表达式有多个时,可用and 连接或者用or连接,用and连接表示所有表达式同时为真,if后面内容才会执行;or连接表示表达式中只要有一个为真,if后面内容就会执行
    例如:例如:if 1+2==3 and 3+0==3: print("true"),结果会输出true

2.短路效应

针对有多个表达式的情况,先看第一个表达式是否有错,有错则看第二个表达式;无错就算第二个有错,也不会报错

3.多重条件判断

if 表达式1:elif 表达式2: else:

4.使用字典实现多重条件控制
目的:简化代码

(2)for循环语句:

常见语法格式:for x (对象)in y(数据结构) :   循环体

for x in range(n): 里头的数字n可以控制循环次数

(3)while循环语句:

用于不知道循环需要执行多少次的情况;例如:while i<3: 表达式,当满足i<3时,执行冒号后的内容,记得添加停止循环的条件,否则将进入无限循环

(4) 跳出本次循环与退出本次循环:

  1. 跳出本次循环:continue只是影响本次循环的结果,不影响下次的
  2. 退出本次循环:break终止整个循环,也就是跳出最近一个冒号的循环
  3. 对于嵌套循环,使用continue或者break也只是跳出它们所处层的循环

四、Python函数的定义和使用:

(1) 什么是函数

  1. 函数就是一套定义好的流程,输入数据,就能得出结果。
  2. 比如说想让机器人做菜,我们得先演示一遍做菜的流程,这就是定义函数的过程;而让机器人做菜,是调用函数;原材料是这个函数的输入函数,出锅的菜就是函数的输出。

(2)函数的作用

能帮助少写几行代码,方便修改代码

(3)定义函数

格式:def 函数名(参数1,参数2,...,参数n):  函数体   return返回值

1.可以有参数,也可以没有参数,参数可以是任意数据类型,还可以是另一个函数
2.一个函数至少有一个返回值,可以人为指定返回任何类型的数据;若是没有人为指定则返回值为None,返回值的个数可以是一个,也可以是多个,返回值可以是另一个函数
3.一个函数可以没有return语句,可以有一个或多个return语句。注意:return后面的代码是不会被执行

(4)调用函数

函数名(参数)

(5)函数的默认参数

如果有参数,在定义函数时就需要把参数名写好。在Python中,函数参数可以有默认值,当调用函数的时候,不写参数就会调用默认参数;若是有指定参数名,就会把值赋给这个参数

(6)Python函数的注意事项

  1. 函数的参数类型决定它的作用范围;
  2. 函数外面的容器类作为参数传到函数以后,如果函数修改了这个容器里面的值,那么函数外面的容器也会受到影响。但是如果是函数外面的普通变量作为参数传递到函数中,并且函数修改了这个参数时,外面的变量不改变。

五、基于Python的面向对象编程

(1)什么是类

类是一个泛指的概念,只能感受,但是看不见,摸不着;而对象是特定的个体,看得见摸得着。必须要有类,才能有对象,所以想要创建对象必须先创建类

(2)如何定义一个类

1.类用关键字“class"来定义一个类。类一般包含以下元素:类名;父类;初始化方法;属性;方法。
2.一旦类被初始化,类就会自动执行。类可写构造函数,也可不写构造函数,写的话就会被初始化并运行。初始化对象后,可以使用对象.属性来获取对象的属性;也可以使用”对象.方法名(参数)来执行对象方法
3.在类的内部,若是要运行它自己的方法,则调用的时候需要使用“self.方法名(参数)”如果要让一个变量在这个类的所有方法里面都能直接使用,就需要把变量初始化为self.变量名

(3)如何读懂一个类

阅读步骤:看这个类有什么属性、方法、在哪被调用,方法实现的细节。

Python爬虫入门基础相关推荐

  1. python爬虫入门基础知识_【PYTHON】【爬虫】关于python爬虫的一些基础知识

    基础知识 HTTP协议 我们浏览网页的浏览器和手机应用客户端与服务器通信几乎都是基于HTTP协议,而爬虫可以看作是一个另类的客户端,它把自己伪装成浏览器或者手机应用客户端,按照自己的逻辑贪婪的向服务器 ...

  2. Python爬虫==入门基础概念

    HTTP请求 1.首先需要了解一下http请求,当用户在地址栏中输入网址,发送网络请求的过程是什么? 可以参考我之前学习的时候转载的一篇文章一次完整的HTTP事务过程–超详细 2.还需要了解一下htt ...

  3. python爬虫入门代码-Python爬虫入门

    原标题:python爬虫入门 基础知识 HTTP协议 我们浏览网页的浏览器和手机应用客户端与服务器通信几乎都是基于HTTP协议,而爬虫可以看作是一个另类的客户端,它把自己伪装成浏览器或者手机应用客户端 ...

  4. python网络爬虫的基本步骤-黑客基础 编写Python爬虫入门步骤

    原标题:黑客基础 编写Python爬虫入门步骤 信息时代,数据就是宝藏.数据的背后隐含着无穷的宝藏,这些宝藏也许就是信息量所带来的商业价值,而大数据本身也将成为桌面上的筹码. 黑客花无涯 带你走进黑客 ...

  5. python网络爬虫的基本步骤-python爬虫入门需要哪些基础/python 网络爬虫教程

    如何入门 Python 爬虫 入门个吊,放弃 python爬虫入门需要哪些基础 现在之所以有多的小伙伴热衷于爬虫技术,无外乎是因为爬我们做很多事情,比如搜索引擎.采集数据.广告过滤等,以Python为 ...

  6. Python爬虫入门(2):爬虫基础了解

    Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫 ...

  7. 转 Python爬虫入门二之爬虫基础了解

    静觅 » Python爬虫入门二之爬虫基础了解 2.浏览网页的过程 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以 ...

  8. python爬虫步骤-黑客基础 编写Python爬虫入门步骤

    原标题:黑客基础 编写Python爬虫入门步骤 信息时代,数据就是宝藏.数据的背后隐含着无穷的宝藏,这些宝藏也许就是信息量所带来的商业价值,而大数据本身也将成为桌面上的筹码. 黑客花无涯 带你走进黑客 ...

  9. Python爬虫入门实战2:获取CSDN个人博客文章基础信息

    ☞ ░ 老猿Python博文目录:https://blog.csdn.net/LaoYuanPython/article/details/98245036 ░ 一.引言 当爬取博文内容时,有时需要进行 ...

最新文章

  1. 提高mysql性能的开源软件
  2. mysql教程联合索引_MySQL中的联合索引学习教程
  3. Perceptron Algorithm 感知器算法及其实现
  4. 20、Basic Shell_for_while_grep_find
  5. 数据挖掘之人工神经网络BP算法
  6. 并发编程-17AQS同步组件之 Semaphore 控制并发线程数的信号量
  7. nhibernate之many-to-many的性能
  8. Python 多线程爬取西刺代理
  9. windows下虚拟机配置spark集群最强攻略!
  10. Cannot forward after response has been committed
  11. ajax post提交数据_JavaEE学习——为什么get请求方式比post请求方式效率高
  12. 错误 1 未能找到类型或命名空间名称mysql_错误1未能找到类型或命名空间名称“DataPager”(是否缺少 using 指令或程序集引用?)...
  13. MySQL绿色版安装(mysql-5.7.12-win32)
  14. 高并发推荐系统架构设计实践
  15. 如何根据原理图画封装_画了这么多年PCB,你真的了解原理图吗?
  16. json 转换 java odl_opendaylight:如何查看配置数据库
  17. JZOJ.5289【NOIP2017模拟8.17】偷笑
  18. ios中获得UUID的方法,ios怎么获得uuid
  19. 基于微信小程序的图书馆管理系统设计与实现(论文+程序设计源码+数据库文件)
  20. 机械转计算机,成功上岸鹅厂。白菜价年薪40w

热门文章

  1. 从数据处理到人工智能(常用库的介绍)
  2. 下载新浪flash方法
  3. 程序员如何用GitHub打造个人博客(一)
  4. 【M365运维】很抱歉、无法打开“https://..../.xlsx”
  5. 保姆级 uni-app 安卓APP上线步骤
  6. 传智播客严把教学质量成就我们梦想
  7. 如何让制作一个网络书城
  8. Python按销量爬取淘宝医用口罩前三页导入Excel并生成柱状图
  9. 自动分账系统哪家好?
  10. html自动播放音乐(无播放器)