python3与JavaScript简单的对比入门教程

简介: 本文只是粗略比较python3与JavaScript的一些基本编程中语法不相同的地方如果你想深入了解推荐阅读其官方文档或其他网站更加详细的教程0.注释与代码块JavaScript://单行注释/* * 多行 * 注释 */python:#单行注释'''多行注释'''行和缩进学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。

本文只是粗略比较python3与JavaScript的一些基本编程中语法不相同的地方
如果你想深入了解推荐阅读其官方文档或其他网站更加详细的教程

0.注释与代码块

JavaScript:

//单行注释
/*
 * 多行
 * 注释
 */

python:

#单行注释
'''
多行
注释
'''

行和缩进

学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。

1.变量

变量声明与赋值

JavaScript:

//变量声明赋值
var a = "变量a";
var A = "变量A";
console.log(a);
console.log(A);
//多个变量赋值
var a = "变量a",
    A = "变量A";
console.log(a, A);

python:

#变量声明赋值
a = "变量a";
A = "变量A";
print(a);
print(A);

#多个变量赋值
a,A = "变量a", "变量A";
print(a, A);

变量交换

JavaScript:

var b = 1,
    c = 2;
console.log(b, c);
[b, c] = [c, b]
console.log(b, c);

python:

b,c=1,2
print(b,c);
b,c=c,b
print(b,c);

常用变量类型

JavaScript:

//typeof(??)<--用来查看类型
console.log(typeof(1))
console.log(typeof(1.0))
console.log(typeof('a'))
console.log(typeof('aaaa'))
console.log(typeof([]))
console.log(typeof({}))

python:

#type(??)<--用来查看类型
print(type(1))
print(type(1.0))
print(type('a'))
print(type('aaaa'))
print(type([]))
print(type({}))

常用变量类型转换

JavaScript:

console.log(typeof((1).toString()), "转为字符串类型")
console.log(typeof(parseInt("123")), "转为数字类型")
console.log(typeof(Number("123")), "转为数字类型")
console.log(typeof(parseFloat("123")), "转为带小数点的数字类型")

python:

print(type( str(1) ),"转为字符串类型")
print(type( int("123") ),"转为数字类型")
print(type( float("123") ),"转为浮点类型")

删除变量

JavaScript:

var d = "aaa"
console.log(d)
delete d

python:

d="aaa"
print(d)
del d

2.字符串

字符串截取

JavaScript:

//"xxx".substring(开始索引,结束索引但不包括 结束索引 处的字符)
//"xxx".substring(开始索引,截取长度)
var e = "0123456abcdef"
console.log("完整截取:", e.substring(0, e.length));
console.log("完整截取:", e.substr(0, e.length));
console.log("截取012:", e.substring(0, 3));
console.log("截取012:", e.substr(0, 3));
console.log("截取索引为10值:", e[10]);

python:

e="0123456abcdef"
print("完整截取:",e[:-1])
print("截取012:",e[0:3])
print("截取索引为10值:",e[10])

字符串更新

JavaScript:

console.log("更新字符串 :", e.substr(0, 6) + 'hahahhaha!')

python:

print("更新字符串 :", e[:6] + 'hahahhaha!')

英文大小写转换

JavaScript:

console.log("转大写:", e.toUpperCase());
console.log("转小写:", e.toLowerCase());

python:

print("转大写:",e.upper())
print("转小写:",e.lower())

判断是否存在字符

JavaScript:

console.log("正确输出:", e.indexOf("a"))
console.log("错误输出:", e.indexOf("A"))

python:

print("正确输出:","a" in e)
print("错误输出:","A" in e)

输出指定重复数

JavaScript:

console.log("10输出:", new Array(10 + 1).join(e)) //通过将空数组拼接时中间插入字符串

python:

print("10输出:",e*10)

换行输出

JavaScript:

console.log("第一行\n" + 
"第二行\n" +
 "第三行\n");

python:

print('''第一行
第二行
第三行''');

切割字符串

JavaScript:

console.log(e.split(''))
console.log(e.split('a'))

python:

print(list(e))
print(e.split('a'))

4.循环遍历

输出0~99的整数

JavaScript:

for (var o = 0; o < 100; o++) {
    console.log(o)
}

python:

for i in range(0,100):
    print(i)

数组遍历

JavaScript:

var f = ["0", "1", "2", "3", "4", "5", "6", "a", "b", "c", "d", "e", "f"];
for (i in f) {
    console.log("值:" + f[i], "索引" + i);
}
//或使用:
f.forEach(function(v, i) {
    console.log("值:" + v, "索引" + i);
});

python:

#普通遍历
f=["0", "1", "2", "3", "4", "5", "6", "a", "b", "c", "d", "e", "f"]
for i in f:
    print(i)
