🐍 前端开发0基础学Python 入门指南:变量篇
从 JavaScript 到 Python,让我们一起探索 Python 中的变量世界!
📝 一、Python 中的变量定义
1.1 基本变量定义
在 Python 中,定义变量非常简单,不需要使用关键字,直接赋值即可:
# 定义字符串变量
name = "张三"
greeting = '你好,世界!'
# 定义数字变量
age = 25
price = 99.99
# 定义布尔值
is_student = True
is_working = False
# 定义空值
result = None
1.2 Python 变量类型
| 类型 | Python 类型 | 说明 | 示例 |
|---|---|---|---|
| 整数 | int | 存放整数,如 -1, 10, 0 等 | count = 100 |
| 浮点数 | float | 存放小数,如 -3.14, 6.66 | pi = 3.14 |
| 布尔值 | bool | True/False,注意首字母大写 | is_active = True |
| 字符串 | str | 用引号引起来的数据,单引号双引号都可以 | name = "Python" |
| 空值 | NoneType | 表示空值,使用 None | result = None |
| 列表 | list | 类似 JS 的数组,使用方括号 | nums = [1, 2, 3] |
| 字典 | dict | 类似 JS 的对象,使用花括号 | user = {"name": "王"} |
1.3 类型检查
# 使用 type() 函数查看变量类型
num = 10
print(type(num)) # <class 'int'>
name = "Python"
print(type(name)) # <class 'str'>
is_true = True
print(type(is_true)) # <class 'bool'>
注意: Python 是动态类型语言,变量的类型由值决定,和 JavaScript 一样!
🔄 二、输入与输出
2.1 输出 - print()
Python 使用 print() 函数输出内容,类似 JavaScript 的 console.log():
# 基本输出
print("Hello, Python!")
# 输出多个值(用逗号分隔,自动添加空格)
name = "小明"
age = 20
print("姓名:", name, "年龄:", age)
# 输出: 姓名: 小明 年龄: 20
# 使用 f-string 格式化输出(推荐,Python 3.6+)
print(f"我叫{name},今年{age}岁")
# 输出: 我叫小明,今年20岁
# 使用 format() 方法
print("我叫{},今年{}岁".format(name, age))
# 控制输出不换行
print("第一行", end=" ")
print("第二行")
# 输出: 第一行 第二行
2.2 输入 - input()
Python 使用 input() 函数获取用户输入:
# 获取用户输入(返回的是字符串)
name = input("请输入你的姓名:")
print(f"你好,{name}!")
# 获取数字输入(需要类型转换)
age = input("请输入你的年龄:")
age = int(age) # 转换为整数
print(f"你今年{age}岁")
# 一步到位
age = int(input("请输入你的年龄:"))
score = float(input("请输入你的分数:"))
重要提示: input() 函数总是返回字符串类型,需要手动转换为数字!
🆚 三、Python vs JavaScript:变量的区别
3.1 变量声明
| 特性 | JavaScript | Python |
|---|---|---|
| 声明关键字 | var, let, const | 无需关键字,直接赋值 |
| 变量命名 | 驼峰命名法(看个人习惯) userName | 下划线命名法 user_name |
| 常量 | const PI = 3.14 | 约定大写 PI = 3.14 |
| 类型声明 | 不需要(动态类型) | 不需要(动态类型) |
// JavaScript
let name = '张三'
const age = 25
var isStudent = true
# Python
name = "张三"
age = 25
is_student = True
3.2 布尔值差异
| 特性 | JavaScript | Python |
|---|---|---|
| 布尔值 | true, false | True, False(首字母大写) |
| 空值 | null, undefined | None(首字母大写) |
| 真值判断 | 0, "", null, false | 0, "", None, False, [], {} |
// JavaScript
let isActive = true
let result = null
# Python
is_active = True # 注意大写
result = None # 注意大写
3.3 输出对比
// JavaScript
console.log('Hello, World!')
console.log('年龄:', age)
console.log(`我叫${name},今年${age}岁`) // 模板字符串
# Python
print("Hello, World!")
print("年龄:", age)
print(f"我叫{name},今年{age}岁") # f-string(类似模板字符串)
3.4 输入对比
// JavaScript(浏览器环境)
let name = prompt('请输入你的姓名:')
console.log('你好,' + name)
# Python
name = input("请输入你的姓名:")
print(f"你好,{name}")
3.5 类型转换对比
// JavaScript
let age = '25'
let num = Number(age) // 或 parseInt(age)
let str = String(123)
let bool = Boolean(1)
# Python
age = "25"
num = int(age) # 转整数
num_float = float(age) # 转浮点数
str_val = str(123) # 转字符串
bool_val = bool(1) # 转布尔值
3.6 变量作用域
// JavaScript - 块级作用域
if (true) {
let x = 10 // 块级作用域
}
// console.log(x); // 报错:x未定义
# Python - 函数作用域
if True:
x = 10 # 不是块级作用域
print(x) # 可以访问,输出:10
关键区别: Python 没有块级作用域(if/for 等),只有函数作用域!
💡 实战练习
创建一个简单的用户信息收集程序:
# 用户信息收集
print("=== 用户信息登记系统 ===")
# 输入
name = input("请输入姓名:")
age = int(input("请输入年龄:"))
city = input("请输入城市:")
is_student = input("是否是学生?(yes/no):") == "yes"
# 输出
print("\n=== 信息确认 ===")
print(f"姓名:{name}")
print(f"年龄:{age}岁")
print(f"城市:{city}")
print(f"学生身份:{'是' if is_student else '否'}")
print(f"变量类型:{type(name)}, {type(age)}, {type(is_student)}")
📚 总结
- Python 变量定义超简单:不需要
var/let/const,直接赋值 - 命名习惯不同:Python 用
snake_case,JS 用camelCase - 注意大小写:
True/False/None首字母都要大写 - 输出用 print():功能类似
console.log() - 输入用 input():记得转换类型!
- 动态类型:都是动态类型语言,灵活但需注意类型转换
- 作用域不同:Python 没有块级作用域,只有函数作用域
本文适合前端开发者快速入门 Python,通过对比 JavaScript 来理解 Python 的变量机制。