python基础_017__类—创建类和使用类

本文介绍了Python中的类和对象概念,包括__init__方法的作用,self参数的含义,以及如何通过类创建实例并访问其属性和方法。通过示例展示了如何定义Dog类,创建mydog和my_cat实例,并调用sit()和roll_over()方法。同时,解释了如何通过句点表示法访问实例属性。
摘要由CSDN通过智能技术生成

1、 方法__init__() ,self形参的作用等


#  类中的函数称为方法不在类中的叫函数,在类里面的函数叫方法,之前学的有关函数的一切适用于方法,唯一重要的差别是调用方法的方式
# __init__()是一个特殊的方法,每当你Dog类创建新实例时,Python都会自动运行它
# __init__()里面有3个参数【self, name, age】,这个方法中 self形参是必不可少的而且必须在其它形参的前面
# 为啥必须定义形参self?, 因为Python调用这个方法来创建Dog实例时,将会自动传递实参self,它是一个指向实例本身的引用

# __init__()里面定义的两个变量都有前缀self,以self为前缀的变量可供类中所有方法使用可以通过类的任何实例来访问
# self.name = name 获取与形参name相关联的值,并将其赋给变量name,然后这个变量被关联到当前创建的实例,可以通过实例访问的变量称为属性
# self.age = age 作用同上name

# Dog类中定义了2个方法分别是sit(),roll_over()他们目前不需要传参,所以只定义了形参self,类中的所有方法必须得定义self形参

# 当前Dogs.py 文件中我还定义了一个函数sits(),函数不在类中,所以不用定义形参self

#------------------------------------Dogs.py 文件
class Dog:

    def __init__(self, name, age):
        """ 初始化属性name和age"""
        self.name = name
        self.age = age

    def sit(self):
        """模拟狗狗收到命令蹲下"""
        print(f"{self.name}它已近蹲下了")

    def roll_over(self):
        """模拟狗狗在地上打滚"""
        print(f"{self.name}已近在地上打滚了")


def sits():
    """狗狗收到命令蹲下"""
    print("小狗已近蹲下了")


#--------------------------------------------------------- Dogmanagement.py文件

# from Dogs import *      # 导入 Dogs这个文件中所有的东西
# from Dogs import sits   # 导入 Dogs这个文件中 sits函数  可以直接使用sits()方法

# 导入 Dogs这个文件中的Dog类
from Dogs import Dog

mydog = Dog("小狗", 3)
print(f"我养的狗狗叫{mydog.name},今年{mydog.age}岁了")
# 输出结果:我养的狗狗叫小狗,今年3岁了

mydog.sit()
# 输出结果:小狗它已近蹲下了
mydog.roll_over()
# 输出结果:小狗已近在地上打滚了

my_cat = Dog("喵喵", 1)
my_cat.sit()
# 输出结果:喵喵它已近蹲下了
print(f"我养的猫叫{my_cat.name},今年{my_cat.age}岁了")
# 输出结果:我养的猫叫喵喵,今年1岁了


2、根据类创建实例


# 举例代码处:mydog = Dog("小狗", 3)
# 其中 Dog("小狗", 3)会创建一个小狗特定的实例,然后将实例赋给了变量mydog


2.1 访问属性
# 要访问实例的属性,可以使用句点表示法 :mydog.name/mydog.age  先找到实例mydog再查找该实例关联的属性name/age
# 举例代码处:  print(f"我养的狗狗叫{mydog.name},今年{mydog.age}岁了")


2.2 调用方法
# 举例代码处:
# mydog.sit()
# mydog.roll_over()
# 根据Dog类创建的实列后,就能使用句点表示法来调用Dog类中的任何方法

# 2.4 创建多个实例
# 可按需求根据类创建任意数量的实例,以下创建了2个实例
# mydog = Dog("小狗", 3)
# my_cat = Dog("喵喵", 1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值