变量和赋值
Python 不需要声明变量类型,直接赋值即可
name = "张三" age = 25 height = 1.75 is_student = True
数据类型
基本类型
str_var = "文本" # 字符串 int_var = 42 # 整数 float_var = 3.14 # 浮点数 bool_var = True # 布尔值 (True/False) none_var = None # 空值
列表(list) - 可修改的有序集合
fruits = ["苹果", "香蕉", "橙子"] numbers = [1, 2, 3, 4, 5] mixed = [1, "文本", True, 3.14] # 可以混合类型
元组(tuple) - 不可修改的有序集合
coords = (10, 20) colors = ("红", "绿", "蓝")
字典(dict) - 键值对
person = { "name": "李四", "age": 30, "city": "上海" }
集合(set) - 无序不重复集合
unique_nums = {1, 2, 3, 4, 5}
运算符
算术运算
a = 10 + 5 # 加法 = 15 b = 10 - 5 # 减法 = 5 c = 10 * 5 # 乘法 = 50 d = 10 / 5 # 除法 = 2.0 e = 10 // 3 # 整除 = 3 f = 10 % 3 # 取余 = 1 g = 2 ** 3 # 幂运算 = 8
比较运算
5 == 5 # 等于 = True 5 != 3 # 不等于 = True 5 > 3 # 大于 = True 5 < 3 # 小于 = False 5 >= 5 # 大于等于 = True 5 <= 3 # 小于等于 = False
逻辑运算
True and False # 与 = False True or False # 或 = True not True # 非 = False
字符串
基本操作
# 多种引号方式 str1 = "双引号" str2 = '单引号' str3 = """三引号 可以换行""" # 拼接 full_name = "张" + "三" # "张三" # f-string(推荐) name = "Julien" age = 25 msg = f"我叫{name},今年{age}岁" # "我叫Julien,今年25岁" # 格式化 msg2 = "我叫{},今年{}岁".format(name, age)
常用方法
text = "Hello World" len(text) # 11 (长度) text.lower() # "hello world" text.upper() # "HELLO WORLD" text.strip() # 去除首尾空格 text.replace("H", "h") # "hello World" text.split(" ") # ["Hello", "World"] "World" in text # True (包含检查) text.startswith("H") # True text[0] # "H" (索引) text[0:5] # "Hello" (切片)
列表(List)
基本操作
fruits = ["苹果", "香蕉", "橙子"] # 访问 fruits[0] # "苹果" fruits[-1] # "橙子" (倒数第一个) fruits[0:2] # ["苹果", "香蕉"] (切片) # 添加 fruits.append("葡萄") # 末尾添加 fruits.insert(1, "西瓜") # 指定位置插入 # 删除 fruits.remove("香蕉") # 删除指定元素 fruits.pop() # 删除末尾 fruits.pop(0) # 删除指定索引 # 其他 len(fruits) # 长度 "苹果" in fruits # True (检查是否存在) fruits.sort() # 排序 fruits.reverse() # 反转
字典(Dictionary)
基本操作
user = { "name": "王五", "age": 28, "city": "北京" } # 访问 user["name"] # "王五" user.get("age") # 28 user.get("email", "无") # "无" (不存在时返回默认值) # 修改和添加 user["age"] = 29 # 修改 user["email"] = "wang@example.com" # 添加 # 删除 del user["city"] user.pop("age") # 遍历 for key in user: # 遍历键 print(key, user[key]) for key, value in user.items(): # 遍历键值对 print(key, value) user.keys() # 所有键 user.values() # 所有值
条件语句
if / elif / else
age = 20 if age >= 18: print("成年人") elif age >= 13: print("青少年") else: print("儿童")
三元表达式
status = "成年" if age >= 18 else "未成年"
注意:Python 用缩进表示代码块,通常用 4 个空格
循环
for 循环
# 遍历列表 fruits = ["苹果", "香蕉", "橙子"] for fruit in fruits: print(fruit) # 遍历范围 for i in range(5): # 0, 1, 2, 3, 4 print(i) for i in range(1, 6): # 1, 2, 3, 4, 5 print(i) for i in range(0, 10, 2): # 0, 2, 4, 6, 8 (步长为2) print(i) # 遍历字典 person = {"name": "张三", "age": 25} for key, value in person.items(): print(f"{key}: {value}")
while 循环
i = 0 while i < 5: print(i) i += 1
控制语句
for i in range(10): if i == 3: continue # 跳过当前循环 if i == 7: break # 终止循环 print(i)
函数
定义和调用
def greet(name): return f"你好, {name}" message = greet("Julien") # "你好, Julien"
默认参数
def greet(name="朋友", greeting="你好"): return f"{greeting}, {name}" greet() # "你好, 朋友" greet("李明") # "你好, 李明" greet("李明", "早上好") # "早上好, 李明"
多返回值
def calculate(a, b): return a + b, a - b, a * b sum_val, diff, prod = calculate(10, 5)
Lambda 函数(匿名函数)
add = lambda a, b: a + b result = add(3, 5) # 8 # 常用于 map, filter 等 numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x**2, numbers)) # [1, 4, 9, 16, 25]
列表推导式
简洁创建列表的方法
# 基本形式 squares = [x**2 for x in range(1, 6)] # [1, 4, 9, 16, 25] # 带条件 evens = [x for x in range(10) if x % 2 == 0] # [0, 2, 4, 6, 8] # 字符串处理 words = ["apple", "banana", "cherry"] upper_words = [w.upper() for w in words] # ["APPLE", "BANANA", "CHERRY"]
常用内置函数
# 类型转换 int("123") # 123 float("3.14") # 3.14 str(123) # "123" list("abc") # ["a", "b", "c"] # 数学函数 abs(-5) # 5 (绝对值) max(1, 5, 3) # 5 min(1, 5, 3) # 1 sum([1,2,3,4]) # 10 round(3.7) # 4 (四舍五入) # 其他 len([1,2,3]) # 3 (长度) type(123) # <class 'int'> (类型) range(5) # 0~4 的范围 input("输入:") # 获取用户输入 print("输出") # 打印输出
文件操作
读取文件
# 读取全部内容 with open("file.txt", "r", encoding="utf-8") as f: content = f.read() print(content) # 按行读取 with open("file.txt", "r", encoding="utf-8") as f: for line in f: print(line.strip())
写入文件
# 覆盖写入 with open("file.txt", "w", encoding="utf-8") as f: f.write("Hello World\n") f.write("第二行") # 追加写入 with open("file.txt", "a", encoding="utf-8") as f: f.write("追加内容\n")
异常处理
try: result = 10 / 0 except ZeroDivisionError: print("不能除以零!") except Exception as e: print(f"发生错误: {e}") else: print("没有错误") finally: print("无论如何都会执行")
导入模块
# 导入整个模块 import math print(math.pi) # 3.141592653589793 # 导入特定函数 from math import sqrt, pow print(sqrt(16)) # 4.0 # 导入并重命名 import pandas as pd import numpy as np
常用技巧
多变量赋值
a, b, c = 1, 2, 3 x = y = z = 0
交换变量
a, b = b, a
解包
numbers = [1, 2, 3] a, b, c = numbers
enumerate(带索引遍历)
fruits = ["苹果", "香蕉", "橙子"] for index, fruit in enumerate(fruits): print(f"{index}: {fruit}")
zip(并行遍历)
names = ["张三", "李四", "王五"] ages = [25, 30, 28] for name, age in zip(names, ages): print(f"{name}: {age}岁")
学习建议
- 安装 Python 后,在终端输入
python进入交互式环境练习
- 使用 Jupyter Notebook 或 VS Code 进行学习
- Python 对缩进非常严格,统一使用 4 个空格
- 从基础语法开始,循序渐进
推荐资源
- 多写小程序练手,比如计算器、待办清单等