目录
基本数据类型
python
Python的数据类型有数字(Number)、字符串(String)、布尔类型
数字类型中有int类型、long类型、float类型、complex类型(复数)
对于字符串类型,需要用单引号或者双引号把它引起来
可以采用方括号来选取其中某一个字符,或者进行截取
例如var2 = "Python Runoob"
var2[0] P var2[1:5] ytho (:左侧数字代表开始字母所在的位置,:右侧数字代表在在这个索引前结束)如果只有单侧有数字,则表示另一边为0,或者到末尾
字符串最后一个字符的索引为-1
字符串的连接采用+
使用特殊字符时,python用反斜杠\转义字符。
对于布尔类型,值有两个:True和False
空值使用None
Javascript
采用typeof操作符来检验变量的类型
Javascript的数据类型有数字(Number)、字符串(String)、布尔类型(Boolean),Undefined,Symbol
对于字符串类型,需要用单引号或者双引号把它引起来
字符串的连接采用+,还有concat()方法和join()方法
对于布尔类型,值有两个:true和false
空值为null,用来定义空指针,它是Object(对象)的一个特殊值
未定义为Undefined,Undefined是一种特殊的数据类型,当我们声明一个变量,却未给这个变量赋值时,它的数据类型是Undefined
Symbol是ECMAScript6引入的一个新的数据类型,Symbol类型的值采用Symbol()函数生成
非基本数据类型
Python
Python的非基本数据类型有列表(list)、字典(dict)、集合(set)
列表list
列表list使用方括号[]表示,列表的数据项不需要相同的数据类型
- 列表的初始化方式:
list1 = [] list1 = list()
- 增:append()方法
- 删:利用索引del,采用pop()方法
- 改:利用索引改
- 查:利用索引,或直接打印
关于列表的增删改查,我的另一篇文章中有详细介绍
字典dict
字典dict使用花括号{}表示,也可以存储任意类型对象,键与值之间用冒号:分割,键值对之间用逗号,分隔
- 列表的初始化方式:
d = dict() d = {}
- 增:字典没有append()方法
dic1 = {'name':'shuai','age':19,'sex':'man'} dic1['height']=185 #没有键值对,添加 dic1['age'] = 16 #有这个键就覆盖 dic1.setdefault('weght',150) # 有键值对,不做任何改变,没有才添加
- 删:pop()方法,使用key删除
>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"} >>> dic1.pop("hobby") 'lp' # 会有返回值 >>> print(dic1) {'name': 'zuowei', 'age': 18}
- 改:直接对键进行赋值
>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"} >>> dic1["sex"] = "男" >>> print(dic1) {'name': 'zuowei', 'age': 18, 'hobby': 'lp', 'sex': '男'} >>> dic1["age"] = 8 # 有则改,无则加 >>> print(dic1) {'name': 'zuowei', 'age': 8, 'hobby': 'lp', 'sex': '男'}
- 查:
根据key查询
>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"} >>> print(dic1["name"]) zuowei >>> print(dic1["hobby"]) lp
采用get()方法
>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"} >>> print(dic1["name"]) zuowei >>> print(dic1["hobby"]) lp >>> dic1.get("name") 'zuowei' >>> dic1.get("age") 18
for循环
>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"} >>> for k, v in dic1.items(): ... print(k, v) ... name zuowei age 18 hobby lp
集合set
集合set也使用大括号{}表示,表示一个无序不重复元素集合
- 初始化
#初始化空集合 emptySet=set()
注意:花括号{}只能用于初始化字典,不可以用于初始化集合
- 增:
s = {'A', 'B', 'A', 'B'} s.add('c') # 重复的内容不会被添加到set集合中 print(s) s.update(['C', 'D', 'E']) # 迭代添加 print(s)
- 删:
s = {'A', 'B', 'C', 'D'} item = s.pop() # 随机删除一个元素后,返回被删除的值给item print(item) print(s) s.remove('A') # 直接删除指定的值 print(s) s.clear() # 清空set集合,需要注意的是,如果set为空,打印出来则是set(),因为要区分dict print(s)
- 改:
由于集合set中没有索引,所以我们采用删除指定元素,再添加元素的方式来更改
# set集合中的数据没有索引. 也没有办法去定位一个元素. 所以没有办法直接修改. # 我们可以采用先删除后添加的方式来完成修改操作 s = {'A', 'B', 'C', 'D'} # 把A改为E s.remove('A') s.add('E') print(s)
- 查:
由于set是一个可迭代对象,可以通过for循环来进行遍历查询
# set 是一个可迭代对象,可通过for循环进行遍历查询 s = {'A', 'B', 'C', 'D'} for i in s: print(i)
集合set还可以进行并、交、差等操作。
元组tuple
还有一种数据类型元组tuple,
使用小括号()来表示,
与列表类似,但是区别在于元组的元素不可以修改
Javascript
Javascript的非基本数据类型有数组(Array)、对象(Object)、集合(Set)
数组Array
- 初始化
- 指定长度的初始化
var vArray = new Array(8);
- 不指定长度的初始化
var vArray = new Array(); vArray .push(1); var vArray = []; vArray .push(1);
3.直接对数组进行赋值
var vArray = ['1','2','3'];
- 增:
push()方法,可以把一个或多个元素添加到数组尾部,并返回修改后数组的长度
var arr = []; var len = arr.push(1); console.log(arr); // [1] console.log(len); // 1 len = arr.push(2,3); console.log(arr); // [1,2,3] console.log(len); // 3
unshift()方法,可以把一个或多个元素添加到数组开头,并返回修改后数组的长度
var len = arr.unshift(0); console.log(arr); // [0, 1, 2, 3] console.log(len); // 4 len = arr.unshift(-2,-1); console.log(arr); // [-2, -1, 0, 1, 2, 3] console.log(len); // 6
- 删:
pop()方法用于删除数组末尾的元素
var arr = [1,2,3]; console.log(arr.pop()) //3 console.log(arr) //1 2
shift()方法用于删除数组首部的元素
var arr = [1,2,3]; console.log(arr.shift()) //1 console.log(arr) //2 3
slice()方法用于截取数组的一部分,并返回该数组的一部分
var arr = [1,2,3,4,5]; console.log(arr.slice(1,5)) //[2, 3, 4, 5]
var arr = [1,2,3,4,5]; console.log(arr.slice(-3)) //[3, 4, 5]
- 改
splice()方法用于删除/添加数组中的元素,(要删除的索引位置,删除的数量,要添加的元素)
添加:
var arr = [1,2,3]; arr.splice(3,0,4) //从索引3开始删除0个添加数字4 console.log(arr); //1 2 3 4
删除:
var arr = [1,2,3]; arr.splice(1,1) console.log(arr);
更改:
var arr = [1,2,3,5,6,7]; arr.splice(2,2,8) console.log(arr); //[1, 2, 8, 6, 7]
- 查
indexof()可以返回元素首次出现的索引值
lastIndexof()返回元素最后出现的索引值
var arr = [1,2,3,5,6,7]; console.log(arr.indexOf(6)) //4 返回索引位置。 console.log(arr.indexOf(8)) //如果是数组中没有的元素,返回-1
var arr = [1, 2, 2, 3, 3, 4,4]; console.log(arr.lastIndexOf(3)) //4 返回索引位置。 console.log(arr.lastIndexOf(8)) //-1
对象(Object)
- 初始化
// 简写写法 推荐 let obj1 = {} let obj2 = {name: 'sanshiliu', age: '36'} // 正统写法 let obj3 = new Object() let obj4 = new Object({name: 'sanshiliu', age: '36'})
- 增
如果没有这个键,则增,否则就是改
let obj6 = {name: 'sanshiliu', age: '36'} /* 增 */ // 中括号里面的字符串做键值 obj6['school'] = 'haerbingfoxueyuan' // 点语法 obj6.gender = 'man' // 变量的方式, let x = 'city' // 变量是个字符串,如果不是,那么会自动的转换成字符串 obj6[x] = 'china' console.log(obj6) // {name: "sanshiliu", age: "36", school: "haerbingfoxueyuan", gender: "man", city: "china"} //记住对象的键一定是 String 或 Symbol 类型 console.log(Object.keys(obj6)) // ["name", "age", "school", "gender", "city"] // 基于变量的方式 的新的对象声明方式 let y = 'name' let obj7 = { [y]: 'sanshiliu' } console.log(obj7) // { name: "sanshiliu" } /* 改 */ obj7['name'] = 'qishiqi' console.log(obj7) // { name: "qishiqi" } // 批量 增 / 改 Object.assign(obj7, {name: 'bashiba', height: '170'}) console.log(obj7) // {height: "170", name: "bashiba"}
- 删
可以采用关键字delete删除(该键值对不存在了)
或者将该键下的值定义为undefined(该键存在,值未定义)
let obj8 = {name: 'sanshiliu', age: '36'} // delete 操作符 delete obj8["name"] // 或者 delete obj8.name // 置为 undefined obj8.age = undefined
let obj9 = {name: 'sanshiliu', age: '36'} delete obj9["name"] obj9.age = undefined console.log(obj9) // {age: undefined} // 不含属性名 let ifExistName = "name" in obj9 console.log(ifExistName) // false // 含有属性名 但是值 为 undefined let ifExistAge = "age" in obj9 console.log(ifExistAge) // true ,不过此时的 age 属性值是 undefined let ifExistAgeAndUndefined = 'age' in obj9 && obj9.age === undefined console.log(ifExistAgeAndUndefined) //true // 不能使用 obj.xxx === undefined 的方式去断定 'xxx' 是否为 obj 的属性 console.log (obj9.abc === undefined) // 当属性值不存在时,依旧返回 true
- 查
let obj10 = {name: 'sanshiliu', age: '36'} // 某个属性 console.log(obj10.name) // 'sanshiliu' console.log(obj10['name']) // 'sanshiliu' console.log(obj10.abc) // abc 属性不存在 返回 undefined // 对象的所有自有属性的属性名 console.log(Object.keys(obj10)) //["name", "age"] // 对象的所有自有属性的属性值 console.log(Object.values(obj10)) // ["sanshiliu", "36"] // 查对象的所有属性,包括自有属性和共有属性(原型) console.dir(obj10) // 展示出是一个对象,略(浏览器控制台查看)
注释
python
使用#单行注释
使用三个双引号""" """作为多行注释
javascript
使用//单行注释
使用/* */多行注释
代码块
python
使用缩进
每条语句都需要换行
JavaScript
使用花括号括起来,
每条语句最后采用分号;结束
代码举例中有参考其他博客,已在下面列举,感谢分享。
欢迎交流、指正!
参考博客:
一文读懂 JavaScript 和 Python 九大语义区别_CSDN资讯-CSDN博客
python 的dict的append()? - 小小喽啰 - 博客园
python 字典(dict)增删改查及方法_左魏-CSDN博客_python字典增删改查
JavaScript 对象的增删改查_sanshiliuxiao的博客-CSDN博客_javascript对象增删改查
https://www.jb51.net/article/121651.htm
JS(一)[数组的增删改查]_不染i的博客-CSDN博客
python学习之集合(set) - 奔腾的小河 - 博客园
python set集合 - 大胖猴 - 博客园
Python3.x中set()集合的使用方法_jerrygaoling的博客-CSDN博客_python set初始化
Python笔记·第六章——集合 (set) 的增删改查及 copy()方法
Python --基础数据类型(set集合的增删改查及其他相关操作)_DevilLin的博客-CSDN博客