Jason's Blog

Jason学习和分享笔记的地方

0%

课后复习题参考:

第一章

1、毛泽东思想的含义

毛泽东思想是马克思主义中国化的第一个重大理论成果,是马克思列宁主义在中国的运用和发展,是被实践证明了的关于中国革命和建设的正确的理论原则和经验总结,是中国共产党集体智慧的结晶,是党必须长期坚持的指导思想。

2、毛泽东思想形成发展的历史条件

19世纪末20世纪初,世界进入帝国主义和无产阶级革命时代,作为中国反帝反封建民主革命指导思想的毛泽东思想,正是在这样的时代条件下形成和发展起来的。

中国共产党领导人民进行革命和建设的成功实践是毛泽东思想形成和发展的实践基础。

3、毛泽东思想的主要内容和活的灵魂。

主要内容:新民主主义革命理论、社会主义革命和社会主义建设理论、革命军队建设和军事战略的理论、政策和策略的理论、思想政治工作和文化工作的理论、党的建设理论,这些是毛泽东思想科学体系的主要内容。

活的灵魂:实事求是、群众路线、独立自主是毛泽东思想的活的灵魂。

阅读全文 »

吴佳宸、吴奇奇课程设计结业报告

在老师的带领下深入学习

数据细节化处理

  • 转化为标准的json格式(有些同学键值外面还有list,数据没处理干净,是传输不了的)
  • 正则表达式,转为为可读性好的MarkDowm文章

反爬难点突破

  • 对拉勾网进行了尝试
  • 关键点是POST请求,获取实时cookie,转换IP地址,User-Agent
阅读全文 »

1、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
1
2
3
Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。
Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

2、JDK和JRE的区别是什么?
1
2
3
4
Java运行时环境(JRE)。它包括Java虚拟机、Java核心类库和支持文件。它不包含开发工具(JDK)--编译器、调试器和其他工具。

Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。

3、”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?
1
2
3
4
5
6
“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。

Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。

java中也不可以覆盖private的方法,因为private修饰的变量和方法只能在当前类中使用,如果是其他的类继承当前类是不能访问到private变量或方法的,当然也不能覆盖。

4、是否可以在static环境中访问非static变量?
1
2
static变量在Java中是属于类的,它在所有的实例中的值是一样的。当类被Java虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。

5、Java支持的数据类型有哪些?什么是自动拆装箱?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Java语言支持的8种基本数据类型是:
byte
short
int
long
float
double
boolean
char

自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成Double,等等。反之就是自动拆箱。










Java支持的数据类型包括两种:一种是基本数据类型,包含byte,char,short,boolean,int,long,float,double;另一种是引用类型:如String等,其实是对象的引用,JVM中虚拟栈中存的是对象的地址,创建的对象实质在堆中,通过地址来找到堆中的对象的过程,即为引用类型。自动装箱就是Java编译器在基本数据类型和对应的对象包装类型间的转化,即int转化为Integer,自动拆箱是Integer调用其方法将其转化为int的过程

阅读全文 »

爬取豆瓣Top250

语言:python
使用库:requests(http请求数据), json(字典与json转换), xlwt(json与excel),lxml(解析xml,xpath)
爬取内容:豆瓣电影,图书,音乐Top250


主要方法步骤

  • 使用requests请求网页url,然后使用lxml把网页html解析解析下来
  • 获取信息区块列表
  • 分别爬取区块想要的信息存入字典
  • 写入文件保存

值得注意点

  • 在使用pip安装的时候,由于是国外资源,下载速度很慢,可以使用国内镜像, 在cdm中输入
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests(填库名)
  • 获取节点方法

1.使用XPath获取节点XPath语法
去chrome插件市场下载 XPath Helper(方便检查)
CssSelector组件将CSS选择器转换为XPath表达式

