前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Python】面向对象 ② ( 类的定义和使用 | 类的成员方法 | 类成员方法定义语法 | self 关键字 )

【Python】面向对象 ② ( 类的定义和使用 | 类的成员方法 | 类成员方法定义语法 | self 关键字 )

作者头像
韩曙亮
发布于 2023-10-11 11:23:11
发布于 2023-10-11 11:23:11
57500
代码可运行
举报
运行总次数:0
代码可运行

一、类的定义和使用

1、类定义

类的定义语法 : Python 中 定义类的语法 如下 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class 类名:
	类的属性成员
	类的函数成员
  • 类声明 : Python 中 使用 class 关键字 定义类 , class 关键字后是 类名称 , 之后是冒号 ,
  • 类成员 : 类的属性和方法 在 class 类名: 下面的行 , 有 4 空格缩进 ;
    • 类的属性成员 就 是 在类 中定义的 成员变量 ;
    • 类的函数成员 就 是 在类 中定义的 成员方法 ;

2、创建类对象

创建 Python 类实例对象 语法 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
实例对象 = 类名()

二、类的成员方法

1、类成员方法简介

类 中 定义的 属性 , 是 成员变量 , 用于记录数据 ;

类 中 定义的 函数 , 是 成员方法 , 用于记录行为 ;

类的成员方法 , 就是 在 类 中定义的 函数 , 在该 函数 中 , 可以调用 类的成员变量 , 以及 本类中其它的成员方法 ;

2、类成员方法定义语法

类成员方法定义 与 普通方法 定义 类似 , 除了 参数列表第一个必须是 self 之外 , 其它都一样 ;

类成员方法定语语法 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def 方法名(self, 形参1, 形参2, ... , 形参n)
	方法体

类成员方法的第一个参数必须是 self 关键字 ;

self 表示 类实例对象 自身 ;

当使用 类实例对象 调用方法时 , self 会被自动传入该方法 , 不需要开发者手动传入参数 ;

在 类 成员方法内部 , 可以通过 self 访问类的成员变量 ;

self 只是写在 成员方法定义 的位置 , 在实际调用时 , 实参不传入这个参数 ;

如 : print 函数 , 第一个参数也是 self , 但是实际调用该函数打印数据时 , 直接传入 args 参数即可 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
    """
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
    
    将值打印到流或sys。默认为标准输出。
	可选关键字参数:
	File:类文件对象();默认为当前的sys.stdout。
	Sep:值之间插入的字符串,默认为空格。
	结束:最后一个值后面附加的字符串,默认为换行符。
	Flush:是否强制刷新流。
    """
    pass

三、代码示例 - 类的成员方法


类的成员方法 , 如果没有参数 , 只需要定义一个 self 参数即可 ,

如 : 定义 def info(self): 函数 , 调用该函数时 , 可以使用 s.info() 函数 , 实参不传入任何参数 , 系统自动传入本对象作为 self 参数 ;

代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
面向对象 代码示例
"""


class Student:
    name = None  # 姓名
    age = None  # 年龄

    def info(self):
        print(f"姓名 : {self.name} , 年龄 : {self.age}")


s = Student()
s.name = "Tom"
s.age = 18
s.info()

执行结果 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
姓名 : Tom , 年龄 : 18

Process finished with exit code 0
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、类的定义和使用
    • 1、类定义
    • 2、创建类对象
  • 二、类的成员方法
    • 1、类成员方法简介
    • 2、类成员方法定义语法
  • 三、代码示例 - 类的成员方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档