翻译:《面向 JavaScript 开发人员的 Python》第一章:Python基础:从JS到Py
Python基础:从JS到Py
欢迎来到精彩纷呈的 Python 世界!作为一名 JavaScript 开发者,您已经具备了扎实的编程基础。在本课中,我们将探讨 Python 的语法与 JavaScript 的异同,重点介绍它们的相似之处以及 Python 的独特之处。
缩进:Python 的结构基石
Python 的一个显著特点是它使用缩进来定义代码块。与 JavaScript 的花括号不同,Python 依赖于一致的缩进:
# Python
if x > 0:
print("Positive")
if x > 10:
print("Greater than 10")
// JavaScript
if (x > 0) {
console.log('Positive');
if (x > 10) {
console.log('Greater than 10');
}
}
这种基于缩进的结构有助于 Python 获得卓越的可读性,这与 Python 的理念相符,即“应该有一种——最好只有一种——显而易见的方法来做这件事”。
变量和数据类型
Python 和 JavaScript 都是动态类型语言,这意味着你不需要显式声明变量类型:
# Python
x = 5
y = "Hello"
z = [1, 2, 3]
// JavaScript
let x = 5;
let y = 'Hello';
let z = [1, 2, 3];
然而,Python 使用Nonenull 而不是 JavaScript 的 nullnull 来表示值的缺失:
# Python
value = None
// JavaScript
let value = null;
基本运算符
Python 中的许多运算符与 JavaScript 类似:
一个显著的区别是 Python 的//整数除法运算符和**幂运算符,与 JavaScript 的 Math.floor()和Math.pow()运算符不同:
# Python
a = 5 + 3 # 加法
b = 10 - 2 # 减法
c = 4 * 2 # 乘法
d = 16 / 4 # 除法(总是返回浮点数)
e = 17 // 3 # 整数除法
f = 5 ** 2 # 取幂
// JavaScript
let a = 5 + 3; // 加法
let b = 10 - 2; // 减法
let c = 4 * 2; // 乘法
let d = 16 / 4; //除法
let e = Math.floor(17 / 3); // 整数除法
let f = 5 ** 2; // 求幂运算(ES2016+)
打印输出
在 Python 中,我们使用print()函数而不是 JavaScript 的函数console.log():
# Python
print("Hello, World!")
name = "Alice"
age = 30
print(f"My name is {name} and I'm {age} years old.")
Python 的 f 字符串(格式化字符串字面量)类似于 JavaScript 的模板字面量,可以方便地进行变量插值。
// JavaScript
console.log('Hello, World!');
let name = 'Alice';
let age = 30;
console.log(`My name is ${name} and I'm ${age} years old.`);
Python的哲学
Python 的设计理念强调代码的可读性和简洁性。这一点体现在《Python之禅》中,这是一套指导 Python 代码编写的原则。您可以通过import this在 Python 解释器中运行来查看这些原则。
这种理念的一些关键方面包括:
- 显式优于隐式
- 简单胜于复杂
- 可读性很重要
这些原则不仅影响语言设计,还影响 Python 开发人员解决问题的方式。
结论
在本课中,我们初步了解了 Python 的语法及其与 JavaScript 的比较。我们了解了 Python 如何使用缩进来组织代码结构,如何与 JavaScript 共享动态类型,以及它如何提供类似但又各有特色的方式来执行基本操作和输出。
随着学习的深入,你会发现,虽然 Python 和 JavaScript 在概念上有很多相似之处,但 Python 独特的特性和理念为思考和构建代码开辟了新的途径。
在下一课“控制结构和函数”中,我们将深入探讨Python如何处理流程控制和函数定义,并在此基础上继续学习。准备好探索Python在循环、条件语句和函数创建方面的优雅方法吧!
更多推荐


所有评论(0)