Python学习笔记二(函数、类与对象)

Python学习笔记二

函数

  • 定义与调用
python 复制代码
def 函数名(参数列表):
    # 函数体:执行的具体代码
    # ...
    return 返回值

def greet(name): # 定义一个打招呼的函数
    """向指定的人打招呼"""
    print(f"Hello, {name}!")

# 调用函数(必须调用才会执行)
greet("Alice")  # 输出: Hello, Alice!
greet("Bob")    # 输出: Hello, Bob!

def compute(x, y):
    return x + y, x - y  # 可以返回两个值

sum_val, diff_val = compute(10, 4)
print(sum_val)  # 14
print(diff_val) # 6

类与对象

类定义了这类事物"有什么"(属性)和"能做什么"(方法)

在类中定义的函数叫做方法

类是一个概念、一个分类,比如"汽车"这个分类,它定义了所有汽车共有的特征(比如颜色、品牌、有车轮)和行为(能启动、能刹车)

对象是根据类这个蓝图创造出来的具体实例

类 = 一张"汽车设计图纸"(本身不能开,但规定了汽车的构造)

对象 = 根据图纸生产出来的一辆辆具体的汽车

  • 定义类:类中最特殊且最重要的方法是 init,它被称为初始化方法(或构造函数)。当你创建一个新对象时,Python 会自动调用这个方法,用来给对象"初始化"属性
  • 理解 self:self 代表"对象自己",在类的方法中,第一个参数必须是 self。
    它的作用是告诉 Python:"我要操作的是当前这个对象的属性,而不是别的对象的。"
python 复制代码
class Student: # 学生类,描述学生的基本信息
	school = "Python大学"
	def _init_(self,name,age):
		self.name = name
		self.age = age
	
	def introduce(self):
		return "大家好,我叫{self.name},今年{self.age},来自{Student.school}。"

# 创建对象,实例化
stu1 = Student("小明",18)
stu2 = Student("小红",19)

print(stu1.name)
print(Student.school)

print(stu1.introduce()) # 调用对象的方法
print(stu2.introduce())

school是类属性,所有该类的对象共享同一个类属性,修改后所有对象的值都会改变

实例属性(在_init_方法中),以self开头,属于具体的对象

  • 特性:
    1、封装:把数据(属性)和操作数据的方法"打包"在一起,对外隐藏内部细节
    2、继承:子类可以继承父类的属性和方法,实现代码复用
    例如定义一个通用的 User 类(有名字、电话),然后创建 Student 类和 Teacher 类继承它。学生和老师都有名字和电话,不需要重复写代码。
    3、多态:不同的对象,可以用相同的方式调用。
    例如Student 和 Teacher 都有一个 speak() 方法。当你调用 person.speak() 时,学生说"老师好",老师说"上课了",虽然方法名一样,但表现不同。
相关推荐
吃饱了得干活27 分钟前
别再手动解析 LLM 输出了!LangChain 四种结构化输出方案对比
后端·python·langchain
治愈系贝壳29 分钟前
ARM --- day 6 时钟
linux·arm开发·学习
ikun_文31 分钟前
Python进阶—函数编程
python·pycharm
MC皮蛋侠客35 分钟前
uv 系列(三):依赖、锁文件与环境同步——可重复构建的核心
python·uv
量化吞吐机37 分钟前
2026年交易想法转Python,中间先补规则转译
人工智能·python
用户2986985301439 分钟前
Python 实现 Excel 与 Markdown 互转的实用指南
后端·python·excel
决战灬43 分钟前
langgraph之interrupt(事例篇)
人工智能·python·agent
依然范特东1 小时前
强化学习笔记2--bellman equation
人工智能·笔记
IPdodo_1 小时前
Codex 总是 Reconnecting?从 401 到响应流中断的排查方法
python·requests
京和动物医院·总院1 小时前
2026年未央区宠物医院:如何挑选最适合您爱宠的健康守护者
大数据·人工智能·python