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() 时,学生说"老师好",老师说"上课了",虽然方法名一样,但表现不同。
相关推荐
四维迁跃1 小时前
如何排查SQL存储过程死锁_分析死锁日志与索引优化
jvm·数据库·python
m0_741173331 小时前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
xcbrand1 小时前
餐饮品牌全案公司哪家可靠
运维·python
2401_846339561 小时前
CSS如何解决Less与CSS兼容性问题_通过配置文件实现平滑过渡与混合开发
jvm·数据库·python
qq_413847401 小时前
CSS如何控制全屏显示的元素样式
jvm·数据库·python
stm32 菜鸟1 小时前
nucleo-f411re学习记录-11,蓝牙模块HC-05
学习
我是发哥哈1 小时前
三款主流AI视频生成模型商用能力对比与选型分析
大数据·人工智能·学习·ai·chatgpt·aigc·音视频
scan7241 小时前
上下文摘要
python
第一程序员1 小时前
2026年GitHub上最火的10个Python项目,Rust开发者必看
python·rust·github