【全栈之路】10 天掌握 Python 开发(2)变量

96 阅读3分钟

变量的定义和赋值

Python 与 JavaScript 一样,是动态类型语言,在赋值之前不需要声明变量的类型。

任务

定义三个变量:name(字符串)、age(整数)和is_student(布尔值),为这些变量分配适当的值并将它们打印到控制台。

JavaScript 实现

let name = "John";
let age = 25;
let isStudent = true;

console.log(name);
console.log(age);
console.log(isStudent);

Python 实现

name = "John"
age = 25
is_student = True

print(name)
print(age)
print(is_student)

代码解读

  • Python 和 JavaScript 都使用单等号 = 进行赋值。
  • Python 不需要在语句的末尾使用分号,而 JavaScript 需要。

:::tip JavaScript 代码到底加不加分号? 分号对 JavaScript 来说是必要的,而对开发者来说却并不是必须的,因为解释器会自动补全分号 :::

差异速览

特性JavaScriptPython
声明变量关键字var let-
声明变量不赋值var variableName;-
变量赋值variableName = value;variableName = value
常量声明const constantName = value;CONSTANT_NAME = value

:::tip Python 中没有常量的概念,Python 默认约定使用全部大写字母和下划线组合进行命名的变量为不可变的变量,开发者应该遵守这种约定,不要对它们的值进行修改 :::

相关资源


变量命名规则

为了防止写出 “JavaScript 味” 的 Python 代码,我们需要了解 Python 中的变量命名规则和约定。

命名约定

以下是JavaScript 和 Python 都需要遵循的命名规则:

  • 变量名必须以字母或下划线(_)开头。
  • 变量名只能包含字母、数字和下划线(_)。
  • 避免使用保留关键字或内置函数名作为变量名。

命名规则只是在语法上让代码能运行起来,而遵循适当的命名约定是衡量代码可读性的重要标准。 在 Python 中,除了 变量名和函数名单词之间应使用下划线(_)分隔,使用小写字母 之外,其它的命名约定与 JavaScript 一样。

以下是它们之间的异同:

名称JavaScriptPython
变量名userNameuser_name
类名UserPermissionUserPermission
函数名getByIdget_by_id
常量名DEFAULT_LOGO_URLDEFAULT_LOGO_URL

不能使用的变量名

在 JavaScript 中,我们常常使用 str 变量名表示一个字符串。

const str = '123'

而在 Python 中,str 是一个内置函数,用于将值转换为字符串类型。在 Python 中,如果使用 str 作为变量名将会覆盖该内置函数,在复杂的系统中,这可能导致无法预料的执行结果。

阅读如下 Python 代码:

print(str(123)) # 将整数 123 转换为字符串
str = '123' # 覆盖内置函数 str
print(str(123)) # TypeError: 'str' object is not callable

该代码在执行过程中会抛出异常,因为 str 现在是字符串类型。

Python 中的内置函数还有很多,下表中列出的是一些常容易让 JavaScript 工程师当做 Python 变量名的内置函数名称,在编写 Python 代码时应避免使用它们。

内置函数作用
str将对象转换为字符串
dict创建字典对象
list创建列表对象
set创建集合对象
tuple创建元组对象
int将对象转换为整数
float将对象转换为浮点数
bool将对象转换为布尔值
len返回对象的长度
print将对象打印到控制台

你可以 点击这里 查看 Python 中的全部内置函数。

:::tip 如果你使用 PyCharm IDE 编写 Python 代码,当使用了内置函数作为变量名时,变量名下方会有下划线警告。 :::

相关资源


本书的内容完全免费,开源地址:github.com/luckrnx09/p…