zoukankan      html  css  js  c++  java
  • 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的统计功能:

  • 相关阅读:
    zedboard如何从PL端控制DDR读写(四)
    ZC706以太网扩展板接口
    软件测试作业3--Junit、hamcrest、eclemmat的安装和使用
    软件测试作业2
    软件测试作业1--描述Error
    安装Mysql 5.7.1
    Servlet生命周期+工作原理
    VS中工程的“依赖”,“库目录”,“包含目录”
    Linux C 重定向简单范例
    Java中关键字final用法
  • 原文地址:https://www.cnblogs.com/cellphone7/p/9741891.html
Copyright © 2011-2022 走看看