• python学习笔记二


    用python获取数据:

    抓取:

    Requests库

    解析

    BeautifulSoup:一个可以从HTML或XML文件中提取数据的Python库。

    官网:

    https://www.crummy.com/software/BeautifulSoup/bs4/doc/

    生成BeautifulSoup的对象soup后,可使用soup.tag得到标签内容

    tag中最重要的属性:name、attributes

    获取tag名字的方法:

    获取tag属性的方法:

    获取tag中非属性的字符串:

    寻找所有的某个标签的内容:

    find_all方法+属性:

    寻找第一个标签的内容:

    补充: 推荐博客https://www.cnblogs.com/hanmk/p/8724162.html

    上课的示例代码:

     

     发现老师上课用的代码运行不出结果,原来是打印string时不能跨越多个标签,只能从最里层的标签开始打印,目前我也不知道为什么。

    Regex:进行各类正则表达式处理

    参考网站:

    https://docs.python.org/3.5/library/re.html

    python中的序列:

    包括 字符串、列表、元组

    序列元素的访问:

    序列的操作类型:

    标准类型运算符:

    序列类型运算符:

    类型转换内建函数:

    list():将一个字符串转化为列表

    tuple():将一个字符串转化为元组

    str():将一个列表或者元组转化为字符串

    序列类型可用内建函数:

     python中的字符串

    三引号可以使字符串保持原貌:

    r可以简化文件路径:

    双引号使得单引号使用方便:

    字符串与输出形式:

    类型说明符:

    字符串(s)默认的对齐方式为左对齐,整数的默认方式为右对齐

    python中的转义字符:

    python中的列表

    列表是可变数据类型,字符串是不可变数据类型

    可以更改列表中的元素:

    列表中可以包含不同类型的对象:

     在列表中加入元素:

    在列表中减去元素:

    sort函数和sorted函数的区别:

    >>> a=[1,3,5,2,9,4,7,8,6,0]
    >>> a.sort()
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> a=[1,3,5,2,9,4,7,8,6,0] >>> sorted(a) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a [1, 3, 5, 2, 9, 4, 7, 8, 6, 0]

    sort函数的进一步用法:

    >>> List=[3,4,5,2,1]
    >>> List.sort(reverse=True)
    >>> List
    [5, 4, 3, 2, 1]
    
    >>> strList=['abab','aa','b','ccccccc']
    >>> strList.sort(key=len)
    >>> strList
    ['b', 'aa', 'abab', 'ccccccc']

    reverse函数和reversed函数的区别:

    >>> List1=[1,3,5,7,9]
    >>> List1.reverse()
    >>> List1
    [9, 7, 5, 3, 1]
    >>> List2=[2,4,6,8,10] >>> List3=reversed(List2) >>> List2 [2, 4, 6, 8, 10] >>> List3 <list_reverseiterator object at 0x00315F30>

    reversed函数返回的是一个reverse 的迭代器

    列表解析:

     

    生成器表达式:

    python中的元组:

    元组是不可变数据类型,其一般使用与列表类似。

    创造具有一个元素的元组:

    元组和列表的区别:

    由于元组不可变,故对于那些会改变元组本身的方法不能使用,如sort()函数,对于列表可用;对于元组,使用时会报错。sorted()函数没有真正改变元组的内容,故可以使用

    元组的作用:

    1.在映射类型中当作键使用

    2.函数的特殊类型参数

    3.作为函数

    元组作为函数的特殊类型参数:可变长位置参数

    >>> def foo(arg1,*arg2):
        print(arg1)
        print(arg2)
    
        
    >>> foo("hello","good","morning","!")
    hello
    ('good', 'morning', '!')

    元组作为函数的特殊返回类型:

    >>>def foo():
            return 1,2,3
    >>>foo()
    (1,2,3)

    python中的字典:

    key(不可变数据类型)->value

    创建字典:

    1.直接创建

    2.利用dict函数

    将所有的key设置一个默认值:

    将两个列表的元素组成字典:

    从列表中构造字典:

    如:

    字典的使用:增删(del)改查(in/直接用键值查找)

    dict2 = dict1 ->将dict2和dict1关联对应到同一个字典,执行例如dict1['score'] = 99的操作后,dict2中的内容也会受影响

    字典的内建函数:dict(),len(),hash()

    hash() ->判断某个对象是不是可哈希的->是不是不可变的

    若一个对象是可哈希的(不可变的),则会出现哈希值;否则,会出现异常

    单独输出字典的key or value:

    更新 新旧的两个字典:

    查找字典较为明智的方法:

    清空字典:clear()

         

    搜索引擎关键词查询中字典的使用:

    字典充当可变长关键字参数;元组充当可变长位置参数

    python中的集合:

    集合的比较:

    补充:

    集合中的内建函数:

    1.面向所有集合:

    union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)

    2.面向可变类型的集合:

    其中,add和update的区别如下:

    python中的扩展库 SciPy

    SciPy中的数据结构:

    -ndarray(N维数组)

    -Series(变长字典)

    -DataFrame(数据框)

    SciPy中的NumPy:

    创建数组:

    代数运算计算行列式:

    python中的数组:

    用ndarray表示的数组:

    ndarray的属性:

    如一个二维数组:

    ndarray的创建:

    ndarray的操作:

    ndarray的运算:

    注意:这里的矩阵乘法和线代中的矩阵乘法不一样

       

    var->方差;std->标准差

    ndarray在线代中的应用:

        

    nadarray的ufunc函数:

    python中的变长字典Series:

    SciPy中的Matplotlib:

    SciPy中的pandas:

    Series中的键值是相互独立的(与字典的区别)

    Series是一个有序定长的字典,类似一堆数组的对象,由数据和索引组成,对应一维序列

    Series的创建:

     

    自定义的创建方式:

    Series的基本运算:

    exp(N)->计算自然对数的N次方

    Series的数据对齐:

    用Series自动对齐不同索引的数据:

    Series的name属性:

    DataFrame:

    对应二维表结构,表格型的数据结构->相当于共享同一个index的Series的集合:

    创建一个DataFrame:

    1.

    2.

    DataFrame的基本操作:

    iloc->某个区域

    DataFrame对象的修改和删除:

    DataFrame的统计功能:

  • 相关阅读:
    【JAVA笔记——道】JAVA对象销毁
    【JAVA笔记——道】并发编程CAS算法
    httpClientUtil的get请求
    python基础 day11 下 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业
    python基础 day11 上 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 事务 索引 python 操作mysql ORM sqlachemy学习
    Python基础 Day10 Gevent协程 SelectPollEpoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 RedisMemcached缓存 Paramiko SSH Twsited网络框架
    python基础 day9 进程、与线程区别 python GIL全局解释器锁 线程 进程
    python基础 day8 Socket语法及相关 SocketServer实现多并发
    python基础 day7 面向对象高级语法部分 异常处理 异常处理 Socket开发基础
    python基础 day6 面向对象的特性:封装、继承、多态 类、方法、
  • 原文地址:https://www.cnblogs.com/cellphone7/p/9741891.html
Copyright © 2020-2023  润新知