Python学习笔记 | 类与对象

本文介绍了Python3中的类(class)和对象(object)概念,详细阐述了如何创建和调用类,包括类的实例化、属性和方法。通过示例说明了`self`参数的重要性以及初始化方法`__init__`的功能,帮助读者理解Python面向对象编程的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于Python3版本的学习。

初识概念:类(class)与对象(object)

生活中我们所说的类,是物以类聚的类,是分门别类的类,是多个类似事物组成的群体的统称。
而在Python中我们所遇到的类(class),比如整数、字符串、浮点数等,不同的数据类型就属于不同的类。准确来说,它们的全名是整数类、字符串类、浮点数类。每一个类之下都包含无数相似的不同个例。

在Python的术语里,我们把类的个例就叫做实例 (instance),可理解为“实际的例子”。
我们可以这么想:类是某个特定的群体,实例是群体中某个具体的个体。

类和实例相当于:群体和个体。

群体里的每个个体都有着相同/相似的特征和行为。

list = [1,2]
# list 为类对象,[1,2] 为实例对象

类的创建和调用

Python里的每个类都有自己独特的属性(attribute)和方法(method),是这个类的所有实例都共享的。换言之,每个实例都可以调用类中所有的属性和方法。

属性: 描述事物是怎样的,有什么特征。
方法: 描述事物能做什么,有哪些行为和作用。

比如列表:
属性有:外层有中括号,元素之间用英文逗号隔开。
方法有:都可以做增删改操作(如 append、del等)。

类的创建

先来看一个创建电脑类的示例代码:

class Computer:
    screen = True

    def start(self):
        print('电脑正在开机中……')

代码解释:
class Computer: 类的创建:class + 类 + 英文冒号。
screen = True 类的属性创建:通过赋值语句(即定义“是怎样的”)。
def start(self): 实例方法的创建:def + 方法名(self)。
print(‘电脑正在开机中……’) 方法具体执行过程:即定义“能做什么”。

实例方法的创建语句,和函数的定义语句很类似。
唯一不同的是:实例方法中有个必须放在首位的参数self

再看一个代码:

# 类名首字母大写
class Chinese:
    # 用赋值语句,创建类的属性:眼睛是黑色的
    eye = 'black'

    # 创建实例方法时,不要漏了 self,实现功能:打印出'吃饭,选择用筷子。'
    def eat(self):
        print('吃饭,选择用筷子。')
类的调用:类的实例化

类的实例化,即在某个类下创建一个实例对象。

class Computer:
    screen = True

    def start(self):
        print('电脑正在开机中……')

my_computer = Computer()
print(my_computer.screen)
my_computer.start()

上述代码,类的调用的关键在:my_computer = Computer()。

类的实例化
语法:实例名 = 类名()
意义:我们有了一个实例,一个“可调用所属类的所有属性和方法”的实例。

类的调用
语法:
实例名.属性 :my_computer.screen

实例名.方法 :my_computer.start()

再看下代码:

class Chinese:      # 创建一个类
    eye = 'black'

    def eat(self):
        print('吃饭,选择用筷子。')

wufeng = Chinese()   # 类的实例化
print(wufeng.eye)   # 实例调用类属性
wufeng.eat()  # 调用类中的方法(传参不用管self)

类的创建和调用的步骤:
创建一个类 —— 类的实例化 —— 用实例调用类的属性和方法。

类的创建:class 语句
类的属性创建:赋值语句
实例方法的创建:def method1(self):

类的实例化:实例名 = 类名()
调用类的属性:实例名.属性
调用类的方法:实例名.方法()

创建类的两个关键点

特殊参数:self

特殊参数self的作用:self会接收实例化过程中传入的数据,当实例对象创建后,实例便会代替 self,在代码中运行。

class Chinese:

    def greeting(self):
        print('很高兴遇见你')

    def say(self):
        self.greeting() 
        print('我来自中国')

person = Chinese()
# 创建实例person
person.say()
# 调用say()方法

我们需要记住两点:
第一点: 只要在类中用 def 创建方法时,就必须把第一个参数位置留给 self,并在调用方法时忽略它(不用给self传参)。
第二点: 当在类的方法 内部 想调用类属性或其他方法时,就要采用self.属性名或self.方法名的格式。

特殊方法:初始化方法

定义初始化方法的格式:def __ init __(self)

由init加左右两边的 下划线组成( initialize “初始化”的缩写)。

初始化方法的作用在于:当每个实例对象创建时,该方法内的代码无须调用就会自动运行。

class Chinese:
    def __init__ (self): # 无须调用就会自动运行
        self.mouth = 1  # self.不能丢
        self.eye = 2
    
    def body(self):
        print('我有%s张嘴巴' % self.mouth)
        print('我有%s只眼睛' % self.eye)

person = Chinese()
person.body() 

运行结果:

我有1张嘴巴
我有2只眼睛

初始化参数一般会用来执行一些默认操作,比如参数赋值,这样当调用类的时候,则默认执行初始化函数,不用手动调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值