Python如何编写一个简单的类

文章目录

一个简单的类

语法

class 类名:定义类
init :构造方法,初始化对象属性

self:代表当前对象本身,必须写在第一个参数

对象.属性 / 对象.方法():调用属性和方法

简单示例

python 复制代码
# 定义人类类
class Person:
    # 初始化方法,创建对象自动调用
    def __init__(self, name, age):
        # 实例属性
        self.name = name
        self.age = age

    # 实例方法
    def say_hello(self):
        print(f"大家好,我是{self.name},今年{self.age}岁")

# 创建对象(实例化)
p1 = Person("小明", 18)
p2 = Person("小红", 20)

# 调用类的方法
p1.say_hello()
p2.say_hello()

# 直接访问属性
print(p1.name)
print(p2.age)

类后带括号

有时会遇到声明类带括号的代码:

python 复制代码
class Dog():

实际上这两种写法完全一样。

python 复制代码
class Dog:
class Dog():

class Dog(): 老式写法,默认继承 object。

class Dog: 现代简洁写法,Python3 自动继承 object。

但是继承别的类时,必须加括号。

python 复制代码
class Animal:
    pass

class Dog(Animal): # 必须括号,写父类
    pass
相关推荐
江华森15 分钟前
exp01_Python_数据类型
开发语言·python
希冀12320 分钟前
【JavaScript】Javascript—JS进阶—Day03
开发语言·javascript·原型模式
gugucoding34 分钟前
28. 【C语言】通用数据操作:`void *` 与类型无关编程
c语言·开发语言
大鱼>34 分钟前
模型可解释性:特征重要性/SHAP/LIME
人工智能·python·机器学习·lstm
曹牧36 分钟前
XML 解析过程中遇到 `org.xml.sax.SAXParseException
java·开发语言
代码不接地40 分钟前
【时间序列预测】0.时间序列任务知识地图
python·ai编程
光影少年1 小时前
RN 架构:JS层、原生桥接层、原生渲染层 通信原理
开发语言·javascript·架构
ALex_zry1 小时前
C++26 std::inplace_vector 详解:零堆分配的定容向量
开发语言·c++
许彰午1 小时前
77_Python数据清洗实战技巧
开发语言·python