以下是整理的JavaScript和python的基础区别的整理:
字符串、列表、元组、字典、集合、函数
字符串
声明一个字符串
python
str = '123'
str = "123"
Tips:
- 如果是三个引号的话,那么在py中就是注释的意思
'''我是注释 '''
- 在py中也是存在这种全局和局部的变量的【只是没有let、const、var声明】
a = '我是全局变量'
def init():
a = "嗨,我是局部变量"
init()
print(a) // 我是全局变量
javascript
str = '123'
str = "123"
- 当然无疑在js中三个引号 一定是报错的
- 同时在js中是区分 全局变量和局部变量的
let a = '我是全局变量'
function init(){
let a = '嗨,我是局部变量'
}
init();
console.log(a) // 我是全局变量
a = '我是全局变量'
function init(){
a = '嗨,我是局部变量'
}
init();
console.log(a) // 嗨,我是局部变量
方法对比
python
取得字符串的长度
str = 'abc'
print(len(str)) // 3
字符串首字母大写
str = 'abc'
print(str.title()) // Abc
字符串是否含有某个字母
str = 'abc'
print(str.find('a')) // 0
javascript
取得字符串的长度
str = 'abc'
console.log(str.length) // 3
字符串首字母大写
str = 'abc'
let newstr = str.replace(/^\S/, s =>s.toUpperCase())
consoe.log(newstr) // Abc
字符串是否含有某个字母
str = 'abc'
console.log(str.indexof('a')) // 0
列表
声明一个列表
python
arr = ['a','b','c','d']
ps: python的声明的数组其实很JavaScript声明是一样的,只是没有声明类型
javascript
let arr = ['a','b','c','d']
方法对比
python
打印第一个列表元素
arr = ['a','b','c','d']
print(arr[0]) // a
打印非第一个元素剩余列表元素
arr = ['a','b','c','d']
print(arr[1:]) // ['b','c','d']
打印倒数第二个元素
arr = ['a','b','c','d']
print(arr[-2]) // c
javascript
打印第一个列表元素
let arr = ['a','b','c','d']
console.log(arr[0]) // a
打印非第一个元素剩余列表元素
let arr = ['a','b','c','d']
console.log(arr.slice(1)) // ['b','c','d']
打印倒数第二个元素
let arr = ['a','b','c','d']
console.log(arr[arr.length - 2]) // c
Tips:
- 想要在python得到每个值,也是需要循环的,但是python支持的循环的方法只有、for in\while
- 在JavaScript中支持数组循环的方法就有很多了、for\for in\ map\foreach\ map\...
元组
声明第一个元组
tup = ('Google', 'Runoob', 1997, 2000);
元组的方法其实跟列表有一致的,列表跟元组的区别就是
- 列表是动态数组,它们不可变且可以重设长度(改变其内部元素的个数)。
- 元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
- 元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。
字典
声明一个字典
python
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
Tips: 其实在python的中的字典跟JavaScript的对象基本是一致的
javascript
let dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
方法对比
python
访问字典中的值
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
print(dict['Alice']) // 2341
del dict['Name'] // 删除键 'Name'
dict.clear() // 清空字典;
del dict // 删除字典
计算字典元素个数,即键的总数
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
len(dict) // 3
打印字符串的字典
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
str(dict) // "{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
javascript
访问对象中的值
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
console.log(dict['Alice']) // 2341
delete dict['Alice'] // 删除键 'Name'
dict = {}; // 清空兑现;
delete dict // 删除对象
计算对象元素个数,即键的总数
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
Object.keys(dict).length // 3
打印字符串的对象
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
JSON.stringify(dict) // "{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
集合
声明有一个集合
python
parame = {value01,value02,...} or set(value)
javascript
let arr = [1,2,3,2,3,4]
let parame = new Set(arr)
Tips:
- 再集合中或者是在js的set对象中都可没有两个相同的值
- 都具有删除、添加、清空等一些操作
- python的集合中的方法比js的set方法要多一些而已
函数
声明有一个函数
python
def init (a,b = 2):
print(a)
print(b)
init('1')
javascript
function init(a,b = 2){
console.log(a)
console.log(b)
}
init('1')
Tips:
- 不管是python还是JavaScript都是可以让形参有默认值的
- 不同的就是python的函数是没有括号的,并且要有换行符,这个尤为注意