吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1106|回复: 8
收起左侧

[求助] 为什么在Python中self.bullet_count = 0初始化不起作用

[复制链接]
一只凉不了 发表于 2020-4-30 21:28
class Gun:
    #定义一个叫做Gun的类
    def __init__(self,model):
        #初始化 model和bullet_cunt这两个形参
        self.model = model
        self.bullet_count = 0
    def add_bullet(self,count):
        # 增加子弹数量并给予形参count 进行计算
        self.bullet_count += count
    def shoot(self):

        # 定义发射方法
        if self.bullet_count <= 0:
            print("没有子弹了")
            return
        self.bullet_count -= 1
        print("%s发射子弹,子弹剩余[%d]"%(self.model,self.bullet_count))
#定义一个叫做qiang的对象
qiang =Gun("ak47")
qiang.add_bullet()
qiang.shoot()

报错如下
line 20, in <module>
    qiang.add_bullet()
TypeError: add_bullet() missing 1 required positional argument: 'count'

我在add方法里加入数值0 就正常 空值就报错

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

assdqwe123 发表于 2020-4-30 21:37
add_bullet()方法缺少count参数
Deteriorator 发表于 2020-4-30 21:38
100斤d胖子 发表于 2020-4-30 21:44
qiang =Gun("ak47")
qiang.add_bullet()
倒数第二个函数,你没有传入count值
qiang.add_bullet(1) # count = 1
kesai 发表于 2020-4-30 21:51
add_bullet()没传参数啊,想不传的话需要定义为缺省参数
13593392936 发表于 2020-5-1 12:05
感觉好难学呀
 楼主| 一只凉不了 发表于 2020-5-1 22:20
100斤d胖子 发表于 2020-4-30 21:44
qiang =Gun("ak47")
qiang.add_bullet()
倒数第二个函数,你没有传入count值

我定义初始的参数是0 啊  self.bullet_count = 0
100斤d胖子 发表于 2020-5-4 13:59
本帖最后由 100斤d胖子 于 2020-5-4 14:04 编辑
一只凉不了 发表于 2020-5-1 22:20
我定义初始的参数是0 啊  self.bullet_count = 0

def __init__():
        self.bullet_count = 0
def add_bullet(self,count): # 形参,调用时必须赋值。不想赋值,需要定义缺省值如(self, count = 1)
        self.bullet_count += count
qiang =Gun("ak47")1
qiang.add_bullet() # 这里调用时必须赋值 qiang.add_bullet(1) 等价于 qiang.add_bullet(count = 1)
ymhld 发表于 2020-5-4 14:31
   def add_bullet(self,count=1):
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 16:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表