为什么要使用CSS选择器?
当您解析HTML或XML文档时,到目前为止最强大的方法是XPath。
XPath表达式非常灵活,因此几乎总有一个XPath表达式可以找到您需要的元素。不幸的是,它们也变得非常复杂,学习曲线也很陡峭。即使是常见的操作(例如查找具有特定类的元素)也可能需要冗长且难以处理的表达式。
许多开发人员 - 尤其是Web开发人员 - 更习惯使用CSS选择器来查找元素。除了在样式表中工作之外,CSS选择器还在JavaScript中使用,querySelectorAll()并且在jQuery,Prototype和MooTools等流行的JavaScript库中使用。
CSS选择器的功能不如XPath,但更容易编写,阅读和理解。由于它们功能较弱,几乎所有的CSS选择器都可以转换为XPath等价物。然后,此XPath表达式可以与使用XPath查找文档中的元素的其他函数和类一起使用。

2.学前端的我觉得beautifulsoup很好用,因为直接css选择器获取节点,十分方便
安装$ pip install beautifulsoup4
beautifulsoup4中文文档

阅读全文 »

python 爬虫练习五个小练习

值得注意的点

  • 使用xpath爬取的是一个list要取list[0]得到字符串

  • 一些格式,生数据处理,

    使用strip(),lstrip(),rstrip()

    • Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

      注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符

    • 使用正则删除多余字符

      b = re.compile()``````b.findall()

      python暂时只会这个正则方法,reg匹配所有编程语言都是通用的

  • xpath(……/text())获取文本

  • 有些地方爬取的内容为空,运行就会报错,用if 判断xpath内容是否为空,else写入空内容的通用值

整体思路

从控制台找到要爬取的信息,无非就是html内容,json内容,ajax请求内容,获取到节点,写入字典,导出json

跟老师不同的是,删除了一些函数,写在一个里,因为python本身就是脚本编程语言,一行语句写一个函数无疑加大了代码阅读难度。就一点内容,没那么多类,函数可写。

内容

爬取内容

1.豆瓣音乐top250
url:https://music.douban.com/top250
爬取歌名,作者,评分

  • 跟豆瓣电影类似
阅读全文 »

小程序 ‘冥想歇息’ 介绍文档

—宸薇敏团队

简介:本程序想推广,用短暂休息和冥想来补充精神和提升学习工作效率。

1.产品定位

(1)需求分析

​ 人们在工作学习过程中,往往忽视了休息,大部分人只关注当时的任务。长时间的工作后会感到疲惫,如果闷头继续,往往会使效率下降,产生厌倦感。

​ 通过网络调查问卷调查发现,有工作和学习任务的人中80%的没有有意识地休息。心理学研究人们无法集中精力太长时间,平均全神关注一个事物15分钟,普通工作两小时,效率就会直线下降。

​ 所以,我们想设计一个小程序,来改善工作学习效率,提高生活质量。当工作累了,打开小程序,完成短暂休息,继续工作,事半功倍。

(2)产品方案

​ 有了目标我们就要努力,但是那些好胜心强的人看起来似乎一点也不快乐。如果用一个小时或一个半小时的时间来专注做一件事,然后用15分钟左右来放松,恢复,可以是冥想也可以听音乐,健身。将时间分割成小块,我们也更容易获得成就感。维持生活的灵活性。聚焦工作,聚焦修整。

阅读全文 »

python 课程设计 Day1

大一的时候自学过Python,在慕课上看过两个课程,跟着课程写过个豆瓣爬虫,到现在都忘得差不多了,正好课程设计复习一下,还可以了解一下Django后台框架👍

课后习题

求s=a+aa+aaa+aaaa+aa…a的值求s=a+aa+aaa+aaaa+aa…a的值

1
2
3
4
5
6
7
8
a = int(input('请输入a(1-9):'))
n = int(input('请输入要加几次:'))
sum=0
s = 0
for i in range(n): #通过for循环
s += a * (10**i) #从个位加到最高位得出最后一个a
sum +=s #每次得到的结果累加
print(sum)

1560772284334

计算器验证得:

1560772352981

课堂习题(笔记)

  1. 青蛙爬井的问题

    思路:当白天爬的高度大于深度之后就跳出循环

阅读全文 »