在这个信息大爆炸的时代,世界上最大的图书馆可以说是百度了,里面有很多有价值的的信息等待着我们去发现!在校大学生一枚,学习python写网络爬虫来收集一些对自己有用的信息,记笔记于此,可能很多内容都很片面,希望各大佬们指出,给予学习上的帮助,谢谢!!!
python基础及爬虫
python的特点:
- python是完全面向对象的语言
- 函数,模块,数字,字符串都是对象,在Python中一切皆对象
- 完全支持继承,重载,多重继承
- 支持重载运算符,也支持泛型设计
- python拥有一个强大的标准库,python语言的核心只包含 数字,字符串,列表,字典,文件等常见类型和函数,而python标准库提供了 系统管理,网络通信,数据库接口,图形系统,XML处理等额外的功能
- python社区提供大量的第三方模块,使用方式与标准库类似。他们功能覆盖科学计算,人工智能,机器学习,Web开发,数据库接口,图形系统多个领域。
学习一门新的语言最好了解设计目标
python的设计目标
- 一门简单直观的语言并与主要竞争者一样强大
- 开源,以便任何人都可以为它做贡献
- 代码像纯英语一样容易理解
- 适用于短期的日常任务
python不同于c的算术运算符
- “//” 取整除 9//2=4;
- “**” 幂
- “*”还可以用来字符串中
- “-”*50表示连续输出50个“-”
杂货集
-
tpye()函数可以查看变量类型
-
print(type(…))可以打类型输出来!
-
bool 的true用来计算的话值为1。
-
在python中,字符串可以用+号进行拼接!
-
数字型 和 字符型 之间不能进行除“*”以外的运算!
-
input() 输入
-
input(“提示信息:”) 这个等于在提醒用户输入类型是字符串!
-
在python中,所有非数字型变量都支持以下特点:
- 都是一个序列sequence,也可以理解为容器
- 取值[]
- 遍历 for in
- 计算长度,最大/最小,比较,删除
- 链接+ 和 重复*
- 切片
类型转换
int(x)
还可以这样玩 int(“123”)
格式化输出
print("青果的单价%.02f,重量为%f"%(wei,h))
- %%输出的是%类型
- %06d 显示6位数,不足的地方补0
语句的语法:
if 要判断的条件:
条件成立时,要做的事情
else:
条件不成立时干啥
- 在代码缩进的时候要么 tab键要么4个空格———建议使用空格
- 在python开发中,tab和空格不要混淆了(不要一下tab一下4空格)
逻辑运算符
与 and
条件1 and 条件2
或 or
条件1 or 条件2
非 not
not 条件
C语言的 else if(条件) 在python中是elif 条件:
print("",end="") 这样可以使得在输出后面不换行,也可以在end后面那引号里加东西,就跟在**后面输出了
print("") 单纯的换行
while语句基本语法
while 条件:
......
循环遍历
#for 循环内部使用的变量 in列表
for name in name_list:
循环内部的操作
......
else:
没有通过break退出循环,循环结束后才会执行else的内容
尽管在python列表中可以存储不同类型的数据
但在开发中,更多应用场景是:
- 列表储存相同类型的数据
- 通过 迭代遍历 在循环中,针对列表中每一项元素,执行相同的操作
在pyhton中单引号和双引号都可以表示字符串,像这种表达,‘我的外号叫“xxx”’用单引号
函数
def 函数名():
函数封装的代码
......
参数的传递与返回值都是以引用的形式
元祖
-
元祖的定义,Tuple(元祖)与列表类似,不同之处在于元祖的元素不能修改
-
用于储存一串信息,数据 之间使用 ,分隔
-
元祖用()定义
-
元祖的索引从0 开始
info_tuple = ("zhangsan",18,1.75)
创建空元祖
tuple = ()
元祖中的元素不可以修改 -
使用list函数可以把元祖转换成列表
list(元祖)
-
使用tuple函数可以把列表转换成元祖
tuple(列表)
字典
- 和列表的区别
- 列表是有序的对象集合
- 字典是无序的对象集合
- 字典用{}定义
- 字典使用键值对存储数据,键值对之间使用 ,分隔
- 键key是索引
- 值value 是数据
- 键和值之间使用 :分隔
- 键必须是唯一的
- 值可以去取任何类型,但键只能使用字符串,数字 或 元祖
xiaoming = {"name":"小明",
"age": 18,
"gender":Ture,
"height":1.75
}
len(字典)获取字典的键值对数量, 字典.keys() 所有key列表、 字典。values() 所有value列表 , 字典.items() 所有(key,value)元祖列表
应用场景
- 尽管可以使用for in遍历字典
- 但是在开发中,更多的应用场景是:
- 使用多个键值对,存储 描述一个物体的信息–描述更复杂的数据信息
- 将多个字典放在一个列表中,再进行遍历,在循环体内部对每个字典进行相同的处理。
###切片
- 切片适用于字符串,列表,元祖
- 切片使用索引值来限定范围,从一个大的字符串中切出小的字符串
- 列表和元祖都是有序的集合,都能够通过索引获取到对应的数据
- 字典是一个无序的集合,是使用键值对保存数据
字符串[开始索引:结束索引:步长]
从头到倒数第二个数
num_str[0:-1:1]
字符串的逆序可以直接用切片切出来
num_str[::-1]