python基础(6)

本文详细探讨了Python编程语言的基础知识,包括语法、数据类型、控制结构、函数使用以及错误处理等方面,旨在帮助初学者深入掌握Python编程基础。

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

'''面向对象编程
关键词:  面向过程    面向对象   类   方法 
            对象   都是  类  里的

类:   定义类=定义函数   class 类名(object):    其实就是python中提供的函数    类名:大驼峰(建议)
        # 一个函数定义在模块内 叫做函数     # 一个函数定义在类中 就叫做方法     方法:又叫  对象方法   或者  实例方法

创建对象:  看下边的格式
添加属性: 赋值  和   获取信息: 调用方法

魔法方法:   只要创建  对象 = 类()   魔法方法自动执行,添加先设定好的内容
__init__格式:    def __init__(self):
                    
                    # 给对象添加属性并赋值
                    self.name = "旺财"
                    self.age = 5
                    self.color = "白色"

'''
init向类class中传入参数   格式:见001    1.在__init__(self,后边写入形参)   2.在调用  对象=类(填入实参)
说明: 不同对象的属性不同,各自有不同的id保存         ,但是实例方法相同(走,跑,跳等行为),它们的保存id相同
    3.__init__方法print变量结果是位置

魔法方法:__str__  用于 显示__init__添加的默认属性
1.有__str__方法的class,print结果就不是变量位置了,是变量信息
2.__str__必须用return来接收

类的文档说明,就是注释  print(Hero.__doc__)    用__doc__函数  : 类名.__doc__


魔法方法:错误:__del__ 用于    ??    __init__的信息             完全删除内存上的变量需要  del(变量名)
正确:__del__只有在变量引用计数为0的时候自动执行   作用:释放这段变量对应的内存
    del +变量名 是删除的 (减少) 变量的引用计数

# 格式001
# class Hero(object):
#     def __init__(self,name,skill,hp,mp): # 注意位置01 name,hp,skill,mp
#         self.name = name              # self的应用广泛
#         self.hp = hp
#         self.skill = skill
#         self.mp = mp
#     def xinxi(self):
#         print('%s的血量是:%s'% (self.name,self.hp))     # 注意位置03 保证参数传入一一对应
#         print('%s的技能是:%d'% (self.name,self.skill))
#         print('%s的血量是:%d'% (self.name,self.mp))
# gailun = Hero('盖伦',1000,'无情打击',200)  # 注意位置02 具体参数传入位置
# # gailun = Hero()  # 魔法方法中有形参,调用必须填入实参
# gailun.xinxi()
# print(gailun)  # gailun是变量默认打印内存中的位置<__main__.Hero object at 0x10217aa20>

# __str__方法
# class Hero(object):
#     def __init__(self,name,hp,skill,mp):
#         self.name = name
#         self.hp = hp
#         self.skill = skill
#         self.mp = mp
#     # def xinxi(self):
#     #     print('%s的血量是:%s'% (self.name,self.hp))
#     #     print('%s的技能是:%d'% (self.name,self.skill))
#     #     print('%s的血量是:%d'% (self.name,self.mp))
#     def __str__(self):
#         # print('%s的血量是:%d' % (self.name, self.hp))   # 报错:__str__型需要return来接收
#         # print('%s的技能是:%s'% (self.name,self.skill))
#         # print('%s的血量是:%d'% (self.name,self.mp))
#         return '英雄:%s,血量:%d,技能:%s,蓝量:%d' % (self.name,self.hp,self.skill,self.mp)  # self的广泛应用
#
# gailun = Hero('盖伦',1000,'无情打击',200)
# print(gailun)  # 有__str__方法的class,print结果就不是变量位置了,是变量信息


# __del__方法
# class Hero(object):
#     def __init__(self, name):
#         # print('__init__方法被调用')
#         self.name = name
#
#
#     def __del__(self):
#         # print("__del__方法被调用")
#         print("%s 被 GM 干掉了..." % self.name)
#
#
#
#     def __str__(self):
#         return '英雄:%s'% self.name
#
#
# taidamier = Hero("泰达米尔")
# # print(taidamier)
# # del(taidamier)
# print(taidamier)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值