LLM大模型-基础篇-Python基础
·
目录:
1、Python 基本特点
2、Python基础语法结构
3、Python 数据类型分类
4、Python函数
5、Python面向对象
1. Python 基本特点
- 解释型语言:逐行执行,不需要编译。
- 缩进表示代码块(而不是
{})。 - 动态类型:变量不需要声明类型。
- 跨平台:支持 Windows、Mac、Linux。
2. 基础语法结构
2.1 输出与输入
print("Hello, Python!") # 输出
name = input("请输入你的名字:") # 输入
print("你好,", name)
2.2 变量与数据类型
# 变量命名:字母、数字、下划线,不能以数字开头
x = 10 # 整数 int
y = 3.14 # 浮点数 float
name = "Tom" # 字符串 str
is_ok = True # 布尔值 bool
2.3 数据类型转换
int("123") # 转为整数
float("3.14") # 转为浮点数
str(100) # 转为字符串
2.4 运算符
# 算术运算
a + b # 加
a - b # 减
a * b # 乘
a / b # 除(浮点)
a // b # 整除
a % b # 取余
a ** b # 幂
# 比较运算
a == b
a != b
a > b
a < b
a >= b
a <= b
# 逻辑运算
and, or, not
2.5 条件语句
age = 18
if age >= 18:
print("成年人")
elif age >= 13:
print("青少年")
else:
print("儿童")
2.6 循环
# for 循环
for i in range(5): # 0~4
print(i)
# while 循环
count = 0
while count < 5:
print(count)
count += 1
2.7 列表、元组、字典、集合
# 列表 list
nums = [1, 2, 3]
nums.append(4)
print(nums[0])
# 元组 tuple(不可变)
t = (1, 2, 3)
# 字典 dict
person = {"name": "Tom", "age": 20}
print(person["name"])
# 集合 set(去重)
s = {1, 2, 3, 3}
2.8 函数
def greet(name):
return f"Hello, {name}"
print(greet("Alice"))
2.9 模块与导入
import math
print(math.sqrt(16))
from math import pi
print(pi)
3.Python 数据类型分类
3.1 Python 中的数据类型可以分为 基本类型 和 容器类型:
| 类型类别 | 数据类型 | 示例 |
|---|---|---|
| 数值类型 | int(整数)、float(浮点数)、complex(复数) | 10, 3.14, 2+3j |
| 布尔类型 | bool | True, False |
| 字符串类型 | str | "Hello" |
| 容器类型 | list(列表)、tuple(元组)、dict(字典)、set(集合) | [1,2], (1,2), {"a":1}, {1,2} |
| 特殊类型 | NoneType | None |
3.2 数值类型
3.2.1 整数 int
a = 10
b = -5
print(type(a)) # <class 'int'>
3.2.2 浮点数 float
pi = 3.14159
print(type(pi)) # <class 'float'>
3.2.3 复数 complex
z = 2 + 3j
print(z.real, z.imag) # 实部 2.0, 虚部 3.0
3.3 布尔类型 bool
is_ok = True
is_fail = False
print(3 > 2) # True
3.4 字符串 str
s = "Hello"
print(s[0]) # H
print(s.lower()) # hello
print(s.upper()) # HELLO
print(s[1:4]) # ell
3.5 容器类型
3.5.1 列表 list(可变)
nums = [1, 2, 3]
nums.append(4)
nums[0] = 10
print(nums) # [10, 2, 3, 4]
3.5.2 元组 tuple(不可变)
t = (1, 2, 3)
print(t[0]) # 1
3.5.3 字典 dict(键值对)
person = {"name": "Tom", "age": 20}
print(person["name"]) # Tom
person["age"] = 21
3.5.4 集合 set(无序、去重)
s = {1, 2, 2, 3}
print(s) # {1, 2, 3}
3.6 特殊类型 NoneType
x = None
print(type(x)) # <class 'NoneType'>
3.7 类型转换
int("123") # 123
float("3.14") # 3.14
str(100) # "100"
list("abc") # ['a', 'b', 'c']
tuple([1, 2]) # (1, 2)
set([1, 1, 2]) # {1, 2}
4. 函数的定义与调用
# 定义一个函数 greet,接收一个参数 name
def greet(name):
"""打招呼函数""" # 文档字符串,用于说明函数的作用
return f"Hello, {name}" # 返回一个字符串
# 调用函数,并传入参数 "Alice"
print(greet("Alice")) # 输出:Hello, Alice
4.1 位置参数
# 定义一个加法函数,接收两个位置参数 a 和 b
def add(a, b):
return a + b # 返回 a 和 b 的和
print(add(3, 5)) # 输出:8
4.2 默认参数
# 定义一个打招呼函数,name 默认值为 "Tom"
def greet(name="Tom"):
print(f"Hello, {name}")
greet() # 没有传参,使用默认值,输出:Hello, Tom
greet("Alice") # 传入参数 "Alice",输出:Hello, Alice
4.3 可变参数
# *args:接收任意数量的位置参数,存储为元组
def sum_all(*args):
return sum(args) # sum() 计算所有参数的和
print(sum_all(1, 2, 3)) # 输出:6
# **kwargs:接收任意数量的关键字参数,存储为字典
def show_info(**kwargs):
print(kwargs) # 直接打印字典
show_info(name="Tom", age=20) # 输出:{'name': 'Tom', 'age': 20}
4.4 返回多个值
# 定义一个函数,返回加法和减法的结果
def calc(a, b):
return a + b, a - b # 返回一个元组 (加法结果, 减法结果)
result = calc(5, 3) # 接收元组
print(result) # 输出:(8, 2)
# 也可以用解包的方式接收多个返回值
sum_, diff = calc(5, 3)
print(sum_, diff) # 输出:8 2
4.5 变量作用域
x = 10 # 全局变量
def test():
global x # 声明要修改全局变量 x
x = 20 # 修改全局变量
y = 5 # 局部变量,只能在函数内部使用
print(y) # 输出局部变量 y
test() # 调用函数
print(x) # 输出修改后的全局变量 20
4.6 匿名函数(lambda)
# 定义一个匿名函数,计算平方
square = lambda x: x ** 2
print(square(5)) # 输出:25
# 使用 lambda 配合 map() 对列表中每个元素乘 2
nums = [1, 2, 3]
print(list(map(lambda n: n * 2, nums))) # 输出:[2, 4, 6]
4.7 文档字符串(Docstring)
# 定义函数并添加文档字符串
def greet(name):
"""这个函数用来打招呼"""
return f"Hello, {name}"
# 访问函数的文档字符串
print(greet.__doc__) # 输出:这个函数用来打招呼
5 Python面向对象
5.1 定义类与创建对象
# 定义一个类 Person
class Person:
# 构造方法(初始化对象时自动调用)
# self 代表当前对象本身
def __init__(self, name, age):
self.name = name # 实例属性 name
self.age = age # 实例属性 age
# 定义一个实例方法
def say_hello(self):
# 使用 self 访问实例属性
print(f"你好,我是 {self.name},今年 {self.age} 岁。")
# 创建对象(实例化类)
p1 = Person("Tom", 20) # 调用 __init__ 方法
p1.say_hello() # 调用实例方法
5.2 类属性与实例属性
class Dog:
species = "犬科" # 类属性(所有对象共享)
def __init__(self, name):
self.name = name # 实例属性(每个对象独立)
# 创建两个对象
dog1 = Dog("小黑")
dog2 = Dog("小白")
# 类属性:所有对象共享同一个值
print(dog1.species) # 输出:犬科
print(dog2.species) # 输出:犬科
# 实例属性:每个对象独立
print(dog1.name) # 输出:小黑
print(dog2.name) # 输出:小白
5.3 方法类型
class MyClass:
# 实例方法(第一个参数必须是 self)
def instance_method(self):
print("这是实例方法(需要对象调用)")
# 类方法(第一个参数是 cls,表示类本身)
@classmethod
def class_method(cls):
print("这是类方法(可以用类名调用)")
# 静态方法(不需要 self 或 cls)
@staticmethod
def static_method():
print("这是静态方法(与类无关的工具方法)")
# 创建对象
obj = MyClass()
# 调用实例方法(必须用对象调用)
obj.instance_method()
# 调用类方法(类名或对象都可以调用)
MyClass.class_method()
obj.class_method()
# 调用静态方法(类名或对象都可以调用)
MyClass.static_method()
obj.static_method()
5.4 封装(访问控制)
class Account:
def __init__(self, owner, balance):
self.owner = owner
self.__balance = balance # 私有属性(前面加 __)
# 公共方法:存钱
def deposit(self, amount):
self.__balance += amount
# 公共方法:获取余额
def get_balance(self):
return self.__balance
# 创建账户对象
acc = Account("Tom", 1000)
acc.deposit(500) # 存钱
print(acc.get_balance()) # 输出:1500
# print(acc.__balance) # ❌ 会报错(私有属性不能直接访问)
5.5 继承
# 定义父类
class Animal:
def speak(self):
print("动物发出声音")
# 定义子类 Dog,继承 Animal
class Dog(Animal):
def speak(self):
print("汪汪汪") # 重写父类方法
# 定义子类 Cat,继承 Animal
class Cat(Animal):
def speak(self):
print("喵喵喵") # 重写父类方法
# 创建对象并调用方法
dog = Dog()
cat = Cat()
dog.speak() # 输出:汪汪汪
cat.speak() # 输出:喵喵喵
5.6 多态
# 定义一个函数,接收任意 Animal 类型的对象
def animal_speak(animal):
animal.speak() # 调用对象的 speak 方法
# 传入不同的对象,表现不同
animal_speak(Dog()) # 输出:汪汪汪
animal_speak(Cat()) # 输出:喵喵喵
5.7 特殊方法(魔术方法)
class Person:
def __init__(self, name):
self.name = name
# __str__ 方法:定义对象被 print() 时的显示内容
def __str__(self):
return f"Person: {self.name}"
# 创建对象
p = Person("Tom")
print(p) # 输出:Person: Tom
5.8 总结
- 类 是模板,对象 是实例。
- self 代表对象本身,cls 代表类本身。
- 封装 用私有属性保护数据。
- 继承 让子类复用父类代码。
- 多态 让同一接口适配不同对象。
- 魔术方法 可以自定义对象的行为(如
__str__、__init__)。
更多推荐



所有评论(0)