好的!下面是一篇针对准备转型的开发人员(比如从 Java/C/C++/Go 等语言转到 Python)的Day 1 学习博客文章,内容自然通俗,带有代码与逐行解释,适合作为你专栏中的第 1 篇入门文章。
如果你之前是 Java、C++、Go 开发出身,肯定对编程逻辑不陌生,但刚接触 Python 时也可能会被它 “太灵活” 的语法搞得有点懵。
别急,这篇文章用一整天的时间,帮你从变量、流程控制、函数、列表推导,一步步构建起“Python 编程大脑模型”,写出符合 Python 风格的代码。
name = "Alice"
age = 30
height = 1.68
is_admin = True
Python 是动态类型语言,不需要你写 int age = 30
这样的定义,它会自动推断类型。
类型 | 示例 | 特点 |
---|---|---|
int |
10 |
整数,无大小限制 |
float |
3.14 |
小数 |
str |
"Hello" |
字符串,可用 ' 或 " |
bool |
True / False |
布尔值 |
list |
[1, 2, 3] |
有序、可变 |
tuple |
(1, 2, 3) |
有序、不可变 |
dict |
{"name": "Tom"} |
键值对 |
set |
{1, 2, 3} |
无序、唯一值集合 |
name = "Alice"
greeting = f"Hello, {name}"
print(greeting)
fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
print(fruits[0]) # apple
person = {"name": "Tom", "age": 30}
print(person["name"])
point = (3, 4)
x, y = point
unique_nums = set([1, 2, 2, 3])
print(unique_nums) # {1, 2, 3}
score = 85
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")
注意:
for i in range(3): # 0, 1, 2
print(f"第{i+1}次循环")
count = 0
while count < 3:
print("还没结束")
count += 1
# break 示例
for i in range(5):
if i == 3:
break
print(i) # 打印 0 1 2
# continue 示例
for i in range(5):
if i == 3:
continue
print(i) # 打印 0 1 2 4
for i in range(1, 5):
print(i) # 输出 1 2 3 4
解读:
range(1, 5)
表示生成从 1 到 4 的整数序列(不包含 5);
for i in range(...)
是 Python 中最常用的循环方式;
输出结果为:
1
2
3
4
names = ["Alice", "Bob"]
scores = [90, 85]
for name, score in zip(names, scores):
print(name, score)
解读:
zip(names, scores)
会将两个列表按位置一一配对,返回一个由 (name, score)
组成的迭代器;
这种方式常用于成对处理多个列表的元素;
输出结果为:
Alice 90
Bob 85
for idx, name in enumerate(names):
print(f"{idx+1}. {name}")
解读:
enumerate(names)
会将列表中的每个元素与其索引(默认从 0 开始)打包成 (index, value)
;
用 idx + 1
是为了让显示的编号从 1 开始,更符合人类阅读习惯;
输出结果为:
1. Alice
2. Bob
函数 | 用途 | 示例 |
---|---|---|
range(start, end) |
生成整数序列(不含 end) | 遍历索引、循环次数 |
zip(list1, list2) |
并行遍历多个序列 | 名称 + 成绩、键值对处理 |
enumerate(iterable) |
获取索引和值 | 列表编号输出、位置标注 |
def greet(name):
return f"你好,{name}"
def
定义函数,冒号 :
后面是缩进体return
msg = greet("小明")
print(msg) # 输出:你好,小明
def greet(name="Guest"):
return f"Hello, {name}"
*args
用于传入不定数量的位置参数def add_all(*args):
return sum(args)
调用示例:
print(add_all(1, 2, 3)) # 输出 6
print(add_all(10, 20)) # 输出 30
解读:
*args
把传入的所有参数打包成一个元组 (1, 2, 3)
。sum()
对其进行聚合处理。**kwargs
用于接收任意命名参数def print_info(**kwargs):
for k, v in kwargs.items():
print(f"{k}: {v}")
调用示例:
print_info(name="Tom", age=30, job="Engineer")
输出:
name: Tom
age: 30
job: Engineer
如果你之前用 Java 写过 map/filter,这个你会很喜欢:
nums = [1, 2, 3, 4]
squares = []
for n in nums:
squares.append(n * n)
squares = [n * n for n in nums]
还能加条件:
even_squares = [n * n for n in nums if n % 2 == 0]
age = 20
status = "adult" if age >= 18 else "child"
模拟一个输入员工姓名和小时工资,输出总工资的小程序:
def calculate_salary(name, hours, rate):
total = hours * rate
print(f"{name} 的本月工资是:¥{total}")
# 示例调用
calculate_salary("小李", 160, 50)
# 输出:小李 的本月工资是:¥8000
你今天学到了什么 | |
---|---|
✅ 变量声明和基本类型 | str, int, list, dict, set |
✅ 流程控制 | if、for、while、break、continue 、range、zip、enumerate |
✅ 函数定义与调用 | 参数、返回值、缩进语法 |
✅ Pythonic 写法 | 列表推导式、格式化字符串 |
✅ 实战能力 | 能写简单的输入→计算→输出的逻辑 |