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





一、类的定义和使用




1、类定义


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

class 类名:
	类的属性成员
	类的函数成员
  • 类声明 : Python 中 使用 class 关键字 定义类 , class 关键字后是 类名称 , 之后是冒号 ,
  • 类成员 : 类的属性和方法class 类名: 下面的行 , 有 4 空格缩进 ;
    • 类的属性成员 就 是 在类 中定义的 成员变量 ;
    • 类的函数成员 就 是 在类 中定义的 成员方法 ;

2、创建类对象


创建 Python 类实例对象 语法 :

实例对象 = 类名()




二、类的成员方法




1、类成员方法简介


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

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


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


2、类成员方法定义语法


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

类成员方法定语语法 :

def 方法名(self, 形参1, 形参2, ... , 形参n)
	方法体

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

self 表示 类实例对象 自身 ;

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

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


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

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


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 参数 ;


代码示例 :

"""
面向对象 代码示例
"""


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()

执行结果 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
姓名 : Tom , 年龄 : 18

Process finished with exit code 0

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/han1202012/article/details/131568063