0%

字典

使用的是python3.x版本

python中的字典类似于java中的Map,由多个键及其对应的值构成的键值对

1
2
// 键值用冒号分隔,项之间用逗号分隔,结构像是json
dict1 = {'zs':12,'ls':15}

添加新数据

1
dict1['ww'] = 10

删除数据

1
del dict1['ww']

字典的遍历

1
2
3
4
5
6
7
8
9
# items()方法可以获取字典中的每一对键值对
for key,value in dicts.items():
print('key为',key,',value为',value)

# 只遍历键,keys返回的是所有的键
for key in dicts.keys()

# 只遍历值,values返回的是所有的值
for value in dicts.values()

列表和元组

使用的是python3.x版本

列表和元组的主要区别在于,列表可以修改,而元组不能。

列表

Python的列表就类似于java的list,使用方括号[]括起来即可

1
list1 = [1,2,3,4,5]

获取元素

根据索引下标获取,从0开始

1
2
3
4
list1[2]
# 如果使用负数,则会从后往前遍历
# -1表示最后一个元素
list1[-1]

也可以进行分片,获取从第二个到第四个索引下标的数据

1
2
3
4
5
# 左闭右开,数据为2,3
list1[1:3]

# 生成列表的副本,在生成的副本中进行操作,不会影响原始的列表
list1[:]

添加元素

1
2
3
4
# 列表末尾添加元素
list1.append(10)
# 在中间插入
list1.insert(2,'zj')

删除元素

1
2
3
4
5
# 删除某一个元素
del list1[2]

# 根据值删除元素
list1.remove('zj')
阅读全文 »

nodejs使用模块

创建和加载模块

nodejs提供了exports和require来对模块进行操作,exports是模块公开的接口,require用于获取模块的exports对象

创建一个module.js文件,并公开一个方法

1
2
3
exports.sayHello = function(name){
console.log('Hello '+name);
}

在同目录下创建usemodule.js文件,调用上述方法

1
2
3
// 加载module模块
var myModule = require('./module');
myModule.sayHello('老张');

执行结果

1
2
zhanghedeMacBook:module zhanghe$ node usemodule.js 
Hello 老张

在开发nodejs程序的时候需要使用很多模块,总不能一个一个的安装吧?那当然不会这么干,npm允许使用package.json文件来指定应用程序中要用的模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
"name": "exam", // 包的名称
"version": "1.0.0",//版本
"private": true,
"scripts": {
"serve": "vue-cli-service serve --mode dev",
"build": "vue-cli-service build --mode prod",
"build:dev": "vue-cli-service build --mode dev",
"build:test": "vue-cli-service build --mode test",
"build:pre": "vue-cli-service build --mode pre",
"build:prod": "vue-cli-service build --mode prod",
"lint": "vue-cli-service lint"
},
"dependencies": { // 包的依赖
"axios": "^0.19.0",
"core-js": "^3.10.0",
"element-ui": "^2.15.0",
"js-cookie": "2.2.0",
"normalize.css": "8.0.1",
"nprogress": "0.2.0",
"vue": "^2.6.10",
"vue-router": "^3.5.1",
"vuex": "^3.6.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.5.12",
"@vue/cli-plugin-eslint": "^4.5.12",
"@vue/cli-plugin-router": "^4.5.12",
"@vue/cli-plugin-vuex": "^4.5.12",
"@vue/cli-service": "^4.5.12",
"@vue/eslint-config-standard": "^4.0.0",
"babel-eslint": "^10.0.3",
"eslint": "^5.16.0",
"eslint-plugin-vue": "^5.0.0",
"node-sass": "^4.14.1",
"sass-loader": "^8.0.0",
"svg-sprite-loader": "4.1.6",
"vue-template-compiler": "^2.6.10"
}
}

npm介绍

npm(Node Package Manager)是Node.js的包管理器,提供了很多可以重用的模块

使用npm

安装模块

1
2
3
4
// 本地安装 安装在对应的项目下,会生成一个.node_modules的目录
npm install [模块名称]
// 全局安装 可以在所有项目中使用
npm install -g express

下载下来之后就可以在node.js中使用该模块了

1
2
// module为对应模块的名称
var module = require('module')

搜索模块

1
2
// 可以搜索对应的模块
npm search http

查找对应的文档

1
2
// 可以查看对应模块的文档
npm docs axios

CSS语法

CSS语法结构由3部分组成:选择符、属性和值

Selector {Property : Value}

多个标签使用相同的样式

多个标签之间使用逗号隔开

1
2
3
h1,h2,h3,h4 {
color: red
}

嵌套标签样式

当一个标签嵌套在另一个标签中,想要精准的设置该样式,需要先列出上层标签,在列出子标签,中间使用空格隔开

1
标签1 标签2 {}

只要标签1是标签2的祖先元素就行,不一定是父元素。如果想要必须是父子关系的话,可以使用 标签1 > 标签2 这种方式来表示

1
2
3
ol ul {
list-style-type: cricle
}

对于兄弟节点如何来表示呢?

1
2
3
4
5
/* 紧邻的兄弟节点,标签2必须紧跟在标签1后边*/
标签1 + 标签2 {}

/* 一般的兄弟节点,标签2必须在标签1后边,不一定紧跟*/
标签1 ~ 标签2 {}

使用class来设置样式

可是使用class来对样式进行分类,以点开头+class名称进行设置

1
2
3
.new {
color: red
}

使用该样式,只需要设置标签的class为new即可

1
<li class="new">测试 </li>

同时满足多类的话,可以使用.类1.类2 两个类之间没有空格

使用id来设置样式

除了可以使用class外,还可以使用id,以井号开头+id值进行设置

1
2
3
#special {
color: red
}

使用该样式,只需要设置标签的id为special即可

1
<li id="special">测试 </li>

标签指定选择符

如果既想使用id或class,又想同时使用标签,可以使用如下格式

1
2
3
4
/* 针对id为content的h1标签*/
h1#content{}
/* 针对class为p1的h1标签*/
h1.p1{}

组合选择符

1
2
3
4
5
6
7
8
/* h1标签下的所有class为p1的标签*/
h1 .p1{}

/* id为content的标签下所有h1标签*/
#content h1{}

/*id为content的h1标签下的h2标签*/
h1#content h2{}