
python学习之路
哈哈哈捧场王
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
No10.内置函数和匿名函数
1.内置函数python3.6中一共提供了68个内置函数,接下来就让我们看看有哪些。 Built-in Functions abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod(...原创 2018-07-17 09:06:19 · 141 阅读 · 0 评论 -
No17.关于模块
1、所有的模块导入都应该尽量往上写2、import 模块名 模块名.变量名 和本文中的变量名完全不冲突 import 模块名 as 重命名的模块名:提高代码的兼容性 import 模块1,模块23、from import from 模块名 import 变量名 直接使用变量名就可以完成操作 如果本文件中有相同的变量名会发生冲突4、from 模块...原创 2018-07-21 10:20:27 · 154 阅读 · 0 评论 -
No9.生成器表达式和各种推导式
1、列表推导式>>> qq_list = ['qq%s' % i for i in range(10)]>>> print(qq_list)['qq0', 'qq1', 'qq2', 'qq3', 'qq4', 'qq5', 'qq6', 'qq7', 'qq8', 'qq9']2、生成器表达式>>> g = (i for i in ran...原创 2018-07-16 09:12:37 · 164 阅读 · 0 评论 -
No4.字典的魔法
1、字典性质 ① 字典的value可以是任意值 ②字典的key必须是不可变对象,当布尔值作为key时,True代表1,False代表0 ③ 字典是无序的 ④ 字典支持del删除# 根据key查找value>>> info = { "k1": 18, "k2": True, "k3": [ 11, 2...原创 2018-07-16 10:06:08 · 178 阅读 · 0 评论 -
No18.异常处理
1、使用try和except就能进行异常处理try里面放的是我们要除了的代码 except后面跟着一个错误类型,当代码发生错误且错误类型符合的时候,就会执行except中的代码 except支持多个分支 Exception可以处理所有异常try: print("需要处理的异常")except Error as e: #要处理的异常名, print("处理异常", e...原创 2018-07-22 09:21:12 · 143 阅读 · 0 评论 -
No19.初识面向对象
一、面向过程vs面向对象面向过程优点是:极大的降低了编写程序的复杂度,只是需要顺着执行的步骤,堆叠代码即可。缺点是:一套流水线或者流程就是解决一个问题,代码牵一发而动全身。面向对象优点:解决了程序的拓展性,对某一个对象单独修改,会立刻反映到整个体系中。缺点:可控性差,无法像面向过程的程序设计流水线式可以很精准的预测问题的处理流程与结果,面向对象的程序一旦开始就由对象之间的交...转载 2018-08-02 11:08:17 · 209 阅读 · 0 评论 -
No20.面向对象进阶
一、isinstance和issubclassisinstance(obj, cls)检查是否obj是否是类 cls 的对象class Foo(object): passobj = Foo()print(isinstance(obj, Foo))>>>Trueissubclass(sub, super)检查sub类是否是super类的派生类...转载 2018-08-02 22:26:31 · 108 阅读 · 0 评论 -
No21.网络编程
一、socket概念二、理解socketsocket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,socket其实就是一个门面模式,它把复杂的TCP/IP协议隐藏在socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。简单的理解:socket就是一个模块。我们通过调用模块中已经实现的方法建立两个进程...原创 2018-08-23 17:00:31 · 150 阅读 · 0 评论 -
No22.Python爬虫之使用urllib库爬取拉钩网并写入excel表格
# 这里我们导入一些需要用到的包import re # 导入正则模块,用于提取ip地址import json # 由于拉钩网返回的数据是json格式,我们json模块来处理import time # 避免爬虫爬的太快被封import random # 随机模块import openpyxl # 操作excel表格from bs4 import Beaut...原创 2018-09-08 08:53:23 · 510 阅读 · 0 评论 -
No23.爬虫之requests的用法
1、request.get的用法import requestsparams = {"wd":"中国"}headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"}...原创 2018-09-08 09:38:39 · 163 阅读 · 0 评论 -
No24.requests库和re模块爬取古诗文网
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: Tronyimport re # 正则模块用于解析网页import requests # 用于获取网页from docx import Document # 将获取到的古诗词信息存入word文档# 构建函数用于获取和解析网页获得目标内容并返回def parse_page...原创 2018-09-10 22:29:45 · 423 阅读 · 0 评论 -
No25.前端之HTML
HTML介绍HTML是什么?超文本标记语言(Hypertext Markup Language, HTML)是一种用于创建网页的标记语言。 本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页。对于不同的浏览器,对同一个标签可能会有不同的解释。(兼容性问题) 网页文件的扩展名:.html或.htmHTML文档结构<!DOCTYPE html>...转载 2018-10-28 11:14:08 · 179 阅读 · 0 评论 -
No16.序列化模块
1、序列化从数据类型转化为字符串的过程叫做序列化从字符串转化为数据类型的过程叫做反序列化2、序列化模块 json模块:只有很少一部分的数据类型能够通过json转化成字符串,数字、字符串、列表、字典、元组 # json.dumps序列化方法,json.loads反序列化方法,直接操作内存里的内容import jsondic = {"k1":"v1"}print(type...原创 2018-07-21 08:31:27 · 138 阅读 · 0 评论 -
No3.元组的魔法
1、元组: 元组的一级元素不能被修改 一般写元组的时候在后面加一个逗号 元组是有序的 2、元组的方法与列表类似原创 2018-07-15 09:35:59 · 124 阅读 · 0 评论 -
No8.迭代器和生成器
一、迭代器 1、可迭代协议:只要含有__iter__方法都是可迭代的 2、可迭代对象的内部都含有__iter__方法 3、只要是迭代器一定可迭代 4、可迭代.__iter__方法就可以获得一个迭代器 5、在迭代器中用__next__()方法就可以一个一个从迭代器中获取值 6、for循环其实就是在用迭代器 7、迭代器的好处: ①从容器类型中的一...原创 2018-07-15 09:29:11 · 118 阅读 · 0 评论 -
No5.集合的魔法
1、集合的定义由不同元素组成无序集合中的元素必须是不可变类型集合具有去重性即集合中的元素是不可以重复的>>> s = {1, 2, 3}>>> s1 = set("Hello")>>> print(s, s1){1, 2, 3} {'l', 'e', 'H', 'o'}2、集合元素的添加s = {1, 2,...原创 2018-07-17 09:23:40 · 135 阅读 · 0 评论 -
N11.递归函数
1、递归的概念:在函数中调用自身函数2、最大递归深度默认为997/998,这是python从内存的角度出发做出的限制3、如果递归的次数太多,就不适合使用递归来解决问题4、递归的缺点:占内存5、递归的优点:会让代码变得简单6、递归需要有一个明确的结束条件,并且每一次递归问题规模应该比上一次有所减小7、递归函数举例:# 递归函数求解斐波拉契数列def fibo(n):...原创 2018-07-18 08:20:57 · 271 阅读 · 0 评论 -
No.12递归函数实现二分查找算法
1、什么是二分查找算法?首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。2、使用二分查找的序列必须是有序的def f...原创 2018-07-18 08:44:43 · 436 阅读 · 0 评论 -
No5.5.文件的操作
1、文件操作的注意事项文件路径:绝对路径,若处于同一文件夹下直接写相对路径 编码方式:utf-8、gbk 操作方式:只读、只写、追加、读写、写读 以什么编码方式存储的文件就以什么编码方式打开 打开文件记得关闭文件。若用,with的方式打开则不必手动关闭2、文件的打开方式只读:r,rb以二进制的方式读 只写:w,对于没有目标文件的时候就会创建文件,有文件则会清空原文件内容,在写入...原创 2018-07-18 09:05:52 · 165 阅读 · 0 评论 -
No1.字符串的魔法
#首字母大写>>> test = "trony">>> v = test.capitalize()>>> print(v)Trony#将字符串中大写变小写有两个方法casefold()和lower(),casefold()更加的牛逼,它可以将许多未知的字符串变小写>>> test = "FDKFJ&am原创 2018-07-13 13:57:16 · 383 阅读 · 0 评论 -
No13.正则表达式和python中的re模块
1、正则表达式的作用做字符串的匹配2、正则表达式的规则 字符组:[字符组]。在同一个位置可能出现的各种字符串组成的一个字符,在正则表达式中用[]表示,字符分为很多类,比如数字、字母、标点等 元字符。(1). 匹配除了换行符以外的任意字符(2) \w 匹配字母、数字、下划线(3) \s 匹配任意的空白符(4) \d ...原创 2018-07-19 10:06:24 · 155 阅读 · 0 评论 -
No6.装饰器
1、装饰器的作用 不想修改函数的调用方式,但是还想在原来的函数前后添加功能2、原则 开放封闭原则3、装饰器的固定模式def wrapper(f): #装饰器函数,f是被装饰的函数 def inner(*args, **kwargs): #在被装饰函数之前要做的事 ret = f(*args, **kwargs) #被装饰的函数,ret是返回值...原创 2018-07-13 14:18:14 · 157 阅读 · 0 评论 -
No14.re模块的补充
1、re模块中的flagre.I 忽略大小写 re.M 多行模式,改变^和$的行为 re.S 点可以匹配任意字符 re.L 做本地化识别的匹配,表示特殊字符集\w、\W、\b、\B、\s、\S依赖于当前环境,不推荐使用 re.U 使用\w、\W、\s、\S、\d、\D使用取决于字符的树形,在python3中默认使用该 flag re.X 冗长模式,该模式下pattern字符串可以是多行...原创 2018-07-20 07:56:58 · 149 阅读 · 0 评论 -
No15.其他常用模块
1、collections模块nametuple用法from collections import namedtuple# numetuple(名称,属性list)Point = namedtuple('point', ['x', 'y']) # 第一个参数为名称,第二个参数是一个属性列表p = Point(1, 2)print(p.x)print(p.y)print(p)&...原创 2018-07-20 08:54:27 · 181 阅读 · 0 评论 -
No7.装饰器的进阶
1、带参数的装饰器FLAGE = Truedef timmer_out(flage): def timmer(f): def inner(*args, **kwargs): if FLAGE: print("before") ret = f(*args, **kwargs) ...原创 2018-07-14 08:09:06 · 155 阅读 · 0 评论 -
No2.列表的魔法
1、索引 格式:list[index]>>> li = ["Trony", "shi", "nvshen", "tiger"]>>> v = li[0]>>> print(v)Trony>>> v1 = li[1]>>&原创 2018-07-14 08:57:33 · 147 阅读 · 0 评论