Python 基本语法指南
Python 基本语法指南
目录
基本概念
注释
# 单行注释
"""
多行注释
可以写多行内容
"""
'''
也可以用单引号
'''
缩进
if True:
print("缩进很重要")
print("必须保持一致的缩进")
变量与数据类型
变量定义
# 变量不需要声明类型
name = "张三"
age = 25
height = 1.75
is_student = True
基本数据类型
# 数字类型
integer_num = 10 # 整数
float_num = 3.14 # 浮点数
complex_num = 1 + 2j # 复数
# 字符串
string = "Hello"
string2 = 'World'
string3 = """多行字符串"""
# 布尔值
boolean = True
boolean2 = False
# None类型
none_value = None
运算符
算术运算符
# 基本运算符
a = 10
b = 3
print(a + b) # 加法
print(a - b) # 减法
print(a * b) # 乘法
print(a / b) # 除法
print(a // b) # 整除
print(a % b) # 取余
print(a ** b) # 幂运算
比较运算符
# 比较运算符
a = 10
b = 20
print(a == b) # 等于
print(a != b) # 不等于
print(a > b) # 大于
print(a < b) # 小于
print(a >= b) # 大于等于
print(a <= b) # 小于等于
逻辑运算符
# 逻辑运算符
a = True
b = False
print(a and b) # 与
print(a or b) # 或
print(not a) # 非
控制结构
条件语句
# if语句
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
else:
print("需要努力")
# 嵌套条件
age = 20
if age >= 18:
if age >= 60:
print("退休年龄")
else:
print("成年人")
循环语句
# for循环
for i in range(5):
print(i)
# while循环
count = 0
while count < 5:
print(count)
count += 1
# break和continue
for i in range(10):
if i == 5:
break # 跳出循环
if i % 2 == 0:
continue # 跳过当前迭代
print(i)
数据结构
列表(List)
# 创建列表
fruits = ["苹果", "香蕉", "橙子"]
numbers = [1, 2, 3, 4, 5]
# 访问元素
print(fruits[0]) # 第一个元素
print(fruits[-1]) # 最后一个元素
# 列表操作
fruits.append("葡萄") # 添加元素
fruits.remove("香蕉") # 删除元素
print(len(fruits)) # 获取长度
print(fruits[1:3]) # 切片操作
元组(Tuple)
# 创建元组
coordinates = (10, 20)
rgb_color = (255, 128, 0)
# 元组特性(不可变)
# coordinates[0] = 15 # 这会报错
字典(Dictionary)
# 创建字典
person = {
"name": "张三",
"age": 25,
"city": "北京"
}
# 访问和修改
print(person["name"]) # 张三
person["age"] = 26 # 修改值
# 字典方法
keys = person.keys() # 获取键
values = person.values() # 获取值
items = person.items() # 获取键值对
集合(Set)
# 创建集合
unique_numbers = {1, 2, 3, 4, 5}
colors = {"红色", "蓝色", "绿色"}
# 集合运算
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 & set2) # 交集: {3}
print(set1 | set2) # 并集: {1, 2, 3, 4, 5}
# 集合操作
unique_numbers.add(6) # 添加元素
unique_numbers.remove(3) # 删除元素
函数
定义函数
# 基本函数
def greet(name):
return f"你好, {name}!"
# 带默认参数的函数
def introduce(name, age=18):
return f"我是{name}, 今年{age}岁"
# 可变参数函数
def sum_all(*numbers):
total = 0
for num in numbers:
total += num
return total
# 关键字参数
def create_profile(**info):
return info
# 调用函数
print(greet("李四"))
print(introduce("王五"))
print(sum_all(1, 2, 3, 4))
print(create_profile(name="赵六", age=20, city="上海"))
Lambda 函数
# 简单的匿名函数
square = lambda x: x ** 2
print(square(5)) # 输出: 25
# 常用于高阶函数
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared) # 输出: [1, 4, 9, 16, 25]
模块与包
导入模块
# 导入整个模块
import math
print(math.sqrt(16))
# 导入特定函数
from math import sqrt, pi
print(sqrt(16))
print(pi)
# 导入所有函数(不推荐)
from math import *
# 重命名导入
import numpy as np
创建自己的模块
# my_module.py
def hello():
return "Hello from module!"
def add(a, b):
return a + b
# main.py
import my_module
print(my_module.hello())
面向对象编程
类的定义
class Person:
# 类变量
species = "人类"
# 构造函数
def __init__(self, name, age):
self.name = name # 实例变量
self.age = age
# 方法
def introduce(self):
return f"我是{self.name},今年{self.age}岁"
def __str__(self):
return f"Person(name='{self.name}', age={self.age})"
# 创建对象
person1 = Person("张三", 25)
person2 = Person("李四", 30)
print(person1.introduce())
print(str(person1))
继承
class Student(Person):
def __init__(self, name, age, school):
super().__init__(name, age) # 调用父类构造函数
self.school = school
def study(self):
return f"{self.name}正在{self.school}学习"
student = Student("王五", 20, "大学")
print(student.introduce())
print(student.study())
文件操作
读取文件
# 读取整个文件
with open('file.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)
# 逐行读取
with open('file.txt', 'r', encoding='utf-8') as file:
for line in file:
print(line.strip()) # strip()去除换行符
# 读取所有行
with open('file.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
写入文件
# 写入文本
with open('output.txt', 'w', encoding='utf-8') as file:
file.write("Hello World!\n")
file.write("这是第二行\n")
# 追加写入
with open('output.txt', 'a', encoding='utf-8') as file:
file.write("追加的内容\n")
异常处理
基本异常处理
try:
number = int(input("请输入一个数字: "))
result = 10 / number
print(f"结果是: {result}")
except ValueError:
print("输入的不是有效数字!")
except ZeroDivisionError:
print("不能除以零!")
except Exception as e:
print(f"发生错误: {e}")
else:
print("没有发生异常")
finally:
print("总是会执行的代码")
自定义异常
class CustomError(Exception):
def __init__(self, message):
self.message = message
super().__init__(self.message)
def divide(a, b):
if b == 0:
raise CustomError("除数不能为零!")
return a / b
try:
result = divide(10, 0)
except CustomError as e:
print(f"自定义错误: {e}")
Python 特性小结
列表推导式
# 简单列表推导式
squares = [x**2 for x in range(5)]
print(squares) # [0, 1, 4, 9, 16]
# 带条件的列表推导式
even_squares = [x**2 for x in range(10) if x % 2 == 0]
print(even_squares) # [0, 4, 16, 36, 64]
字典推导式
# 字典推导式
squares_dict = {x: x**2 for x in range(5)}
print(squares_dict) # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
集合推导式
# 集合推导式
unique_chars = {char for char in "hello"}
print(unique_chars) # {'e', 'h', 'o', 'l'}
常用内置函数
数值函数
# 数值相关函数
numbers = [1, 2, 3, 4, 5]
print(max(numbers)) # 最大值
print(min(numbers)) # 最小值
print(sum(numbers)) # 求和
print(abs(-5)) # 绝对值
print(round(3.14159, 2)) # 四舍五入
序列函数
# 序列相关函数
fruits = ["苹果", "香蕉", "橙子"]
print(len(fruits)) # 长度
print(sorted(fruits)) # 排序
print(reversed(fruits)) # 反转
类型转换函数
# 类型转换
num_str = "123"
num_int = int(num_str)
num_float = float("3.14")
str_list = ["1", "2", "3"]
int_list = [int(x) for x in str_list]
print(type(num_int)) # <class 'int'>
print(type(str_list)) # <class 'list'>
实用技巧
字符串操作
# 字符串常用方法
text = "Hello World"
print(text.upper()) # 转大写
print(text.lower()) # 转小写
print(text.strip()) # 去除空白
print(text.replace("World", "Python")) # 替换
print(text.split(" ")) # 分割
列表操作技巧
# 列表常用操作
numbers = [1, 2, 3, 4, 5]
# 复制列表
copy_numbers = numbers.copy()
copy_numbers = numbers[:] # 切片复制
# 扩展列表
numbers.extend([6, 7])
numbers += [8, 9] # 等价于extend
# 查找元素
index = numbers.index(3) # 获取索引
count = numbers.count(3) # 计数
文件处理最佳实践
# 安全的文件读取
def read_file_safe(filename):
try:
with open(filename, 'r', encoding='utf-8') as file:
return file.read()
except FileNotFoundError:
print(f"文件 {filename} 不存在")
return None
except Exception as e:
print(f"读取文件时出错: {e}")
return None
# 转换为列表
def read_file_lines(filename):
try:
with open(filename, 'r', encoding='utf-8') as file:
return [line.strip() for line in file.readlines()]
except Exception as e:
print(f"读取文件时出错: {e}")
return []
这个完整的Python教程涵盖了编程的基础知识和进阶用法,适合初学者快速入门和进阶学习。通过实践这些代码示例,可以更好地理解和掌握Python编程的各个方面。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 山山
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果