一、简介
JavaScript 在浏览器范畴和服务端范畴都有大量的应用,可是 python 在数据处理方面有自己的的优势,编程言语无所谓好坏,趁手的言语使得作业能高效的完成。
二、声明变量与关键字
2.1)js
var v = 123;
let vl = 123
const VC = 123;
2.2)py
v = 123
vl = 123
VC = 123
js 声明后关键字,可是 py 没有。从变量声明来看,py 比 js 愈加简略。
三、常用数据类型
以下是 Python 和 JavaScript 数据类型的比照,它们放在一个列表中以便比较:
Python 数据类型 | JavaScript 数据类型 |
---|---|
整数 (int) | 数字 (Number) |
浮点数 (float) | 数字 (Number) |
字符串 (str) | 字符串 (String) |
布尔值 (bool) | 布尔值 (Boolean) |
列表 (list) | 数组 (Array) |
元组 (tuple) | – |
调集 (set) | Set(数据结构) |
字典 (dict) | 目标 (Object) |
字节串 (bytes) | – |
字节数组 (bytearray) | – |
规模 (range) | – |
空类型 (NoneType) | 未界说(undefined) 空目标(null) |
自界说类 (class) | 类(class) |
在数据类型上 JS 的数据类型, JS 不包括元组,也没有 字节串/字节数组
等类型
3.1)js
// 数字
let x = 123;
let y = -123;
// 字符串
let name = "string";
let greeting = 'string';
// 布尔值
let isTrue = true;
let isFalse = false;
// 数组
let string_arr = ["a", "b", "c"];
let numbers_arr = [1, 2, 3, 4, 5];
// 目标
let p = {name: "n", age: 0, sex: "male"};
// 特别类型:日期目标
let d = new Date();
// 特别类型:正则表达式
let reg_pattern = /hello/i;
// 空
let undf = undefined
let nl = null
// class
class An {
constructor(a, b) {
this.a = a
this.b = b
}
}
// set
let mySet = new Set(); // 创建一个空的 Set
let mySet2 = new Set([1, 2, 3, 2, 1]); // 从数组初始化 Set
3.2)py
# 整数
x = 123
y = -123
# 浮点数
f_pi = 3.14159
f_t = 98.6
# 字符串
s_str = "string"
s_str = 'string'
# 布尔值
is_true = True
is_false = False
# 列表
str_arr = ["a", "b", "c"]
numbers_arr = [1, 2, 3, 4, 5]
# 元组
tuple_point = (3, 4)
# 调集
unique_numbers = {1, 2, 3, 4, 5}
unique_letters = set("abcabcde")
# 字典
py_d = {name: "n", age: 0, sex: "male"};
# 字节串
data = b'Hello, world, this is bytes'
# 字节数组
byte_array = bytearray(b'Hello, world, this is bytes')
# 规模
my_range = range(1, 6)
# 空类型
no_value = None
# class
class An:
def __init__(self, a, b):
self.a = a
self.b = b
四、独有的数据类型
4.1)js
- undefined
- null
- Symbol
4.2)py
- tuple
- Complex
五、类型转化
5.1)js
- js 运用分文显现类型转化和隐式类型转化
- js 运用
String/Boolean/Number
等包装类型进行显现类型转化。 - 运用
toString
转向字符串。 - 一些其他的显现的api
5.2)py
- str(): 值 => 字符串
- int(): 值 => 整数
- float(): 值 => 浮点数
- bool(): 值 => 浮点数
- list(): 值 => 列表
- tuple(): 值 => 元组
- set(): 值 => 调集
六、print 与 console.log 比照
6.1)基础用法
- ts
console.log("Hello, World!");
console.log("Hello, World!", "the second hello world!");
let p = 'Li';
console.log(`${p} hello!`);
- py
print("Hello, World!") # Python 3
print "Hello, World!" # Python 2
基础用法根本一致,可是分为 py2 和 py3 两种不同的版别。
6.2)格局化输出(占位符与格局函数)
- %s 用于字符串
- %d 用于整数
- %f 输出浮点数
let str = "str";
let num = 5;
console.log("Str: %s, Num: %d", str, num);
在 py2 中也支持占位符号,此处重视 py3, py3 运用 format 函数格局化
f_name = "Li"
l_name = "Lei"
age = 5
print("Name: {} {}, Age: {2}".format(f_name, l_name, age))
format 函数与 {}
结合,愈加函数式,在 js 中输出字符串,有多个变量时能够运用模板字符串
6.3)输出目标
js 中 console.log 能直接输出一个目标,可是 print 不能,如果想要完成相容的作用,需要在 class 中界说 __str__
办法。
- js
let p = {
name: "Li",
age: 5,
};
console.log(person);
- py
class P:
def __init__(self, name, age, city):
self.name = name
self.age = age
def __str__(self):
return f"Name: {self.name}, Age: {self.age}"
p = P("Li", 5)
print(p)
七、小结
文本主要重视 js
和 py
的变量和类型,以及常用的输出技巧。 js 和 py 都是脚本言语,从变量界说来看 py 愈加简略,因为它不需要声明关键字,从数据类型来看 js 的数据类型没有 py 丰厚,js 没有自己的 tuple 类型,可是这些 js 完全能够模仿完成相似的作用, 同时重视了 console 与 print 的运用, print 分为 py2 和 py3 版别,都能运用占位符,py3 支持 format 函数格局化数据,而 console 支持模板字符串。