#含索引
for i,v in enumerate(f):
    print("值:"+v,"索引"+str(i))
#或含索引
for i in range(0,len(f)):
    print("值:" + f[i], "索引" + i)

5.函数

JavaScript:

//空函数
function g0() {}
//带参数与返回值
function g1(v1, v2, v3 = "默认值") {
    return 1;
}
//带参数与返回值或
g2 = function(v1, v2, v3 = "默认值") {
    return 2;
}
//多返回值
function g3(v1, v2, v3 = "默认值") {
    return [1, 2];
}

python:

#空函数
def g0():pass
#带参数与返回值
def g1(v1,v2,v3="默认值"):
    return 1
#多返回值
def g3(v1,v2,v3="默认值"):
    return 1,2

6.集合

JavaScript:

arr=[1,2,3,1,1,1,"ccc","effd","ccc"]
//去除重复
//略.....
//数组拼接
var c=arr.concat([9,10,11] );
//获取长度
console.log(c.length);
//判断是否存在
console.log(c.indexOf(3));
//追加元素
c.push("元素");

python

arr=[1,2,3,1,1,1,"ccc","effd","ccc"]
#去除重复 
print(list(set(arr)) )
#数组拼接
c=ar+[9,10,11] ;
#获取长度
print(len(c))
#判断是否存在
print(3 in c)
#追加元素
c.append("元素");
相关文章
|
3月前
|
JavaScript 前端开发 Python
用python执行js代码:PyExecJS库
文章讲述了如何使用PyExecJS库在Python环境中执行JavaScript代码,并提供了安装指南和示例代码。
144 1
用python执行js代码:PyExecJS库
|
2月前
|
前端开发 JavaScript API
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(二)
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(二)
24 2
|
2月前
|
数据采集 JavaScript 前端开发
JavaScript逆向爬虫——使用Python模拟执行JavaScript
JavaScript逆向爬虫——使用Python模拟执行JavaScript
37 2
|
2月前
|
前端开发 JavaScript API
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(一)
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(一)
27 1
|
3月前
|
JavaScript 前端开发 Python
python执行js代码
本文档详细介绍如何安装Node.js环境及PyExecJS库,并提供示例代码展示其功能。首先,通过指定链接安装Node.js,安装完毕后可在命令行中输入`node --version`来验证安装是否成功。接着,使用`pip install PyExecJS`安装PyExecJS库,该库允许Python程序执行JavaScript代码。文档还提供了多个示例代码,展示了如何在Python环境中执行和编译JavaScript代码,并可以选择特定的JavaScript运行时环境,如Node.js或JScript。最后,通过具体案例展示了PyExecJS的功能与使用方法。
38 3
|
3月前
|
Java Python
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
【9月更文挑战第18天】在 Python 中,虽无明确的 `interface` 关键字,但可通过约定实现类似功能。接口主要规定了需实现的方法,不提供具体实现。抽象基类(ABC)则通过 `@abstractmethod` 装饰器定义抽象方法,子类必须实现这些方法。使用抽象基类可使继承结构更清晰、规范,并确保子类遵循指定的方法实现。然而,其使用应根据实际需求决定,避免过度设计导致代码复杂。
|
3月前
|
Python
全网最适合入门的面向对象编程教程:Python函数方法与接口-函数与方法的区别和lamda匿名函数
【9月更文挑战第15天】在 Python 中,函数与方法有所区别:函数是独立的代码块,可通过函数名直接调用,不依赖特定类或对象;方法则是与类或对象关联的函数,通常在类内部定义并通过对象调用。Lambda 函数是一种简洁的匿名函数定义方式,常用于简单的操作或作为其他函数的参数。根据需求,可选择使用函数、方法或 lambda 函数来实现代码逻辑。
|
2月前
|
数据采集 JavaScript 前端开发
如何使用Python爬虫处理JavaScript动态加载的内容?
如何使用Python爬虫处理JavaScript动态加载的内容?
|
4月前
|
Web App开发 JavaScript 前端开发
使用Python调用JavaScript进行网页自动化操作
使用Python调用JavaScript进行网页自动化操作
|
4月前
|
Web App开发 JavaScript 前端开发
探索Node.js后端开发之旅深入浅出Python装饰器
【8月更文挑战第29天】在数字化时代,掌握一门后端编程语言变得尤为重要。Node.js作为一种基于JavaScript的服务端平台,因其高性能、轻量级的特性而广受欢迎。本文将引导读者了解Node.js的基本概念、核心模块以及如何利用它来构建一个简易的Web服务器。通过本文的学习,你将获得使用Node.js进行后端开发的初步技能,并理解其在现代Web开发中的应用价值。